]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi: Fix ordering and use pxref rather than xref.
[grub2.git] / ChangeLog
CommitLineData
bca274b4
VS
12013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4
238f0489
VS
52013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
8 divmod64 for offset division.
9
863c590b
PFS
102013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
11
12 Rename .bzrignore to .gitignore. Add "*.o" rule.
13
14 * .bzrignore: Renamed to...
15 * .gitignore: ...this.
16
84a0e969
PFS
172013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
18
19 Add new progress module that displays the load progress of files.
20
21 * grub-core/lib/progress.c: New file.
22 * grub-core/Makefile.core.def (progress): New module.
23 * grub-core/kern/file.c (grub_file_open): File name added.
24 * (grub_file_read): Progress hook added.
25 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
26 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
27 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
28 * include/grub/file.h (struct grub_file): Add progress module members.
29 * include/grub/term.h (struct grub_term_output): Likewise.
30 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
31 Terminal velocity added.
32 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
33 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
34 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
35 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
36 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
37 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
38 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
39 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
40 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
41 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
42 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
43 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
44
0d711431
VS
452013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
46
47 Verify signatures of signatures unless --skip-sig is specified.
48
f8401f76
VS
492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
52 \0 checking.
53
54 Saves 70 bytes on compressed image.
55
ac1feb61
VS
562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
59 check.
60
61 Saves 10 bytes on compressed image.
62
00f72e89
VS
632013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/kern/misc.c (grub_isprint): Move to ...
66 * include/grub/misc.h (grub_isprint): ... here. Make inline.
67
68 Saves 20 bytes on compressed image due to remving exporting.
69
067e6ae7
VS
702013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
73
74 Saves 5 bytes on compressed image.
75
64a6c791
VS
762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
79 function get_utf8.
80
81 Saves 379 bytes on compressed image.
82
979d9f52
VS
832013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
86
1437da54
VS
872013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
90
91 Saves 40 bytes on compressed image.
92
d9ee2269
VS
932013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
96 mask rather than 64-bit type.
97
98 Saves 20 bytes on compressed image.
99
63efa602
VS
1002013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
103 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
104
47601ffe
VS
105 Saves 273 bytes on compressed image.
106
2cc679ad
VS
1072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
110 variable length arrays.
111
112 Saves 50 bytes on compressed image.
113
2e4659b8
VS
1142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
117
2a40badf
VS
1182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/fs/ufs.c: Remove variable length arrays.
121
1ba6b9b9
VS
1222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
125
f3e39341
VS
1262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/fs/zfs.c: Remove variable length arrays.
129 Reduces zfs.mod by 160 bytes (208 compressed).
130
71523935
VS
1312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
134
28153eb8
VS
1352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/net/arp.c: Remove variable length arrays.
138 * grub-core/net/bootp.c: Likewise.
139 * grub-core/net/dns.c: Likewise.
140 * grub-core/net/icmp6.c: Likewise.
141 * grub-core/net/net.c: Likewise.
142
88ce4cd7
VS
1432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/fs/ntfs.c: Remove variable length arrays.
146 Increases ntfs.mod by 64 bytes (but decreases by 3 when
147 compressed).
148
66123940
VS
1492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/fs/hfs.c: Remove variable length arrays.
152 Reduces hfs.mod by 8 bytes (52 compressed).
153
0927e5bd
VS
1542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 157 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
158 compressed).
159
9c12ac97
VS
1602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 163 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
164 compressed).
165
97ec2d71
VS
1662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 169 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
170 compressed).
171
156e4ea0
VS
1722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/fs/xfs.c: Remove variable length arrays.
175 Reduces xfs.mod by 40 bytes (43 compressed).
176
3b502c29
VS
1772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/fs/fshelp.c: Remove variable length arrays.
180 Reduces fshelp.mod by 116 bytes (23 compressed).
181
c7037f1d
VS
1822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/normal/completion.c: Remove variable length arrays.
185 * grub-core/normal/menu_entry.c: Likewise.
186
187 Reduces normal.mod by 496 bytes.
188
a07e6ad0
VS
1892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
192 by 356 bytes (158 compressed).
193
2359bf88
VS
1942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
197 by 364 bytes (169 compressed).
198
d28e1163
VS
1992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
202 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
203 * include/grub/types.h (grub_unaligned_uint64_t): New type.
204
e89c2d48
VS
2052013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
208 bitmasks to small structures of size chosen to fit in registers.
209
7abdac8e
VS
2102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * conf/Makefile.common: Use -freg-struct-return on i386. This
213 decreases code size and improves performance.
214
518864c0
VS
2152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
218
bbd2b539
VS
2192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
222 "(null)" string.
223 Simplify expressions to save around 256 bytes in kernel.img.
224 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
225
99519c15
VS
2262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
229 Use GRUB_UTIL_FD_O_* rather than O_*.
230
20285765
VS
2312013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
232
233 Add haiku-specific functions.
234
887c0bb6
VS
2352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
238
cd78a56f
VS
2392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Move stat () and device mode checking into OS-dependent files as
242 long as performance doesn't suffer.
243
a4012f07
VS
2442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Split make_system_path_relative_to_its_root into separate file
247 relpath.c from getroot.c as it's common between unix and haiku
248 but otherwise haiku doesn't use any functions from unix getroot.c.
249
31de274d
VS
2502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
253 New function.
254 (grub_util_is_special_file): Likewise.
255
40346de6
VS
2562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
259 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
260
d3923ab9
VS
2612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
264 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
265
663f6eb1
VS
2662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
269 (load_image): Likewise.
270
44d1c20a
VS
2712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * util/grub-render-label.c: Move backend part to ...
274 * util/render-label.c: ... here.
275
d0a116ee
VS
2762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
279 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
280
b47fcae6
VS
2812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
284
0f7c00c1
VS
2852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
288 CD-ROM in case when it's declared as having subpartitions.
289
29013cba
VS
2902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Don't add -lm on haiku.
293
294 * configure.ac: Define BUILD_LIBM to -lm on most platforms
295 and empty on haiku.
296 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
297 -lm.
298
e8559d24
VS
2992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * configure.ac: Use -melf_*_haiku as target on haiku.
302
8104063c
VS
3032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * Makefile.util.def: Add util/setup.c to extra_dist.
306
fc3182c7
VS
3072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
310 unknown types through.
311
f90a3cc0
VS
3122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
315 (grub_util_check_char_device): Likewise.
316 * include/grub/emu/getroot.h: Likewise.
317
1e3e7419
VS
3182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
321 memset rather than inline static function.
322
92c88fc8
VS
3232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
326 not doing embedded decompressor.
327
3cd910a2
VS
3282013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
331 shadowing.
332 * grub-core/kern/disk.c: Likewise.
333 * grub-core/kern/misc.c: Likewise.
334 * include/grub/parser.h: Likewise.
335 * include/grub/script_sh.h: Likewise.
336 * include/grub/zfs/zfs.h: Likewise.
337
7b3aca00
VS
3382013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
341
97dfe7e4
VS
3422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
345 defined before trying to use it.
346
bf919aa9
VS
3472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
350 warning.
351
f4ccf29d
VS
3522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
355 Use __unused__ rather than __used__ on gcc < 3.2.
356
0d3a6f85
VS
3572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
360 gcc < 4.0.
361 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
362
757e3eb7
VS
3632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
366
fb320faf
VS
3672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
370 * include/grub/emu/misc.h: Likewise.
371
ea73acd2
VS
3722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
375 cur_color.
376
71237a6f
VT
3772013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
378
379 * grub-core/tests/checksums.h: Regenerated due to progress bar
380 get_minimal_size changes.
381
3d46c22f
BC
3822013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
383
384 Added `tr' command support.
385
386 * grub-core/commands/tr.c: New file.
387 * grub-core/Makefile.core.def: Build rules for new module.
388
389 * tests/grub_cmd_tr.in: New test.
390 * Makefile.util.def: Build rules for new test.
391
47e0a61f
VT
3922013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
393
394 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
395
946fd073
VT
3962013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
397
398 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
399 * docs/gurb.texi: Likewise.
400
9c13c576
VT
4012013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
402
403 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
404 Pixmap highlighted section with east and west slices was displayed
405 incorrectly due to negative width of the central slice.
406
ad543f12
VT
4072013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
408
409 * docs/grub.texi: Graphical options information update.
410 Removed outdated. Updated current. Inserted missed.
411
6176a0cd
VS
4122013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * docs/grub.texi: Mention few new platform-specific commands.
415
9688cae2
VS
4162013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
419 currently used so this doesn't really have any effect.
420 Reported by: Douglas Ray <dougray>
421
8154884d
VS
4222013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * util/grub-mkstandalone.in: Remove needless copying since we already
425 pass the files to tar.
426
f7b69a3f
VS
4272013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
430 compilation but prevents gcc from displaying messages in non-Latin
431 alphabets.
432 * conf/Makefile.common: Likewise.
433
ceca6ddf
HY
4342013-10-16 Hiroyuki YAMAMORI
435
436 Handle Japanese special keys.
437 Reported by: Hiroyuki YAMAMORI.
438 Codes supplied by: Hiroyuki YAMAMORI.
439
ac48d334
VT
4402013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
441
442 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
443
b2b71bff
VT
4442013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
445
446 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
447 * docs/grub.texi: Likewise.
448
669fc449
VS
4492013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
452 value in case of incomplete read.
453 (grub_util_fd_write): Likewise.
454
59381678
VS
4552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
458
bacfefbb
VS
4592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * util/grub-editenv.c (create_envblk_file): More from here ...
462 * util/editenv.c (grub_util_create_envblk_file): ... to here.
463
f7c49570
VS
4642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
467 canonicalize file name before doing the rest.
468
7b83ca44
VS
4692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
472 mingw32.
473
df1e64c9
VS
4742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
475
476 Define grub_util_is_directory/regular/special_file and
477 use OS-dependent versions rather than to rely on stat().
478
ec16e026
VS
4792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * util/grub-mkimage.c: Move backend part to ...
482 * util/mkimage.c: ... here.
483
4b4eeb3c
VS
4842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Allow compilation with mingw64 albeit with warnings due to lack of
487 %llx/%llu.
488
489 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
490 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
491 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
492 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
493 on mingw64.
494 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
495
f4e0adc0
VS
4962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Remove leftover references to some of the system headers.
499
e0127364
VS
5002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
503 read.
504
20d53541
VS
5052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
508 of strerror.
509
5a869940
VS
5102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Split out blocklist retrieving from setup.c to
513 grub-core/osdep/blocklist.c and add windows implementation since
514 generic version doesn't work on NTFS on Windows due to aggressive
515 unflushable cache.
516
c06c7520
VS
5172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
518
519 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
520 files.
521
8f53bb3f
VS
5222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
525 Cut tailing newline. Remove arbitrary limitation. Always use
526 grub_util_tchar_to_utf8.
527
148f1007
VS
5282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
531 * tests/printf_unit_test.c (printf_test): Add %% tests.
532 Reported by: Paulo Flabiano Smorigo.
533
af3b06be
VS
5342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
537 implement fsync.
538
27f9d02e
VS
5392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * configure.ac: Check for nvlist_lookup_string in nvpair since we
542 use nvlist_lookup_string and don't use nvlist_print.
543
f6a81f0a
VS
5442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Add wrappers around rename, unlink, mkdir, opendir, readdir and
547 closedir to handle filename charset translation.
548
d7750b32
VS
5492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * include/grub/emu/hostdisk.h: Move file operations to
552 * include/grub/emu/hostfile.h: ... here.
553
2859196e
VS
5542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
557 unicode path.
558
c018c968
VS
5592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
562
7e45abce
VS
5632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
566 and remove export.h.
567
23934da2
VS
5682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/kern/emu/error.c: Removed.
571 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
572 explicitly as it's already in libgnu.a.
573
c11ebcc8
VS
5742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
577 config-util.h include.
578
70671037
VS
5792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Split emunet into platform-dependent and GRUB-binding parts. Keep
582 platform-dependent part in kernel for easy access to OS functions.
583
25ac643a
VS
5842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
587 open/read/write.
588
69ca5876
VS
5892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/osdep/windows/emuconsole.c: New file.
592
d9d68ef0
AB
5932013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
594
595 * conf/Makefile.extra-dist: Add osdep/*/init.c
596
58e211cc
VS
5972013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
600
588744d0
VS
6012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub-probe.c (probe): Separate different drives in hint-str
604 by spaces and not newlines.
605 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
606
44016e52
AB
6072013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
608
609 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
610 Handle CD-ROMs.
611
6de9ee86
VS
6122013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
613
614 Pass-through unknown E820 types. It required reorganisation of mmap
615 module.
616
f8f3f155
AB
6172013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
618
619 * Makefile.util.def: Add osdep/init.c to grub-mount files.
620
b73249d2
VS
6212013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
624 fseeko.
625
dac86b18 6262013-10-14 qwertial <qwertial>
627
628 * grub-core/gdb_grub.in: Fix overflow and wrong field.
629
17614b84
JM
6302013-10-14 Jon McCune <jonmccune@google.com>
631
632 * docs/grub.texi: Document new signatures possibility.
633
6de292cb
VS
6342013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
637
84379b61
VS
6382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
641 missing prototype.
642 (grub_util_tchar_to_utf8): Likewise.
643
21d85db1
VS
6442013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
647 * grub-core/kern/emu/main.c: Add missing include.
648 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
649 Don't call grub_util_init_nls.
650 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
651 Likewise.
652
66a1b3ee
VS
6532013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
656 stat.
657
e19bec17
VS
6582013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
661
ee8c1b29
VS
6622013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
665
bb338aaf
VS
6662013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
667
668 Add a wrapper for fopen. On unix-like systems just pass-through. On
669 windows use unicode version.
670
ae5540d3
VS
6712013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Move set_program_name and init_nls to host_init. On windows
674 fix in this fuction console and argument charset as well.
675
4cd3c4fe
AB
6762013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
677
678 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
679 GRUB_ENABLE_CRYPTODISK.
680
681 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
682 GRUB_ENABLE_CRYPTODISK.
683 * util/grub-mkconfig_lib.in: Likewise.
684
78170f3e
CCZ
6852013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
686
687 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
688
3414b6c0
MC
6892013-10-12 Melki Christian <Christian.melki@saabgroup.com>
690
691 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
692 error when enabling debug.
693
6d0740e8
IB
6942013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
695
696 * configure.ac: Use -melf_*_obsd on openbsd.
697
ff2d4dc4
VS
6982013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
701
eac6ae82
VS
7022013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * include/grub/misc.h: Use gnu_printf rather than printf as format
705 template since our functions are independent of libc.
706
ba9baabe
VS
7072013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * util/grub-setup.c (setup): Move copying of partition table as
710 futher up as possible to avoid possible overwrite by floppy routines.
711
7122013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
713
714 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
715
145e2369
VT
7162013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
717
718 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
719 * docs/grub.texi: Likewise.
720
3530bc9d
VS
7212013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
724 it's mostly unused. Move vestiges to the callers.
725
fb9f59c3
VS
7262013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
729 version of salt and hash. Use grub_snprintf rather than snprintf.
730
9be1c255
VS
7312013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * docs/grub.texi: Fix problem with braces.
734
ed8c0887
VS
7352013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * conf/Makefile.extra-dist: Fix extra-dist list.
738 * grub-core/Makefile.core.def: Likewise.
739
f72ab14e
VS
7402013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * docs/grub.texi: Document disk names used on Windows and AROS.
743
2fe53a22
VS
7442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
747 with AROS devs.
748 * grub-core/osdep/aros/hostdisk.c: Likewise.
749
71c1d67a
VS
7502013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Avoid including hostfile.h when not necessarry as it pulls
753 in OS-specific headers which may redefine generic names
754 like "far".
755
ad297ec7
VT
7562013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
757
758 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
759 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
760 scrollbar_bottom_pad
761 * docs/grub.texi: Likewise.
762
6e9e5dc9
VT
7632013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
764
765 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
766
761c718b
VS
7672013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
770
37149a2f
VS
7712013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
774 Removed.
775 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
776 Made static.
777
3837a151
VS
7782013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
781 leftover.
782
caca1c70
VS
7832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Move OS-specific driver configuration to grub_util_fd_open. This
786 moves OS-dependent parts from kern/emu/hostdisk.c to
787 grub-core/osdep/*/hostdisk.c.
788
f7676b70
VS
7892013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * util/grub-mkimage.c (generate_image): Use size_t instead of
792 grub_size_t.
793 * util/grub-mkimagexx.c (locate_sections): Likewise.
794 (load_image): Likewise.
795
22f98db2
VS
7962013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
799 size_t.
800 (grub_util_write_image): Likewise.
801
b102ce69
VS
8022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
805 get random when no RNG is available.
806 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
807
acbbe5cb
VS
8082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * include/grub/util/lvm.h: Removed.
811
2112fb3f
VS
8122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
815 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
816
79f78fbf
VS
8172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/osdep/windows/sleep.c: Add missing config.h.
820
c2e6f705
VS
8212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
824
aabe433a
VS
8252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/net/drivers/emu/emunet.c: Move to ..
828 * grub-core/osdep/linux/emunet.c: ..here.
829
9a2c903f
VS
8302013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/ieee1275/ofpath.c: Move to ...
833 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
834 * grub-core/osdep/basic/ofpath.c: ..here.
835
4a445f58
VS
8362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Move password-querying (util-version) routines to grub-core/osdep.
839
c1ca4244
VS
8402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Move sleep routines to grub-core/osdep.
843
672fa55e
VS
8442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
845
846 Move OS-dependent files to grub-core/osdep and document it.
847
a5b0365a
VS
8482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
851 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
852
29072e99
VS
8532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
856
f8772ea7
VS
8572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * util/misc.c: Remove leftover inclusion of malloc.h.
860
a1a315e7
VS
8612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * include/grub/setjmp.h: Remove leftover GRUBOF.
864
cef86fef
VS
8652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/raid.c: Fold into ...
868 * util/getroot_linux.c: ... here. Make all functions static.
869
c4cf25ee
VS
8702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
873 macros to GRUB ones.
874
53a5f5c2
VT
8752013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
876
877 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
878 occasional bug. If there are too many boot entries or too low
879 scrollbar height then we need to use another formula to calculate
880 the position and size of the scrollbar thumb.
881
de300af2
VS
8822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
883
c4cf25ee 884 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 885
c5827364
VT
8862013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
887
888 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
889 * docs/grub.texi: Likewise.
890
dd2ed8b0
VT
8912013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
892
893 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
894 viewport.
895
7286c384
VT
8962013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
897
ffdfc1f3
VT
898 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
899 minimal width calculations.
7286c384 900
ea547e14
VS
9012013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * docs/grub.texi: Update note on colors on emu console.
904
b726be76
VS
9052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
908 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
909 it's FS and not GRUB limitation.
910
a5f6ade6
VS
9112013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
914
3b0f3aa2
VS
9152013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
918
1db38304
ST
9192013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
920
921 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
922 kernels by version order.
923
fb295fc0
VS
9242013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
927
47345010
VS
9282013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Add AROS hostdisk and getroot routines.
931
bf25f879
VS
9322013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
933
934 Make cryptodisk and diskfilter probe data retrievable programmatically
935 and not just printable.
936
24ca4512
VS
9372013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
938
939 Split random retrieving code into separate files.
940
c7c177f0
VS
9412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
944 R_ARM_V4BX.
945
d71b45ae
VS
9462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
949 condition.
950 * grub-core/tests/fake_input.c: Likewise.
951 * grub-core/tests/cmdline_cat_test.c: Likewise.
952
e44b9a83
VS
9532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/video/capture.c: Do not do finalization when .fini
956 is called as there is explicit capture_end.
957
4fa60739
VS
9582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
961 changing windows to avoid crash.
962
17c8bc37
VS
9632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
966
9d4d7977
VS
9672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * po/exclude.pot: Add several strings to exclude.
970
0caa407c
VS
9712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
974
9ae393da
VS
9752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * autogen.sh: Add ./util/grub-gen-widthspec.c and
978 ./util/grub-gen-asciih.c to exclude list.
979
498d5033
VS
9802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
983 and don't mark error strings for translation.
984
7d93298f
VS
9852013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
988 properly in case of missing block size.
989
b2cae20c
VS
9902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/lib/arm/setjmp.S: Add missing license section.
993
3896d6b4
VS
9942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * po/swiss.sed: Add replacement for key names and for term computer.
997
ebc1da55
VT
9982013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
999
1000 * grub-core/gfxmenu/theme_loader.c: New global options for the
1001 theme background image handling. desktop-image-scale-method,
1002 desktop-image-h-align, desktop-image-v-align.
1003 * grub-core/gfxmenu/view.c: Likewise.
1004 * include/gfxmenu_view.h: Likewise.
1005 * include/bitmap_scale.h: Proportional scale functions introduced.
1006 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1007 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1008 cases of unexpected input variables for scale functions.
1009 * docs/grub.texi: Updated documentation for new options.
1010
c5739143
VS
10112013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1014
be74aeb3
VT
10152013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1016
1017 * grub-core/tests/checksums.h: Corrected due to changes in
1018 bilinear interpolation function.
1019
d999ac72
VT
10202013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1021
1022 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1023 to eliminate artefacts in bilinear interpolation.
1024
2b131610
VS
10252013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/video/readers/tga.c: Support paletted tga.
1028
de6e5ff8
VS
10292013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1032 incorrect cbcr setting when in color mode.
1033
fa31ee9c
VS
10342013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/video/readers/png.c: Support paletted images and clean up
1037 greyscale support.
1038
e84f8188
VS
10392013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1042 usage of wrong table which resulted in mishandling of 4-byte
1043 sequences.
1044
10452013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1046
1047 * grub-core/term/terminfo.c: Add Home and End key sequences.
1048
d72bff09
VS
10492013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1052 Fix formula for computing total number of bytes.
1053
29648c5d
VS
10542013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1057 image processing, fix big-endian and support grayscale.
1058
4a876492
VS
10592013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1062 Correctly will with maximum transparency when using index color.
1063
3ccf16df
VS
10642013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/video/readers/png.c: Support grayscale
1067
10682013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1069
1070 * grub-core/video/readers/jpeg.c: Support grayscale.
1071
3ccf16df 10722013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1073
1074 * grub-core/commands/loadenv.c: Support skipping signature check
1075 and variable names filtering.
1076
30b7f58f
VS
10772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1080 * grub-core/kern/emu/hostfs.c: Likewise.
1081 * util/getroot_unix.c: Likewise.
1082
bab7b1eb
VS
10832013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1086 Migrate all explicit defines to this new one.
1087
43b1c99d
VS
10882013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1091 grub_util_fd_strerror when using grub_util_fd_*.
1092 (grub_util_fd_open_device): Likewise.
1093 (grub_util_biosdisk_read): Likewise.
1094 (grub_util_biosdisk_write): Likewise.
1095 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1096 (grub_util_fd_strerror): Likewise.
1097 (grub_util_fd_sync): Likewise.
1098 (grub_util_fd_close): Likewise.
1099 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1100 (grub_util_fd_close): Likewise.
1101 (grub_util_fd_strerror): Likewise.
1102 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1103 function proto rather than macro.
1104 (grub_util_fd_sync): Likewise.
1105 (grub_util_fd_open): Likewise.
1106 (grub_util_fd_strerror): New proto.
1107
e8fd80bc
VS
11082013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1111 platforms on which it doesn't work.
1112
bf645fda
VS
11132013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1116 stat immediately to where it's used.
1117
5177ba14
VS
11182013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * util/getroot.c (grub_util_check_block_device): Move to ...
1121 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1122 * util/getroot.c (grub_util_check_char_device): Move to ...
1123 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1124
9db826e1
VS
11252013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1128 disk closing logic.
1129
49120085
AB
11302013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1131
1132 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1133
b3328b68
AB
11342013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1135
1136 * docs/grub.texi (File name syntax): Document ZFS filenames
1137 (/volume@snapshot/...).
1138
3fff48ab
VS
11392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1142 Always return full path. Fixes a problem with mkrelpath.
1143
39cfdaa9
PFS
11442013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1145
1146 * util/grub-install.in: Add GPT PReP support.
1147 * util/grub-probe.c (probe): Support GPT partition type.
1148 (main): Support -t gpt_parttype.
1149
7c680e1f 11502013-09-23 Aleš Nesrsta <starous@volny.cz>
1151
1152 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1153
890bdabe
MM
11542013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1155
1156 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1157
9c262ff9
TH
11582013-09-23 Tim Hardeck <thardeck>
1159
1160 * util/grub.d/10_hurd.in: Filter out character for the class.
1161 * util/grub.d/10_kfreebsd.in: Likewise.
1162 * util/grub.d/10_linux.in: Likewise.
1163 * util/grub.d/20_linux_xen.in: Likewise.
1164
d755342a
MC
11652013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1166
1167 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1168 "changed".
1169
68b77707
JT
11702013-09-23 Josh Triplett <josh@joshtriplett.org>
1171
1172 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1173 boot partition.
1174
efa68bfa
VS
11752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1178 doesn't use posix_wrap. Keep literal -fno-builtin however.
1179
d9104204
VS
11802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1183
c248781a 11842013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11852013-09-23 neil
1186
5830df88 1187 * configure.ac: Do not enable -Wmissing-noreturn as its
1188 usefulness is limited and creates problems on some OS notably with
1189 code generated by bison.
1190
11912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11922013-09-23 neil
1193
1194 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1195 supported by all gcc and when it is, it's already enabled by -Wall.
1196
621bed69
VS
11972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1200 desactivated use of EDID at all.
1201
71764dc8 12022013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12032013-09-23 neil
1204
1205 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1206 video if no text is available.
1207
affce7d4 12082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
12092013-09-23 neil
1210
1211 * configure.ac: Substitute TARGET_RANLIB.
1212
12132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12142013-09-23 neil
affce7d4
VS
1215
1216 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1217
1218 Based on patches from AROS.
1219
0e8daad0 12202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 12212013-09-23 neil
0e8daad0
VS
1222
1223 * grub-core/Makefile.am: Override STRIP and RANLIB.
1224 * configure.ac: compute TARGET_RANLIB.
1225 * INSTALL: Document TARGET_RANLIB
1226
1227 Based on patches from AROS.
1228
3f7d9c82
VS
12292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1232 that floppies are unpartitioned.
1233
bca8873a
VS
12342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1237 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1238
12392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1242 less nice but more portable.
1243 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1244
a47a78be
VS
12452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1248 for cheat_fd.
1249 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1250 functions.
1251 (grub_cryptodisk_cheat_insert): Likewise.
1252 (grub_cryptodisk_close): Likewise.
1253
e85a5d5c
VS
12542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1257 Use windows path for DEFAULT_DIRECTORY.
1258
dad9fa6b
VS
12592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1262 difference was likely just gcc version, not anything mingw-related.
1263
7e518ca8
VS
12642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Use Winapi on both cygwin and mingw32 to share more code between both.
1267
d68d0157
AB
12682013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1269
1270 * util/grub-install.in: Add --grub-editenv option.
1271 * util/grub-install_header (grub_compress_file): Explicitly check for
1272 plain file to avoid cp error.
1273
775b284d
AB
12742013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1275
1276 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1277 names; fix LVM driver name (lvm, not lv).
1278 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1279 names.
1280
3ff4063d
VS
12812013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1284 files rather than one file with loads of #if's.
1285 * util/getroot.c: Likewise.
1286
287faafe
VS
12872013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1290
d1983764
VS
12912013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1294 GNU/Hurd to the list of checked PRNG.
1295
15ce95c4
VS
12962013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1299
207862dd 13002013-09-21 Ales Nesrsta <starous@volny.cz>
1301
7c680e1f 1302 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1303
63653cfd
VS
13042013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1307 * grub-core/disk/lvm.c: Add LVM UUIDs.
1308 * util/getroot.c: Use LVM UUIDs whenever possible.
1309
f5d3e7ef
AB
13102013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1311
1312 * docs/grub.texi (Networking commands): Add documentation for
1313 network related commands.
1314
53c6b7d6
VS
13152013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1318 to determine if device is handled by devmapper.
1319 (convert_system_partition_to_system_disk): Likewise.
1320 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1321 already done in grub_util_open_dm.
1322
e70d6736
LL
13232013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1324
1325 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1326 Clean up stack manipulation (sync_caches_armv*)
1327
90379808
VS
13282013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * util/lvm.c: Remove since unused. Remove remaining references.
1331
386701a8
VS
13322013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 Handle the case of partitioned LVM properly.
1335
1336 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1337 Stop on meeting LVM, mpath or DMRAID.
1338 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1339 (read_device_map): Likewise.
1340 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1341 device is full disk rather than erroring out on LVM and similar cases.
1342
53070787
VS
13432013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1346
1bc783bd
VS
13472013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1350 4K before the end.
1351 Reported by: Leif Lindholm
1352
436ad5c3
PW
13532013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
13542013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1357 codes.
1358
607319c9
CW
13592013-09-18 Colin Watson <cjwatson@ubuntu.com>
1360
1361 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1362 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1363
d404d154
DR
13642013-09-18 Douglas Ray <dougray@cpan.org>
1365
1366 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1367 as secure.
1368
28851ef6
AN
13692013-09-18 Aleš Nesrsta <starous@volny.cz>
1370
1371 * docs/grub.texi: Fix broken link.
1372
897c3bc6
MC
13732013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1374
1375 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1376 to break endless loop.
1377
f1630459
VS
13782013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub-fstest.c: Fix several printf formats.
1381 * util/grub-mkimage.c: Likewise.
1382 * util/grub-mkimagexx.c: Likewise.
1383 * util/grub-script-check.c: Likewise.
1384
64463dfd
VS
13852013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1388 error.
1389
48972495
VS
13902013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1393
5dd5e64b
VS
13942013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1397 removed in current versions cygwin_conv_*.
1398
1c1f31e5
VS
13992013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * configure.ac: Disable efiemu runtime on cygwin.
1402
c546a259
VS
14032013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1406 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1407
81690478
VS
14082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1411 error message.
1412
6b87c10a
VS
14132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1416 windows variant.
1417 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1418 data.
1419
8f0baaac
VS
14202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1423 when on x86 and not cygwin.
1424 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1425 -Wl,-melf_x86_64.
1426
b224c266
VS
14272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * configure.ac: Set CPP to build one when checkoing for freetype for
1430 build.
1431
506b336b
VS
14322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1435 [!GRUB_BUILD]: Remove has_argument.
1436
8c8c87b7
VS
14372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1440 Replace with a dummy.
1441
7dc5ca13
VS
14422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * configure.ac: Don't change host_os from mingw to cygwin.
1445
c3302aa5
VS
14462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * configure.ac: Change target_os from windows to cygwin.
1449
7b780018
VS
14502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1453
1454 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1455 (build-grub-gen-asciih): Likewise.
1456 (build-grub-gen-widthspec): Likewise.
1457 * Makefile.util.def (grub-pe2elf): Remove.
1458 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1459 * configure.ac: Separate tests for build.
1460 Move ./build-grub-pe2elf to grub-core.
1461 Fix typo.
1462 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1463 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1464 defined.
1465 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1466 constants.
1467 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1468 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1469 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1470
984cfd8a
VS
14712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1474 mingw32 as well based on grub_util_get_disk_size.
1475 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1476 grub_util_get_fd_size.
1477 (sync): Removed.
1478 (fsync): Moved to ...
1479 * grub-core/kern/emu/misc.c (fsync): ... here.
1480
f82d79c9
VS
14812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * include/grub/mm.h (grub_extend_alloc): Remove.
1484 * grub-core/loader/i386/pc/plan9.c: Use own version of
1485 grub_extend_alloc with appropriate types.
1486
fd7dd66d
VS
14872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1490
43ffba7c
VS
14912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1494
3c7eac44
VS
14952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 Fix dependencies on cygwin.
1498
1499 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1500 dependencies when used and defined.
1501 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1502
bdb5ba47
VS
15032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1506 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1507
ed7fbf43
VS
15082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1511 implementation available to cause compile-time rather than runtime
1512 error.
1513
fc46e9fc
VS
15142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * util/grub-fstest.c: Don't check for symlinks on windows.
1517
7f68269a
VS
15182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * INSTALL: Mention unavailability of man pages when cross-compiling.
1521
8ed358e0
VS
15222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1525 and gcry_log_bug.
1526 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1527
fc97214f
VS
15282013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * INSTALL: Document cross-compilation.
1531 * acinclude.m4: Determine whether nm support -P and --defined-only.
1532 * configure.ac: Add TARGET_ to all variables pertaining to target
1533 that don't have it yet.
1534 * gentpl.py: Likewise.
1535 * grub-core/Makefile.am: Likewise.
1536 * grub-core/genmod.sh.in: Likewise.
1537 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1538 as well.
1539
ca1fb563
IB
15402013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1541
1542 * configure.ac: Remove -Wempty-body. It's not essential and needs
1543 recent gcc.
1544
0031b229
IB
15452013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1546
1547 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1548 * util/getroot.c: Likewise.
1549
54ea2f44
VS
15502013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/disk/ahci.c: Add needed explicit cast.
1553 * grub-core/lib/backtrace.c: Likewise.
1554 * grub-core/net/ip.c: Likewise.
1555 * grub-core/net/tcp.c: Likewise.
1556 * grub-core/net/udp.c: Likewise.
1557
3c601f8c
VS
15582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1561
1d679dda
VS
15622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * util/import_gcry.py: Add final newline in visibility.h.
1565
00c28dd9
VS
15662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * conf/Makefile.common: Fix typo.
1569
32af299a
VS
15702013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1573
e733cf52
VS
15742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * Makefile.am (widthspec.h): Fix typo.
1577 * util/grub-gen-widthspec.c: Likewise.
1578
c6b066f2
VS
15792013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Move ascii.h and widthspec.h generation to a separate build-time-only
1582 tool.
1583
ad1fe3f9 15842013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1585
1586 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1587 Always fill bootdisk info and improve check for NetBSD disklabel.
1588
92a52dd4
VS
15892013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * conf/Makefile.extra-dist: Add util/bin2h.c.
1592 Reported by: floppym.
1593
b2e9d276
VS
15942013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1597
7b966834
VS
15982013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * configure.ac: Disable unifont and starfield if no freetype was found.
1601
d5c1eef1
VS
16022013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1605 on NetBSD and OpenBSD.
1606
66345b50 16072013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1608
1609 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1610
66345b50 16112013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1612
1613 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1614 reduced. Inheritant options are processed during the theme loading.
1615
66345b50 16162013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1617
1618 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1619
369508b3
AS
16202013-08-14 Avik Sil <aviksil@in.ibm.com>
1621
1622 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1623
16242013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1625
1626 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1627 using qemu.
1628
6f27a3f6
PFS
16292013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1630
1631 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1632 remove-potcdate.sed.
1633
c6ed362a
AB
16342013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1635
1636 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1637 unused attribute from pull argument.
1638
5e7d9464
AB
16392013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1640
1641 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1642 memory leak.
1643
dea55e2a
AB
16442013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1645
1646 * util/getroot.c (pull_lvm_by_command): add --separator option
1647 to vgs call to disable padding of output to 10 characters.
1648
f0b94ded
VS
16492013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1652 here ...
1653 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1654 here.
1655
b828fb5d
VS
16562013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1659 length.
1660
7c9d0c39
VS
16612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1664 full Canadian cross. Tested with build=x86_64, host=arm,
1665 target=ppc-ieee1275.
1666
816719c8
VS
16672013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * configure.ac: Error if no $BUILD_CC could be found.
1670 Reported by: DevHC.
1671
2af2353b
VS
16722013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1675 i386-multiboot.
1676
797abd0a
VS
16772013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1680 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1681
36e87d25
CW
16822013-08-13 Colin Watson <cjwatson@ubuntu.com>
1683
1684 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1685 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1686 falling back to the partition device, otherwise a later call to this
1687 function may fail spuriously.
1688 Reported by Axel Beckert. Fixes Debian bug #708614.
1689
273349fe
GS
16902013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1691
1692 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1693
418f86c6
GS
16942013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1695
1696 Prevent shadowing of stdlib's devname(3) on BSD.
1697
1698 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1699 and devlast to diskname and disklast, respectively.
1700
c137aea0
CW
17012013-08-11 Colin Watson <cjwatson@ubuntu.com>
1702
1703 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1704
272dc8df 17052013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1706
1707 * docs/grub.texi: Introduce terminal window position options:
1708 terminal-left: terminal window's left position
1709 terminal-top: terminal window's top position
1710 terminal-width: terminal window's width
1711 terminal-height: terminal window's height
1712 terminal-border: terminal window's border width
1713 * grub-core/gfxmenu/theme-loader.c: Likewise.
1714 * include/grub/gfxmenu_view.h: Likewise.
1715 * po/exlude.pot: Likewise.
1716 * grub-core/gfxmenu/view.c: Likewise.
1717 Also updated minimal window size.
1718 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1719 * grub-core/tests/checksums.h: Update (terminal window height
1720 is adjusted now for low resolution screen)
b4743461 1721
748a4533
VS
17222013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1725 position).
1726
fca5f944
VS
17272013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * po/exclude.pot: Add few recent exceptions.
1730
4f47d809
VS
17312013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * tests/grub_func_test.in: Add unicode.pf2.
1734
a62ae90c
VS
17352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1738 standard rather than noral color, in line with other terminals.
1739
4ed41392
VS
17402013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1743 analysis.
1744
3719fbc5
VS
17452013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1748
459b1d91
VS
17492013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1752 inappropriate printf.
1753
f4e1ab9d
AB
17542013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1755
1756 * .bzrignore: Remove grub-core/lib/dtc-grub,
1757 grub-core/Makefile.libfdt.def
1758 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1759
fa471bfa
VS
17602013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * include/grub/video.h (grub_video_register): Keep double-linked as
1763 well as single-linked invariants.
1764 Reported by: qwertial.
1765
d65be02b
VS
17662013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/commands/nativedisk.c (get_uuid): Handle
1769 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1770
ba8bc620
VT
17712013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1772
1773 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1774 maximum of NW, N, NE heights instead of N's height and maximum of
1775 NW, W, SW widths instead of W's width. (So the box will be always
1776 correctly drawn)
1777
4f0ad029
GS
17782013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1779
1780 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1781 Fix misuse of variable count.
1782
43d53b72
LL
17832013-07-18 Leif Lindholm <leif.lindholm@arm.com>
17842013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
17852013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1786
43d53b72
LL
1787 New ports to arm-uboot and arm-efi.
1788 Mostly by Leif Lindholm with some additions from
1789 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1790
88f8d146
VS
17912013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1794 and not before.
1795 Reported by: Leon Drugi.
1796
3f42504c
VS
17972013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1800 Reported by: Paulo Flabiano Smorigo.
1801
d110499b
VT
18022013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1803
1804 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1805
a8674ad3
VT
18062013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1807
1808 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1809
286fe4b3
VS
18102013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1813
1bd57aa3
VS
18142013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1817
7a87d69f
AB
18182013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1819
1820 * grub-core/net/bootp.c: Export net_* variables.
1821 * grub-core/net/net.c: Likewise.
1822
b2182299
VS
18232013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1826
795b3dc0
VS
18272013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1830
68714c43
VS
18312013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1834
af211bab
VS
18352013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1838
0036f02d
MM
18392013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1840
1841 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1842 <= 0.
1843
6d0ddff3
MM
18442013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1845
1846 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1847 functions.
1848
038016f4
MM
18492013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1850
1851 * grub-core/fs/zfs/zfs_lz4.c: New file.
1852 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1853
776bdce2
MM
18542013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1855
1856 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1857
c71dbd40
MM
18582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1859
1860 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1861 (check_pool_label): Likewise.
1862 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1863
18642013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1865
1866 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1867
8e67b50f
AB
18682013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1869
1870 * docs/grub.texi (Commands): Document postition parameters
1871 for menuentry command.
1872
f5ae3717
AB
18732013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1874
1875 * util/grub-mknetdir.in: Remove stray line from help output.
1876
9c28da2a
VS
18772013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 Remove early sm712 init as there is no reason for it (the "watchdog"
1880 effect was due to wrong GPIO map).
1881
139072b8
VS
18822013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/commands/pcidump.c: Remove static variables.
1885
c6a61bda
VS
18862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1889
51369614
VS
18902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * configure.ac: Move delimiter after the infos.
1893
efa8640a
VS
18942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1897
6f80a7b2
VS
18982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1901 not filling whole 8x16 space.
1902
a2371e19
VS
19032013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1906
64fce2d8
VS
19072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * configure.ac: Indicate which liblzma is used if any.
1910
eb272d84
PW
19112013-06-21 Paul Wise <pabs3@bonedaddy.net>
19122013-06-21 Craig Sanders <savannah@taz.net.au>
1913
1914 * util/grub-reboot.in: Document submenu usage.
1915
a9e5abee
CW
19162013-06-25 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * .bzrignore: Update with a number of new test-related files.
1919
e639c204
CW
19202013-06-25 Colin Watson <cjwatson@ubuntu.com>
1921
1922 * util/grub-script-check.c: Fail on scripts containing no
1923 commands, to guard against corrupted grub-mkconfig setups that
1924 produce no useful output.
1925 * tests/grub_script_no_commands.in: New test.
1926 * Makefile.util.def (grub_script_no_commands): Add.
1927 Reported by Hans Putter. Fixes Debian bug #713886.
1928
a4c89b17
AB
19292013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1930
1931 * grub-core/disk/diskfilter.c: Forgot to remove comment
1932 from previous commit.
1933
5b06b53c
AB
19342013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1935
1936 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1937 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1938
702da5c9
AB
19392013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1940
1941 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1942
aa62a5b7
AB
19432013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1944
1945 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1946 rescan diskfilter devices until nothing new is found.
1947
4aa237c8
VS
19482013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1951
93d8479b
VS
19522013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Don't try to detect cbfs on *-emu.
1955
837222cc
VS
19562013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1959
99c971af
VS
19602013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Add support for processed coreboot payload chainloading.
1963
e6930a45
VS
19642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Enable coreboot information commands even when not loaded as
1967 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1968
5027af38
VS
19692013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 Support for cbfs. Also factor out the part which is common
1972 for all archives to a separate module. This splits tar from cpio
1973 as they are very different but keeps cpio, cpio_be, odc and newc
1974 together since they're very similar.
1975
a5b55c4b
DM
19762013-06-15 David Michael <fedora.dm0@gmail.com>
1977
1978 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1979 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1980
0301a8b3
VS
19812013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * tests/grub_script_eval.in: Really add the eval test.
1984
3d84cb17
VS
19852013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Move flavour-specific parts out of common cpio.c file and
1988 rename remaining to cpio_common.c
1989
593e430c
AB
19902013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1991
1992 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1993 off new function grub_script_execute_new_scope. Change callers to use
1994 either of them as appropriate.
1995 * grub-core/commands/eval.c: New command eval.
1996 * docs/grub.texi (Commands): Document it.
1997
63c29849
AB
19982013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1999
2000 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2001 to fetch values when listing.
2002
cc284112
AB
20032013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2004
2005 Fix make dist on non-pc.
2006
20072013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2008
2009 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2010 without a device name.
2011
69544d1e
VS
20122013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Remove enable_executable_check as it's not needed anymore.
2015 Reported by: dougray.
2016
96dbe648
VS
20172013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2020 ambigouos RAID before discovering RAIDs on top of it.
2021 Reported by: bodom.
2022
ccfc0bdb
VS
20232013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 Fix typo (failback vs fallback).
2026
f2587088
AB
20272013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2028
2029 * util/grub.d/30_os-prober.in: Add support for probing EFI
2030 System Partition (as of os-prober 1.58).
2031
cec5cf0c
VS
20322013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * configure.ac: Add yet another path to unifont. For parabola.
2035
e40b4596
JT
20362013-05-30 Josh Triplett <josh@joshtriplett.org>
2037
2038 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2039 handling to copy the killed characters to the kill buffer as
2040 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2041 stored as char. Eliminates UCS4 truncation and corruption
2042 observed when killing characters with Ctrl-u and yanking them
2043 back with Ctrl-y.
2044
fc4c4fdd
VS
20452013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Detach optional parts of gfxterm and integrate in with coreboot init.
2048
6570b205
VS
20492013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 Move blit and fill dispatcher to appropriate files to decrease export
2052 and relocation overhead.
2053
b8323067
VS
20542013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2057 functions.
2058
3cc1878f
VS
20592013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/Makefile.am: Fix compilation problem with some
2062 automake versions.
2063
4b80e43c
VS
20642013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2067
57e0c20c
VS
20682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2071 automake versions.
2072
4fd42c53
VS
20732013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2076 SSDT.
2077
1e908b34
RS
20782013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2079
2080 * grub-core/partmap/dfly.c: New partition map.
2081
1359e474
VS
20822013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2085 checking.
2086 Reported by: Francesco Lavra.
2087
17806392
AB
20882013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2089
2090 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2091 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2092 false conditions.
2093 * conf/Makefile.common: define dist_grubconf_DATA
2094
cdce14fa
VS
20952013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Progressively skip menu elements on small terminals rather
2098 than crashing.
2099
c8d6cc3c
VS
21002013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2103 to avoid losing last column.
2104
a73b31ce
VS
21052013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * po/exclude.pot: Add missing string "%C".
2108
1202c764
VS
21092013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2112 after the test.
2113
50268344
VS
21142013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * util/grub-install.in: Gettextize "Not found" message.
2117
62b15edf
VS
21182013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 Fix distfiles list.
2121 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2122
21232013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2124
2125 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2126 present.
2127 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2128
709ad61b
VS
21292013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2132
d128901a
VS
21332013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2136 attribute since structure is not necessarily aligned.
2137
34b22f5c
AB
21382013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2139
2140 * docs/grub.texi (Device syntax): Clarify description of network
2141 drives.
2142
0f7e980b
VS
21432013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2146 for vasprintf presence.
2147
30b03dc2
VS
21482013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * util/grub-install.in: Handle efibootmgr presence check.
2151 Reported by: Leif Lindholm.
2152
0dc11c08
VS
21532013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2156 new strings to translate.
2157
f8024c3f
VS
21582013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2161 yet another string (pun intended) to translate.
2162
b4c1da62
VS
21632013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * po/POTFILES-shell.in: Autogenerate it.
2166
0ef7478b
VS
21672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2170
8200fa15
VS
21712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2174 misnomer.
2175
091945b2
AB
21762013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2177
2178 * docs/grub.texi (Network): Add description of net_default_interface,
2179 net_default_ip and net_default_mac. Rewrite variables description
2180 to emphasize that they are per-interface.
2181
0e7b2e32
VS
21822013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 New test: cmdline and cat.
2185
16f7c8f6
VS
21862013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/commands/cat.c: Show UTF-8 characters.
2189
3e912fda
VS
21902013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * conf/Makefile.common: Poison float and double on non-emu.
2193
ee0220bc
VS
21942013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * configure.ac: Don't disable extended registers on emu.
2197
89e0240c
VS
21982013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * configure.ac: Don't use extended registers on x86_64.
2201 Reported by: Peter Jones.
2202
e56d9637
VS
22032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/term/efi/console.c: Fix compile error.
2206
8098f655
VS
22072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 Compressed HFS+ support.
2210
16940e07
VS
22112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2214 pixel".
2215
c5dbc13d
VS
22162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Menu color test.
2219
011f8ae8
VS
22202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/tests/setjmp_test.c: New test.
2223
2aa072d7
VS
22242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 New variables 'net_default_*' to determine MAC/IP of default interface.
2227
43fe02cb
VS
22282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * tests/gettext_strings_test.in: A test to check for strings not
2231 marked for translation.
2232
bed06142
VS
22332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * autogen.sh: Exclude unused libgcrypt files from translation.
2236
fb2666b5
VS
22372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Simplify few strings.
2240
d22840ec
VS
22412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 Mark few forgotten strings for translation.
2244
e34092fd
VS
22452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2248 rather than printf.
2249
47cf82b4
VS
22502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2253 rather than printf.
2254 * grub-core/video/readers/tga.c: Likewise.
2255
1eed0e6e
VS
22562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * tests/priority_queue_unit_test.cc: New test.
2259
c5b7697b
VS
22602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2263 than printf.
2264
5945c2f8
AB
22652013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2266
2267 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2268 variable for one time boot menu entry.
2269
fa292343
B
22702013-05-05 Bean <bean123ch@gmail.com>
2271
2272 * grub-core/commands/testspeed.c: New command testspeed.
2273
310d4214
VS
22742013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 Factor-out human-size printing.
2277
85002bf3
VS
22782013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Agglomerate more mallocs to speed-up gfxterm.
2281
22b06e96
VS
22822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 Speed-up gfxterm by slightly agglomerating mallocs.
2285
b7c036bc
VS
22862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 More video checks.
2289
92323d1f
VS
22902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 Speed-up gfxterm by saving intermediate results in index+alpha
2293 format.
2294
0fb356a3
VS
22952013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2298 test.
2299
44dea3f9
VS
23002013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2303 line of timeout as it may contain the rest of long line.
2304
14af86e4
VS
23052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/normal/main.c: Fix freed memory dereference.
2308
03f7c8c3
VS
23092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Fix several memory leaks.
2312
c686014c
VS
23132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2316
0788a695
VS
23172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2320
daf01d61
VS
23212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 Fix test -a and -o precedence.
2324 Reported by: adrian15.
2325
82ae74d7
VS
23262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2329
8cec7bd4
AB
23302013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2331
2332 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2333 and add it as source to functional_test module.
2334
aa73d688
VS
23352013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2338
c104b6f9
VS
23392013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 New series of tests for gfxterm and gfxmenu.
2342
7391c4d5
VS
23432013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2346 the theme path relative to $prefix/themes.
2347
cff50118
VS
23482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2351 Fix order bug.
2352 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2353
7c332bdc
VS
23542013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2357 descriptor.
2358
a4f9a5ff
VS
23592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2362 grub_gfxmenu_timeout_notifications.
2363 (grub_gfxmenu_view_destroy): Likewise.
2364
b5a2114d
VS
23652013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2368
a8905e8a
VS
23692013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 Several fixes to ieee1275 and big-endian video.
2372
813c1622
VS
23732013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Add missing exports on mips.
2376
3f3e7326
VS
23772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2380 if no unifont is found.
2381 Restore original keyboard.
2382
095accd1
VS
23832013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2386 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2387
50361660
VS
23882013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 First automated video test (running videotest and comparing results)
2391
cd0f6eec
VS
23922013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2395 instead of 2 to have full RGB/CMY test pattern.
2396
3f9634e5
VS
23972013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 Add few more tests.
2400
583e5b64
VS
24012013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2404 ARCS. All users updated.
2405
aa7bcb99
VS
24062013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2409
95ef1a54
VS
24102013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2413
46546fc5
VS
24142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2417 Reported by: qwertial.
2418
3476e0ef
VT
24192013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2420
2421 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2422 with syntax "XXX deg"/"XXX °".
2423
96f33fed
VS
24242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Make PCI init in i386-qemu port more robust.
2427
24282013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2429
2430 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2431 cached view is reused.
2432 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2433 open boot menus.
2434
c53b4e67
VS
24352013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Unify more code in grub-install_header.
2438
f7457fb2
VS
24392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 Add few new tests.
2442
e2f27a8c
VS
24432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Enforce disabling of firmware disk drivers when native drivers kick in.
2446
ef9d8cd5
VS
24472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/commands/nativedisk.c: Customize the list of modules on
2450 platform. Don't try to search for disks already using native drivers.
2451
f7bf6c31
VS
24522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2455 platforms.
2456
bdc4add8
VS
24572013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2460 handling of variables containing backslash.
2461
e9e46c9a
VS
24622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2465 dereference.
2466 Reported by: qwertial.
2467
0e90dee8
VS
24682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2471
e0aacf24
VS
24722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2475 dereference.
2476 Reported by: qwertial.
2477
3c0003c3
VS
24782013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2481
adb7d667
VS
24822013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2485
7cd0df84
VS
24862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 New command `nativedisk'.
2489
02adbb93
VS
24902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2493 * grub-core/loader/i386/bsd.c: Likewise.
2494
9fb0fd4f
VS
24952013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2498
bd69257a
VS
24992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2502 grub_get_unaligned16 rather than shifts.
2503
178c2764
VS
25042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/kern/file.c: Use const char * rather than casting to
2507 non-const.
2508
eadfad24
VS
25092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/commands/probe.c: Add missing grub_device_close.
2512
9f73ebd4
VS
25132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * INSTALL: Document linguas.sh.
2516
965fa829
VS
25172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Remove POTFILES.in and regenerate it in autogen.sh.
2520
d417ddc4
VS
25212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Move --directory/--override-directorry to grub-install_header and unify.
2524
f97ec546
VS
25252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/term/morse.c: Macroify dih and dah.
2528
b2d7470c
PFS
25292013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2530
2531 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2532
141e2a78
VS
25332013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/term/ns8250.c: Systematically probe ports by writing
2536 to SR before using them.
2537
1dd70ebd
PFS
25382013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2539
2540 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2541 disks.
2542 (check_sas): Get sas_adress info.
2543
c796a107
VS
25442013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2547 ports.
2548
43168646
LD
25492013-04-27 Leon Drugi <eyak>
2550
2551 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2552 BSS clearing.
2553
e7b8fd08
VS
25542013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Core compression test.
2557
17f9fd29
VS
25582013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Implement grub_machine_get_bootlocation for ARC.
2561
dc2a6c8b
VS
25622013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Improve AHCI detection and command issuing.
2565
f25a2ba6
VS
25662013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Fix pseries test.
2569
a6393224
VS
25702013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Make 'make check' work on emu.
2573
db99fbe8
VS
25742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Replace libcurses with our own vt100 handling for the ease of testing
2577 and decreasing prerequisites.
2578
b24ca7cd
VS
25792013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2582
63314aa4
VS
25832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2586 compile when not needed.
2587
c1b00fff
VS
25882013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * tests/pseries_test.in: New test.
2591
f93e89ef
VS
25922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Add test to check that different boot mediums work.
2595
c4b456d3
VS
25962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2599 ofw limited ISO support.
2600
5fe67f39
VS
26012013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * configure.ac: Fix loongson conditional.
2604
7f63a64f
VS
26052013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Enable mipsel-arc.
2608
b04b5990
VS
26092013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 Add serial on ARC platform.
2612
88d2f302
VS
26132013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2616 commit.
2617
86eb23bc
VS
26182013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * tests/partmap_test.in: Add missing double semicolon.
2621
eec3bb75
VS
26222013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * util/grub-mkrescue.in: Fix loongson filename.
2625
e0810df3
VS
26262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * util/grub-mkrescue.in: Move all files that don't have a location
2629 set in stone under /boot/grub. Use ISO hard links rather than copies
2630 to save some space.
2631
65a6b30b
VS
26322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2635 bogus SLOF values.
2636
6aff0107
VS
26372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Make check work on mips-arc.
2640
5e013e56
VS
26412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * util/grub-mkrescue.in: Alias sashARCS as sash.
2644
d1989e2e
VS
26452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2648 it's serial.
2649
1a25e72c
VS
26502013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * util/grub-install.in: Fix target fo qemu_mips.
2653 Fix extension on EFI.
2654
a59a9826
VS
26552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2658 in front of chosen entry to mark it even if highlighting is lost.
2659
1a40f80c
VS
26602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2663 gfxpayload=keep if cbfb is active.
2664
e343549c
VS
26652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2668
45fbd9a2
VS
26692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 Add missing video ids to coreboot and ieee1275 video.
2672
ab1440bd
VS
26732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * util/grub-mkrescue.in: Add mips-arc support.
2676
cdeb8324
VS
26772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2680
8528c879
VS
26812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 Move mips-arc link address. Previous link address was chosen
2684 in belief that RAM on SGI platforms grows down while in fact it
2685 grows up from an unusual base.
2686
17fca573
VS
26872013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2690 Fix a type which prevented CD-ROM and floppy boot.
2691
d178788e
VS
26922013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 Support coreboot framebuffer.
2695
2696 * grub-core/video/i386/coreboot/cbfb.c: New file.
2697
fe4c3e7e
VS
26982013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2701 detecting too small regions.
2702
ec2dd179
VS
27032013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2706
872dac83
VS
27072013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2710 Remove dprintf.
2711 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2712
90ec4b7f
VS
27132013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2716 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2717 * grub-core/loader/powerpc/ieee1275/linux.c
2718 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2719
f32555dd
VS
27202013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2723 Look for /boot-rom as well as /rom/boot-rom.
2724
38649799
VS
27252013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2728 handling when creating text_layer failed.
2729 * grub-core/video/video.c (grub_video_create_render_target):
2730 Set result to 0 on error.
2731 (grub_video_delete_render_target): Do not dereference NULL.
2732
aeace7f7
VS
27332013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2736 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2737 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2738 (grub_linux_load64): Mask out 2 high bits.
2739
4eafa175
AB
27402013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2741
2742 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2743 more place.
2744
daaa64bd
VS
27452013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Add support for pseries and other bootinfo machines to grub-mkrescue.
2748
2749 Tested by: Paulo Flabiano Smorigo.
2750
d0d2daa6
VS
27512013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * util/grub-mkrescue.in: Add GPT for EFI boot.
2754
b193e100
VS
27552013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2758 It improves performance in qemu.
2759
a0f8f3ac
VS
27602013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * build-aux/snippet: Add missing gnulib files.
2763
284df0e2
AB
27642013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2765
2766 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2767
740201f3
AB
27682013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2769
2770 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2771
a7e03923
PJ
27722013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
27732013-04-15 Peter Jones <pjones@redhat.com>
2774
2775 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2776 sectors.
2777 Based on patch by Peter Jones.
2778
25fc51a8
VS
27792013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 Fix DMRAID partition handling.
2782
88017d47
VS
27832013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * tests/grub_cmd_date.in: Skip on sparc64.
2786
fa7d914e
VS
27872013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2790 firmware error messages.
2791
cbe57a48
VS
27922013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2795 source and destination differ.
2796
21aecce0
VS
27972013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2800 detection.
2801
25092d29
VS
28022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2805 match config-util.h to avoid warnings and increase compatibility.
2806
79451522 28072013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 28082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2809
2810 Add option to compress files on install/image creation.
2811
78b7d77b
VS
28122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * docs/grub-dev.texi: Rearrange menu to match the section order.
2815 Reported by: Bryan Hundven.
2816
cc2fa5ec
VS
28172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2820
b49fe879
VS
28212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Move GRUB out of system area when using xorriso 1.2.9 or later.
2824
5351da81
VS
28252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * tests/grub_cmd_date.in: Add missing exit 1.
2828
c9d586ea
VS
28292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * tests/partmap_test.in: Skip on sparc64.
2832
3f729741
VS
28332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Support grub-shell on sparc64.
2836
8ca86b3a
VS
28372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Support mkrescue on sparc64.
2840
aa1af9bb
VS
28412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2844 Needed on OpenBIOS due to incomplete device tree.
2845
ac4fea79
VS
28462013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2849 would be otherwise excluded.
2850
28512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2852
2853 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2854 Inline name defines used only once.
2855
fe22b071
VS
28562013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Fix memory leaks in ofnet.
2859 Reported by: Francesco Lavra.
2860
9d21381b
VS
28612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * docs/man/grub-glue-efi.h2m: Add missing file.
2864
07aec23c
VS
28652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2868
67ab8353
VS
28692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Better support Apple Intel Macs on CD.
2872
ba44ca6d
VS
28732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 Replace stpcpy with grub_stpcpy in tools.
2876
bbdd6305
VS
28772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 Handle Japanese special keys.
2880 Reported by: Hiroyuki YAMAMORI.
2881 Codes supplied by: Hiroyuki YAMAMORI.
2882
8573d302
VS
28832013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * util/grub-mkimage.c: Document memdisk implying --prefix.
2886
d70dbab7
VS
28872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2890 much we can do about it anyway.
2891
51a4c3e3
AN
28922013-04-12 Aleš Nesrsta <starous@volny.cz>
2893
2894 Fix handling of split transfers.
2895
92c8f58d
VS
28962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/net/http.c: Fix bad free.
2899
b7d17a49
VS
29002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2903 than buffer size.
2904
a3d566d4
VS
29052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2908
a936af56
VS
29092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * tests/util/grub-shell.in: Fix it on powerpc.
2912
51212234
VS
29132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Turn off QEMU ACPI-way since new releases don't have shutdown port
2916 anymore.
2917
a21eec9e
VS
29182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * docs/grub.texi: Update coreboot status info.
2921
e3734b84
VS
29222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * tests/grub_cmd_date.in: New test for datetime.
2925
f9d40055
VS
29262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * tests/partmap_test.in: Fix missing qemudisk setting.
2929
dbc56d8f
VS
29302013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Support i386-ieee1275 grub-mkrescue and make check on it.
2933
a79b8a15
VS
29342013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2937 feature for it.
2938
48f39bb4
VS
29392013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2942 GRUB_CMDLINE_XEN_DEFAULT.
2943 Reported by: Marc Warne (GigaTux) <gigatux>
2944
053cfcdd
VS
29452013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Import new gnulib.
2948
93cd84df
VS
29492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Use ACPI shutdown intests as traditional port was removed.
2952
f4b1fa4f
AB
29532013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2954
2955 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2956 distinction.
2957
49818a59
VS
29582013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2961 Fix few warining messages and leaks while on it.
2962
9277a306
AB
29632013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2964
2965 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2966 links under grub-core/lib/libgcrypt-grub/mpi.
2967
d5e2a158
VS
29682013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 Fix ia64-efi image generation on big-endian machines. Deduplicate
2971 some code while on it.
2972 Reported by: Leif Lindholm.
2973
18866643
AB
29742013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2975
2976 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2977 as extra_dist.
2978
ca53deb8
AB
29792013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2980
2981 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2982
d4c4b8e1
BH
29832013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2984
2985 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2986 texinfo-5.1.
2987
47043f95
VS
29882013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/normal/term.c: Few more fixes for menu entry editor
2991 rendering.
2992 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2993
a3216068
VS
29942013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/normal/term.c: Few more fixes for menu entry editor
2997 rendering.
2998 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2999
21026747
AB
30002013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3001
3002 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3003 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3004
59624ca8
AB
30052013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3006
3007 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3008 instead of hardcoding grub.mo.
3009
1f44478c
FN
30102013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3011
3012 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3013
eeada7b1
VS
30142013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3017 grub-core/disk/geli.c.
3018
132867de
VS
30192013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * util/grub-mkfont.c: Prefer enum to #define.
3022
de73de17
VS
30232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3026
1865baa7
VS
30272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3030
ce7d92a9
VS
30312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3034
52eab656
VS
30352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3038
98b23b95
VS
30392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * include/grub/bsdlabel.h: Use enums.
3042
0467a5dd
VS
30432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Move GRUB_CHAR_BIT to types.h.
3046
16cc9f03
AB
30472013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3048
3049 * docs/grub.texi: Document more user commands.
3050
3152aecb
AB
30512013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3052
3053 * docs/grub.texi: Document menuentry --id option.
3054
c506fc30
FL
30552013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3056
3057 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3058
aa428238
VS
30592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 Unify file copying setup across different install scripts. Add
3062 options for performing partial install.
3063
efe0cdda
PJ
30642013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30652013-04-04 Peter Jones <pjones@redhat.com>
3066
3067 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3068
f75835bd
VS
30692013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 Use TSC as a possible time source on i386-ieee1275.
3072
2cd5ce6c
VS
30732013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3076 Init err.
3077
c9625630
VS
30782013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * util/grub-setup.c (setup): Handle some corner cases.
3081
be008941
VS
30822013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3085
1a78d573
VS
30862013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/commands/verify.c: Save verified file to avoid it being
3089 tampered with after verification was done.
3090
db8ff59f
VS
30912013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3094 reported width by one to compensate for curesor algorithm problem.
3095
91bf46b1
VS
30962013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Fix screen corruption in menu entry editor and simplify the code
3099 flow while on it.
3100
a7b1d693
AB
31012013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3102
3103 * util/grub-mount.c (fuse_init): Return error if fuse_main
3104 failed.
3105
31df9ad8
FL
31062013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3107
3108 * include/grub/elf.h: Add missing ARM relocation codes and fix
3109 existing ones.
3110
07f392eb
VT
31112013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3112
3113 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3114
9efd73ec 31152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
31162013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3119 into account when calculating radius.
3120
31212013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3122
3123 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3124
4985ddaa
VT
31252013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3126
3127 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3128
8c3635ff
RS
31292013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3130
3131 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3132 missing closing bracket.
3133
74a35e69
RS
31342013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3135
3136 * INSTALL: Mention xorriso requirement.
3137
40f1c000
AB
31382013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3139
3140 * grub-core/commands/verify.c: Fix hash algorithms values for
3141 the first three hashes - they start with 1, not with 0.
3142
e75fdee4
VS
31432013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3146 Try terminating EFI services several times due to quirks in some
3147 implementations.
3148
33028f4c
CW
31492013-03-26 Colin Watson <cjwatson@ubuntu.com>
3150
3151 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3152 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3153 BankField extended opcodes.
3154 (get_sleep_type): Add minimal scope handling (just enough to
3155 handle setting the scope to the root path).
3156 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3157 * include/grub/acpi.h: Add enumeration values for Event, Device,
3158 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3159
33871a10
VT
31602013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3161
3162 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3163 memory leak.
3164
8990963a
VS
31652013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/disk/ahci.c: Give more time for AHCI request.
3168
daae8f9e
VS
31692013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3172 command.
3173
6a7fb94b
VS
31742013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Replace the region at 0 from coreboot tables to available in BSD
3177 memory map.
3178
ff99babd
VS
31792013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3182 non-BIOS platforms.
3183
30d6b1b2
VS
31842013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3187 platforms.
3188
6ccd0b31
VS
31892013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3192 handling of multi-device filesystems.
3193
23c9cc04
VS
31942013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3197 platforms.
3198
ce50dbd7
VS
31992013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Add new 'proc' filesystem framework and put luks_script into it.
3202
d975e8d5
VS
32032013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3206 and qemu.
3207
e73ba5e8
VS
32082013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3211
92750e4c
VS
32122013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Add ability to generate newc additions on runtime.
3215
0ec45a68
VS
32162013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3219 description.
3220
320abd43
VS
32212013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * po/POTFILES.in: Regenerate.
3224
d7a6506e
VS
32252013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/commands/verify.c (hashes): Add several hashes
3228 from the spec.
3229
8fe05def
VS
32302013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Slight improve in USB-related boot-time checkpoints.
3233
524e2766
VS
32342013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/commands/boottime.c: Fix copyright header.
3237
cc19857a
VS
32382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3241 coreboot tables content. Support for cbmemc.
3242
ef8810e9
VS
32432013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Fix a conflict between ports structures with 2 controllers of
3246 same kind.
3247
e9dabdfa
VS
32482013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * include/grub/boottime.h: Add missing file.
3251
f6df57d2
VS
32522013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Initialize USB ports in parallel to speed-up boot.
3255
d745dda7
VS
32562013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Fix USB devices not being detected when requested
3259 due to delayed attach.
3260
e5a2dd7b
VS
32612013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3262
e744219b
VS
3263 Implement boot time analysis framework.
3264
32652013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3268 descriptor to just receive it as argument rather than endpoint
3269 address.
3270
5dd6f587
VS
32712013-03-19 Aleš Nesrsta <starous@volny.cz>
3272
3273 Better estimate the maximum USB transfer size.
3274
2f1071d5
VS
32752013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Resend a packet if we got the wrong buffer in status.
3278
46ecfc49
VS
32792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3282 multiplication rather than division.
3283
ea811130
VS
32842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3287 than divisions.
3288
d2789cf0
VS
32892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3292 operations to have intended shifts and not divisions.
3293
a9c94590
VS
32942013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3297 intended shifts rather than division.
3298
84cfe81b
VS
32992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3302 computation for some years before epoch. Avode confusing division
3303 while on it.
3304
21344ef6
VS
33052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/video/i386/pc/vbe.c
3308 (grub_video_vbe_print_adapter_specific_info): Replace division by
3309 shifts.
3310
3f2b4d1a
VS
33112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Adjust types in gdb module to have intended unsigned shifts rather than
3314 signed divisions.
3315
3dac5878
VS
33162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3319 maximum size is 4G - 1 on hfs
3320
5341c0fb
VS
33212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3324
fc3ff2a2
VS
33252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3328 function.
3329
81455e8e
AB
33302013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3331
3332 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3333 causing gcc error with gcc 4.7.1.
3334
efd4f117
NZ
33352013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3336
3337 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3338 dereference null pointer. While the code is technically correct, gcc
3339 may eliminate a null check if pointer is already dereferenced.
3340
e11645f4
NZ
33412013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3342
3343 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3344 OOM check.
3345 * grub-core/normal/term.c (read_terminal_list): Likewise.
3346
77468368
VS
33472013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 Lift up core size limits on some platforms. Fix potential memory
3350 corruption with big core on small memory systems. Document remaining
3351 limits.
3352
f6b58fe5
VS
33532013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3356 gotoxy to 0,0.
3357
19ce697d
VS
33582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 Remove all trampoline support. Add -Wtrampolines when
3361 present. Remove symbols used for trampolines to make
3362 link fail if trampolines are present.
3363
73b5d90f
VS
33642013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3367 append out of its parent.
3368
cb758e96
VS
33692013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3372 parent.
3373
3188131f
VS
33742013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3377 all vars to a macro. All users updated.
3378
e42b2514
VS
33792013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3382 i386-ieee1275.
3383
83e1a1a1
VS
33842013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3387
1d5a880f
VS
33882013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3391
6e4146c4
VS
33922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Move to more hookless approach in IEEE1275 devices handling.
3395
99fcda8a
VS
33962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/kern/term.c (grub_term_normal_color),
3399 (grub_term_highlight_color): Add back lost defaults.
3400
73bf57e2
VS
34012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 Make elfload not use hooks. Opt for flags and iterators instead.
3404
7f8c105f
VS
34052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3408 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3409
396d4091
VS
34102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3413
34142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3417 hook pass-through parameter. All users updated and unnested.
3418
74a27421
VS
34192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3422 out of its parent.
3423
b46d4213
VS
34242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/fs/hfs.c: Remove nested functions.
3427
e114c3cc
VS
34282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3431 the context through.
3432 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3433
f9b7d780
VS
34342013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * util/grub-editenv.c (list_variables): Move print_var out of its
3437 parent.
3438
ca9c2608
VS
34392013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3442 function.
3443
5d983f5f
VS
34442013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/gentrigtables.c: Make tables const.
3447
3056d3e7
VS
34482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Remove nested functions from videoinfo iterators.
3451
e2303774
VS
34522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3455 for 64-bit platforms.
3456
f42e3a2f
VS
34572013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3460 a FOR_CHILDREN macro.
3461
be174e5e
VS
34622013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3465 platform from firmware path.
3466
0789b672
VS
34672013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Enable linux16 on non-BIOS systems for i.a. memtest.
3470
3471 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3472 correctly.
3473 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3474
005a9c32
VS
34752013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3478 Fix end of table condition.
3479
ff2b3cd9
VS
34802013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3483 out of its parent.
3484
4fc40ff8
VS
34852013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/fs/jfs.c: Remove nested functions.
3488
be42d97a
VS
34892013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/fs/minix.c: Remove nested functions.
3492
99373ce4
VS
34932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/fs/iso9660.c: Remove nested functions.
3496
5aec2afe
VS
34972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3500 of parent function.
3501
6c69e691
VS
35022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * util/grub-fstest.c: Remove nested functions.
3505
43c91882
VS
35062013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * grub-core/loader/machoXX.c: Remove nested functions.
3509
4eb8b756
CW
35102013-02-27 Colin Watson <cjwatson@ubuntu.com>
3511
3512 Remove nested functions from disk and file read hooks.
3513
3514 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3515 (struct grub_disk): Add read_hook_data member.
3516 * include/grub/file.h (struct grub_file): Likewise.
3517 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3518 argument.
3519
3520 Update all callers.
3521
df6da5a5
AB
35222012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3523
3524 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3525 Fix off by one error in enumerating extended partitions.
3526
21aecde5
AB
35272013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3528
3529 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3530 memory leak if device name is not found.
3531
f1a19118
AB
35322013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3533
3534 * grub-core/normal/menu_entry.c (update_screen): remove
3535 unused variable `off' which caused scroll down arrow to be always shown.
3536
958bfd20
AB
35372013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3538
3539 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3540 access to unallocated memory.
3541
b7b78edb
AB
35422013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3543
3544 * Makefile.util.def: Add partmap/msdos.c to common library.
3545 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3546 * grub-core/disk/ldm.c: Check for existence of
3547 GRUB_PC_PARTITION_TYPE_LDM.
3548
28d468d6
VS
35492013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3552 sizes and display sector size.
3553
d55ffb02
VS
35542013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 Implement new command cmosdump.
3557
b5ea6ce0
VS
35582013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3559
3560 Support Openfirmware disks with non-512B sectors.
3561
3562 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3563 size of the disk.
3564 * (grub_ofdisk_get_block_size): New function.
3565 * (grub_ofdisk_prepare): Use the correct block size.
3566 * (grub_ofdisk_read): Likewise.
3567 * (grub_ofdisk_write): Likewise.
3568 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3569 New proto.
3570
cc0e476f
VS
35712013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3574
c5dbdc33
VS
35752013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3578 on first error.
3579
3f078c0f
VS
35802013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3583 freeing it.
3584
66a93674
VS
35852013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Implement USBDebug (full USB stack variant).
3588
c9f0c134
VS
35892013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3592 unless they have unexpected values.
3593
cfe1288b
VS
35942013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3597 grub_print_error.
3598
e42b9969
VS
35992013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3602 zero-out of port structure.
3603
cf94fd62
VS
36042013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3607 of extended attributes.
3608
f81ef4b5
AB
36092013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3610
3611 * util/grub-install.in: change misleading comment about
3612 device.map creation
3613
af18fdb4
VS
36142013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3617 when menu highlight color isn't set.
3618
08bcec50
M
36192013-01-27 C. Masloch <pushbx@38.de>
3620
3621 Improve FreeDOS direct loading support compatibility.
3622
3623 * include/grub/i386/relocator.h (grub_relocator16_state):
3624 New member ebp.
3625 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3626 variable.
3627 (grub_relocator16_boot): Handle %ebp.
3628 * grub-core/lib/i386/relocator16.S: Likewise.
3629 * grub-core/loader/i386/pc/freedos.c:
3630 Load BPB to pass kernel which partition to load from.
3631 Check that kernel file is not too large.
3632 Set register dl to BIOS unit number as well.
3633
7782b8a6
CW
36342013-01-22 Colin Watson <cjwatson@ubuntu.com>
3635
3636 * util/grub-reboot.in (usage): Document the need for
3637 GRUB_DEFAULT=saved.
3638 * util/grub-set-default.in (usage): Likewise.
3639 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3640
e661c180
VS
36412013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3644 than defining WORDS_BIGENDIAN manually.
3645
1c22ca9a
VS
36462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3649 invariants.
3650
d44892fe
CW
36512013-01-21 Colin Watson <cjwatson@ubuntu.com>
3652
3653 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3654 nested.
3655 (blit_comb: add_device_width): Likewise.
3656
5fdbaed1
CW
36572013-01-21 Colin Watson <cjwatson@ubuntu.com>
3658
3659 Remove nested functions from USB iterators.
3660
3661 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3662 (grub_usb_controller_iterate_hook_t): Likewise.
3663 (grub_usb_iterate): Add hook_data argument.
3664 (grub_usb_controller_iterate): Likewise.
3665 (struct grub_usb_controller_dev.iterate): Likewise.
3666
3667 Update all implementations and callers.
3668
4250985a
VS
36692013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3672 margin when not needed.
3673
7d8848f3
VS
36742013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3675
bc136973 3676 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3677
36782013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3679
bc136973
VS
3680 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3681 asterisk.
7d8848f3 3682
ed12a003
CW
36832013-01-21 Colin Watson <cjwatson@ubuntu.com>
3684
3685 Fix powerpc and sparc64 build failures caused by un-nesting memory
3686 map iterators.
3687
6a0db449
CW
36882013-01-21 Colin Watson <cjwatson@ubuntu.com>
3689
3690 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3691 parameter declarations.
3692
ccd86b21
VS
36932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3696
822b726b
VS
36972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Improve spkmomdem reliability by adding a separator between bytes.
3700
115c2cc1
CW
37012013-01-21 Colin Watson <cjwatson@ubuntu.com>
3702
3703 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3704 an Acer registration utility with several sightings in the wild.
3705 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3706
fc524edf
CW
37072013-01-21 Colin Watson <cjwatson@ubuntu.com>
3708
3709 Remove nested functions from filesystem directory iterators.
3710
3711 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3712 (struct grub_fs.dir): Add hook_data argument.
3713
3714 Update all implementations and callers.
3715
53d3e4e3
CW
37162013-01-21 Colin Watson <cjwatson@ubuntu.com>
3717
3718 * docs/grub.texi (Multi-boot manual config): Fix typo for
3719 "recommended".
3720
c821711f
LL
37212013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3722
3723 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3724 until after its use in generate_image.
3725
6a0debbd
CW
37262013-01-20 Colin Watson <cjwatson@ubuntu.com>
3727
3728 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3729 initrd size to addr_min, since the initrd will be allocated after
3730 this address.
3731
f41e08db
AB
37322013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3733
3734 * conf/Makefile.common: Fix autogen rules to pass definition
3735 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3736
77529e0f
LL
37372013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3738
3739 * include/grub/elf.h: Update ARM definitions based on binutils.
3740
b879aa7b
VS
37412013-01-20 Aleš Nesrsta <starous@volny.cz>
3742
3743 Split long USB transfers into short ones.
3744
8eb8284d
AB
37452013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3746
3747 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3748 is interrupted by ESC.
3749
08dad2dc
VS
37502013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * util/grub-script-check.c (main): Uniform the error message.
3753
6c724b85
CW
37542013-01-20 Colin Watson <cjwatson@ubuntu.com>
3755
3756 Remove nested functions from ELF iterators.
3757
25239370
CW
37582013-01-20 Colin Watson <cjwatson@ubuntu.com>
3759
3760 Remove nested functions from device iterators.
3761
3762 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3763 (grub_arc_iterate_devs): Add hook_data argument.
3764 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3765 (struct grub_ata_dev.iterate): Add hook_data argument.
3766 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3767 (grub_device_iterate): Add hook_data argument.
3768 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3769 (struct grub_disk_dev.iterate): Add hook_data argument.
3770 (grub_disk_dev_iterate): Likewise.
3771 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3772 Likewise.
3773 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3774 Likewise.
3775 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3776 type.
3777 (struct grub_partition_map.iterate): Add hook_data argument.
3778 (grub_partition_iterate): Likewise.
3779 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3780 (struct grub_scsi_dev.iterate): Add hook_data argument.
3781
3782 Update all callers.
3783
6c0314d6
CW
37842013-01-20 Colin Watson <cjwatson@ubuntu.com>
3785
3786 Fix typos for "developer" and "development".
3787
600dc5f1
VS
37882013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Add license header to spkmodem-recv.c.
3791
17334a6b
VS
37922013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 Rewrite spkmodem to use PIT for timing. Double the speed.
3795
7d462559
VS
37962013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 Add new command pcidump.
3799
b78d6c32
VS
38002013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 New terminal outputs using serial: morse and spkmodem.
3803
34f71cb8
VS
38042013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 Improve bidi handling in entry editor.
3807
4542e71b
VS
38082013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3811 argument to prevent name collision.
3812
09fd6d82
CW
38132013-01-15 Colin Watson <cjwatson@ubuntu.com>
3814
3815 Remove nested functions from script reading and parsing.
3816
3817 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3818 getline_data argument, passed to getline.
3819 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3820 getline_data argument, passed to grub_parser_split_cmdline.
3821 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3822 lexerstate->getline_data to lexerstate->getline.
3823 (grub_script_lexer_init): Add getline_data argument, saved in
3824 lexerstate->getline_data.
3825 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3826 argument, passed to grub_script_parse.
3827 * grub-core/script/script.c (grub_script_parse): Add getline_data
3828 argument, passed to grub_script_lexer_init.
3829 * include/grub/parser.h (grub_parser_split_cmdline): Update
3830 prototype. Update all callers to pass appropriate getline data.
3831 (struct grub_parser.parse_line): Likewise.
3832 (grub_rescue_parse_line): Likewise.
3833 * include/grub/reader.h (grub_reader_getline_t): Add void *
3834 argument.
3835 * include/grub/script_sh.h (struct grub_lexer_param): Add
3836 getline_data member.
3837 (grub_script_parse): Update prototype. Update all callers to pass
3838 appropriate getline data.
3839 (grub_script_lexer_init): Likewise.
3840 (grub_normal_parse_line): Likewise.
3841
3842 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3843 data argument.
3844 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3845 static instead of nested. Rename to ...
3846 (grub_parser_execute_getline): ... this.
3847 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3848 data argument.
3849 * grub-core/normal/main.c (read_config_file: getline): Make static
3850 instead of nested. Rename to ...
3851 (read_config_file_getline): ... this.
3852 (grub_normal_read_line): Add unused data argument.
3853 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3854 getline): Make static instead of nested. Rename to ...
3855 (grub_script_execute_sourcecode_getline): ... this.
3856 * util/grub-script-check.c (main: get_config_line): Make static
3857 instead of nested.
3858
d0d4b8a0
CW
38592013-01-15 Colin Watson <cjwatson@ubuntu.com>
3860
3861 Remove nested functions from memory map iterators.
3862
3863 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3864 argument, passed to hook.
3865 * grub-core/kern/i386/coreboot/mmap.c
3866 (grub_linuxbios_table_iterate): Likewise.
3867 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3868 instead of nested.
3869 (grub_machine_mmap_iterate): Add hook_data argument.
3870 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3871 Add hook_data argument, passed to hook.
3872 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3873 Likewise.
3874 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3875 Likewise.
3876 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3877 Likewise.
3878 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3879 Likewise.
3880 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3881 Likewise.
3882 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3883 Likewise.
3884 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3885 (grub_machine_mmap_iterate): Likewise.
3886 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3887 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3888 prototype.
3889 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3890 Remove NESTED_FUNC_ATTR from here and from all users.
3891 (grub_mmap_iterate): Update prototype.
3892 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3893 pass appropriate hook data.
3894 (grub_machine_mmap_iterate): Likewise.
3895
3896 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3897 static instead of nested.
3898 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3899 Rename to ...
3900 (lsmmap_hook): ... this.
3901 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3902 Likewise.
3903 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3904 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3905 heap_init): Likewise.
3906 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3907 Rename to ...
3908 (mmap_iterate_hook): ... this.
3909 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3910 Likewise.
3911 * grub-core/lib/ieee1275/relocator.c
3912 (grub_relocator_firmware_get_max_events: count): Likewise.
3913 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3914 to ...
3915 (grub_relocator_firmware_fill_events_iter): ... this.
3916 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3917 hook): Likewise. Rename to ...
3918 (grub_relocator_alloc_chunk_align_iter): ... this.
3919 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3920 Rename to ...
3921 (generate_e820_mmap_iter): ... this.
3922 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3923 Rename to ...
3924 (count_hook): ... this.
3925 (grub_linux_boot: hook): Likewise. Rename to ...
3926 (grub_linux_boot_mmap_find): ... this.
3927 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3928 (grub_linux_boot_mmap_fill): ... this.
3929 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3930 hook): Likewise. Rename to ...
3931 (grub_fill_multiboot_mmap_iter): ... this.
3932 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3933 hook): Likewise. Rename to ...
3934 (count_hook): ... this.
3935 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3936 hook): Likewise. Rename to ...
3937 (grub_fill_multiboot_mmap_iter): ... this.
3938 * grub-core/loader/powerpc/ieee1275/linux.c
3939 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3940 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3941 Likewise. Rename to ...
3942 (alloc_phys_choose): ... this.
3943 (determine_phys_base: get_physbase): Likewise.
3944 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3945 find_hook): Likewise.
3946 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3947 (malloc_hook: count_hook): Likewise.
3948 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3949 Likewise. Rename to ...
3950 (lower_hook): ... this.
3951 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3952 (upper_hook): ... this.
3953 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3954 (post64_hook): ... this.
3955 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3956 Likewise. Rename to ...
3957 (lower_hook): ... this.
3958 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3959 (upper_hook): ... this.
3960 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3961 (grub_mmap_iterate: fill_hook): Likewise.
3962 (fill_mask): Pass addr and mask within a single struct.
3963 (grub_cmd_badram: hook): Make static instead of nested. Rename
3964 to ...
3965 (badram_iter): ... this.
3966 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3967 (cutmem_iter): ... this.
3968
22099030
VS
39692013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3972 delimit path in strings using quotes.
3973 * util/getroot.c (grub_guess_root_devices): Likewise.
3974 (grub_make_system_path_relative_to_its_root): Likewise.
3975 * util/grub-probe.c (probe): Likewise.
3976 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3977 (xrealpath): Likewise.
3978
4a9950ec
VS
39792013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Fix compilation with older compilers.
3982
3983 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3985 declarations.
3986 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3987 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3988 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3989 identifier with b.
3990 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3991 * include/grub/crypto.h: Add type defines.
3992 * util/import_gcrypth.sed: Remove duplicate type defines.
3993
adcc6020
VS
39942013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 New command list_trusted.
3997
3998 * grub-core/commands/verify.c (grub_cmd_list): New function.
3999
a4528937
CW
40002013-01-13 Colin Watson <cjwatson@ubuntu.com>
4001
4002 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4003 info message.
4004
ca3a7446
CW
40052013-01-13 Colin Watson <cjwatson@ubuntu.com>
4006
4007 Remove nested functions from PCI iterators.
4008
4009 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4010 passed to hook. Update all callers to pass appropriate hook data.
4011 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4012 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4013 Remove NESTED_FUNC_ATTR from here and from all users.
4014 (grub_pci_iterate): Update prototype.
4015 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4016 instead of nested. Rename to ...
4017 (grub_cs5536_find_iter): ... this.
4018 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4019 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4020 Likewise.
4021 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4022 Likewise.
4023 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4024 Likewise.
4025 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4026 Likewise.
4027 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4028 * grub-core/video/radeon_fuloong2e.c
4029 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4030 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4031 find_card): Likewise.
4032 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4033 Likewise.
4034
f8e98fee
VS
40352013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/commands/verify.c: Mark messages for translating.
4038
055b36b6
VS
40392013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4042 fatal.
4043
f7ff879b
VS
40442013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4047 fatal.
4048
40492013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4050
4051 * autogen.sh: Do not try to delete nonexistant files.
4052 * util/import_gcrypth.sed: Add some missing header removals.
4053
01323d49
CW
40542013-01-12 Colin Watson <cjwatson@ubuntu.com>
4055
4056 Clean up dangling references to grub-setup.
4057 Fixes Ubuntu bug #1082045.
4058
4059 * docs/grub.texi (Images): Refer generally to grub-install rather
4060 than directly to grub-setup.
4061 (Installing GRUB using grub-install): Remove direct reference to
4062 grub-setup.
4063 (Device map) Likewise.
4064 (Invoking grub-install): Likewise.
4065 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4066 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4067 * util/grub-install.in (usage): Likewise.
4068
4069 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4070 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4071 grub-setup.
4072 * configure.ac: Remove grub_setup output variable.
4073
4074 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4075 to grub-bios-setup.
4076 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4077 grub-setup to grub-sparc64-setup.
4078
5e3b8dcb
VS
40792013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Import gcrypt public-key cryptography and implement signature checking.
4082
535714bd
VS
40832013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/fs/ntfs.c: Ue more appropriate types.
4086 * grub-core/fs/ntfscomp.c: Likewise.
4087 * include/grub/ntfs.h: Likewise.
4088
3e4f3566
VS
40892013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 Support Apple FAT binaries on non-Apple platforms.
4092
4093 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4094 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4095 Likewise.
4096 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4097 Apple FAT binaries.
4098
4dedb13f
VS
40992013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4102 sector devices.
4103
f8861eaf
CW
41042013-01-07 Colin Watson <cjwatson@ubuntu.com>
4105
4106 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4107 explicitly zeroing elements.
4108 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4109 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4110 of elements in a structure already allocated using grub_zalloc.
4111 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4112
86065b0a
CW
41132013-01-07 Colin Watson <cjwatson@ubuntu.com>
4114
4115 * docs/grub.texi (grub_cpu): New subsection.
4116 (grub_platform): Likewise.
4117
c6f1e92f
VS
41182013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4121
f797ec85
VS
41222013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4125 divisions.
4126
033d0b4b
VS
41272013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4130 * grub-core/fs/ntfscomp.c: Likewise.
4131 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4132 (grub_ntfs_comp): Likewise.
4133
21d1b9a0
VS
41342013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4137 Rename to ...
4138 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4139 of groups_per_block. All users updated.
4140
10ca8645
VS
41412013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4144 grub_error properly.
4145 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4146 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4147
a4c3ed4c
VS
41482013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4151 always in /boot/zfs.
4152 Reported by: Yuta Satoh.
4153
0b716507
YS
41542013-01-03 Yuta Satoh <nigoro>
4155
4156 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4157 ${grub_probe}
4158
00c05e22
VS
41592013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * configure.ac: Extend -Wno-trampolines to host.
4162
dadddb76
VS
41632013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4166 entry->len = 0.
4167
54ce53ca
CW
41682013-01-03 Colin Watson <cjwatson@ubuntu.com>
4169
4170 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4171 (Invoking grub-script-check): Likewise.
4172
8912efca
CW
41732013-01-03 Colin Watson <cjwatson@ubuntu.com>
4174
4175 * docs/grub.texi (Invoking grub-mount): New section.
4176 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4177
c3fc8394
CW
41782013-01-02 Colin Watson <cjwatson@ubuntu.com>
4179
4180 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4181 test failures, so that a failing unit test correctly causes 'make
4182 check' to fail.
4183
45d26abb
CW
41842013-01-02 Colin Watson <cjwatson@ubuntu.com>
4185
4186 Fix failing printf test.
4187
4188 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4189 '$' in the correct order when collecting type information.
4190
971dd2c6
CW
41912013-01-02 Colin Watson <cjwatson@ubuntu.com>
4192
4193 * docs/grub.texi (configfile): Explain environment variable
4194 handling.
4195 (source): New section.
4196 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4197
5c67ea6c
CW
41982012-12-31 Colin Watson <cjwatson@ubuntu.com>
4199
4200 Remove several trivially-unnecessary uses of nested functions.
4201
4202 * grub-core/commands/i386/pc/sendkey.c
4203 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4204 instead of nested.
4205 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4206 Rename to ...
4207 (legacy_file_getline): ... this.
4208 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4209 Likewise.
4210 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4211 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4212 to ...
4213 (probe_dummy_iter): ... this.
4214 * grub-core/kern/i386/coreboot/mmap.c
4215 (grub_linuxbios_table_iterate: check_signature): Likewise.
4216 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4217 check_varstate): Likewise. Mark inline.
4218 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4219 an additional parameter.
4220 (find_long: fnd_long): Likewise. Pass two additional parameters.
4221 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4222 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4223 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4224 Likewise. Rename to ...
4225 (grub_cmos_find_port_iter): ... this.
4226 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4227 Rename to ...
4228 (find_rtc_iter): ... this.
4229
4230 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4231 function directly into the function body, since it is only called
4232 once.
4233
33a68ac6
CW
42342012-12-30 Colin Watson <cjwatson@ubuntu.com>
4235
4236 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4237 __attribute__ ((unused)).
4238 * grub-core/video/bochs.c (find_card): Likewise.
4239 * grub-core/video/cirrus.c (find_card): Likewise.
4240 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4241 * grub-core/video/sis315pro.c (find_card): Likewise.
4242 * grub-core/video/sm712.c (find_card): Likewise.
4243
608b647a
CW
42442012-12-28 Colin Watson <cjwatson@ubuntu.com>
4245
4246 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4247 Fixes Savannah bug #37821.
4248
fd49ceb3
CW
42492012-12-28 Colin Watson <cjwatson@ubuntu.com>
4250
4251 Apply program name transformations at build-time rather than at
4252 run-time. Fixes Debian bug #696465.
4253
4254 * acinclude.m4 (grub_TRANSFORM): New macro.
4255 * configure.ac: Create output variables with transformed names for
4256 most programs.
4257 * util/bash-completion.d/grub-completion.bash.in: Use
4258 pre-transformed variables for program names.
4259 * util/grub-install.in: Likewise.
4260 * util/grub-kbdcomp.in: Likewise.
4261 * util/grub-mkconfig.in: Likewise.
4262 * util/grub-mkconfig_lib.in: Likewise.
4263 * util/grub-mknetdir.in: Likewise.
4264 * util/grub-mkrescue.in: Likewise.
4265 * util/grub-mkstandalone.in: Likewise.
4266 * util/grub-reboot.in: Likewise.
4267 * util/grub-set-default.in: Likewise.
4268 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4269 * tests/util/grub-shell-tester.in: Remove unused assignment.
4270 * tests/util/grub-shell.in: Likewise.
4271 * util/grub.d/00_header.in: Likewise.
4272
7024b3c0
CW
42732012-12-28 Colin Watson <cjwatson@ubuntu.com>
4274
4275 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4276
4277 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4278 HAVE_RAW_DECL_GETS.
4279 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4280
e3501b13
VS
42812012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4284 Reported by: Eriks Latosheks <foresterlv>.
4285
b40c88a9
VS
42862012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * docs/grub.texi (Network): Update instructions on generating netboot
4289 image.
4290
ce96d01c
VS
42912012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4294 around device name if necessarry.
4295
0f596201
PFS
42962012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4297
4298 * util/grub-install.in: Follow the symbolic link parameter added
4299 to the file command.
4300
600d5bdb
AB
43012012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4302
4303 * util/grub-install.in: Remove stale TODO.
4304
64ebd2f4
PFS
43052012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4306
4307 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4308 dynamic allocation for the bootpath buffer.
4309
74b2fe3e
DTB
43102012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4311
4312 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4313 window too small.
4314
969b804f
VS
43152012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4318 argument rather than font name. All users updated.
4319 (grub_gfxterm_set_window): Likewise.
4320
b9f5ebd6
VT
43212012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4322
4323 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4324 from working.
4325
258f43b7
VS
43262012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * util/getroot.c (convert_system_partition_to_system_disk): Support
4329 nbd disks.
4330
cc1ce5f9
VS
43312012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4334 infinite loop on corrupted FS.
4335
e77a16ca
VS
43362012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Fix big-endian mtime.
4339
4340 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4341 together sec and usec.
4342 (grub_ufs_dir): Use correct byteswapping for UFS time.
4343
d9c48c7b
VS
43442012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 Support big-endian UFS1.
4347
4348 * Makefile.util.def (libgrubmods): Add ufs_be.c
4349 * grub-core/Makefile.core.def (ufs1_be): New module.
4350 * grub-core/fs/ufs_be.c: New file.
4351 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4352 the file.
4353
2f9f40ba
LL
43542012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4355
4356 * include/grub/types.h: Fix functionality unaffecting typo in
4357 GRUB_TARGET_WORDSIZE conditional macro.
4358
48ff0889
PFS
43592012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4360
4361 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4362
03711240
GS
43632012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4364
4365 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4366 that /netbsd appears first (when it exists).
4367
a31b11bd
CJ
43682012-10-12 Christoph Junghans <ottxor@gentoo.org>
4369
4370 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4371 Fixes Savannah bug #37558.
4372
e8a5d5d4
CW
43732012-10-12 Colin Watson <cjwatson@ubuntu.com>
4374
4375 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4376 description of extract_entries_configfile.
4377
43782012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4379
4380 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4381 preferred_address.
4382 (grub_cmd_linux): Likewise.
4383 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4384 preferred_lifetime. Update all users.
4385
288c757d
CW
43862012-09-26 Colin Watson <cjwatson@ubuntu.com>
4387
4388 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4389 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4390
0d35da3f
CW
43912012-09-26 Colin Watson <cjwatson@ubuntu.com>
4392
4393 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4394 errors from grub-probe to /dev/null, not stdout.
4395
b78c3127
VS
43962012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4399 sector 1.
4400
473959f0
CW
44012012-09-24 Colin Watson <cjwatson@ubuntu.com>
4402
4403 * util/grub-install.in: Make the error message if $source_dir
4404 doesn't exist more useful.
4405
794c8c33
CW
44062012-09-22 Colin Watson <cjwatson@ubuntu.com>
4407
4408 Fix grub-emu build on FreeBSD.
4409
4410 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4411 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4412 headers on Linux.
4413 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4414 implementation is currently Linux-specific.
4415 * util/getroot.c (exec_pipe): Define only on Linux or when either
4416 libzfs or libnvpair is unavailable.
4417 (find_root_devices_from_poolname): Remove unused path variable.
4418
86d08fdb
CW
44192012-09-19 Colin Watson <cjwatson@ubuntu.com>
4420
4421 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4422 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4423 should fit before end == 63.
4424
735abf54
CW
44252012-09-19 Colin Watson <cjwatson@ubuntu.com>
4426
4427 * util/grub-setup.c (write_rootdev): Remove unused core_img
4428 parameter. Update all callers.
4429 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4430 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4431 GRUB_SETUP_BIOS.
4432
140acd3c
VS
44332012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4436 (grub_add_tab): New function.
4437 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4438 * util/grub.d/10_illumos.in: Likewise.
4439 * util/grub.d/10_kfreebsd.in: Likewise.
4440 * util/grub.d/10_linux.in: Likewise.
4441 * util/grub.d/10_netbsd.in: Likewise.
4442 * util/grub.d/10_windows.in: Likewise.
4443 * util/grub.d/10_xnu.in: Likewise.
4444 * util/grub.d/20_linux_xen.in: Likewise.
4445 * util/grub.d/30_os-prober.in: Likewise.
4446
7ddffdad
VS
44472012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4450 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4451 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4452 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4453 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4454 ieee1275-nocursor.
4455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4456 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4457
4e092454
VS
44582012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4461 le-conversion.
4462 Reported by: BURETTE, Bernard.
4463
735abf54 44642012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4465
4466 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4467 from comment.
4468
dfd39dbd
CW
44692012-09-14 Colin Watson <cjwatson@ubuntu.com>
4470
4471 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4472 IEEE1275 machines. Fixes powerpc-emu compilation.
4473 * include/grub/terminfo.h: Likewise.
4474
3bfa763c
VS
44752012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4478 a const pointer.
4479 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4480 const pointer.
4481 (efiemu_set_variable): Make vendor_guid a const pointer.
4482
250e475b
VS
44832012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 Don't require grub-mkconfig_lib to generate manpages for programs.
4486
4487 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4488 dependencies, don't add grub-mkconfig_lib.
4489 (program): Pass empty adddeps.
4490 (script): Pass grub-mkconfig_lib as adddeps.
4491
592fd0e4
VS
44922012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4495 * util/getroot.c (grub_find_device): Likewise.
4496 (get_mdadm_uuid): Likewise.
4497 (grub_util_is_imsm): Likewise.
4498 (grub_util_pull_device): Likewise.
4499 * util/grub-probe.c (probe): Likewise.
4500
801a3027
BG
45012012-09-10 Benoit Gschwind <gschwind>
4502
4503 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4504 (devs): Add devpath_8.
4505
c5052c81
PJ
45062012-09-08 Peter Jones <pjones@redhat.com>
4507
4508 * grub-core/Makefile.core.def (efifwsetup): New module.
4509 * grub-core/commands/efi/efifwsetup.c: New file.
4510 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4511 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4512 New define.
4513 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4514
8e832f71
JS
45152012-09-05 Jiri Slaby <jslaby@suse.cz>
4516
4517 * configure.ac: Add SuSe path.
4518
f0f55752
CW
45192012-09-05 Colin Watson <cjwatson@ubuntu.com>
4520
4521 * NEWS: Fix typo.
4522
ecadc4c2
CW
45232012-09-05 Colin Watson <cjwatson@ubuntu.com>
4524
4525 * util/import_gcry.py: Sort cipher_files, to make build system
4526 generation more deterministic.
4527
64498f25
VS
45282012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4531 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4532 (grub_set_datetime): Likewise.
4533
9cc836a2
VS
45342012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4537 warnings.
4538
bcfcea01
VS
45392012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4542
a4099485
VS
45432012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4546
265c162a
CW
45472012-09-04 Colin Watson <cjwatson@ubuntu.com>
4548
4549 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4550 required for checkouts from bzr, but it may be useful for users or
4551 distributors wishing to update translations against a tarball
4552 distribution, and it can be helpful for the tarball to be a superset
4553 of what's in bzr.
4554
3d171e95
CW
45552012-09-04 Colin Watson <cjwatson@ubuntu.com>
4556
4557 * Makefile.am (EXTRA_DIST): Add
4558 grub-core/tests/boot/linux.init-mips.S,
4559 grub-core/tests/boot/linux.init-ppc.S, and
4560 grub-core/tests/boot/linux-ppc.cfg.
4561
f2c2503e
CW
45622012-09-04 Colin Watson <cjwatson@ubuntu.com>
4563
4564 * grub-core/mmap/mips/loongson: Remove empty directory.
4565
45662012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4567
4568 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4569 gone.
4570
ab2163d5
CW
45712012-09-04 Colin Watson <cjwatson@ubuntu.com>
4572
4573 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4574 grub-sparc64-setup.
4575
ce938140
GS
45762012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4577
4578 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4579
529f58a5
GS
45802012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4581
4582 * po/POTFILES.in: Regenerated.
4583
16cf79e9
GS
45842012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4585
4586 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4587 (NetBSD): New subsection.
4588
39b27f1e 45892012-07-22 Ales Nesrsta <starous@volny.cz>
4590
4591 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4592 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4593
a885261b
VS
45942012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4597 * util/grub.d/10_hurd.in: Add missing quoting.
4598 * util/grub.d/10_illumos.in: Likewise.
4599 * util/grub.d/10_kfreebsd.in: Likewise.
4600 * util/grub.d/10_linux.in: Likewise.
4601 * util/grub.d/20_linux_xen.in: Likewise.
4602
7bd29c01
VS
46032012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 New command `lsefi'.
4606
4607 * grub-core/Makefile.core.def (lsefi): New module.
4608 * grub-core/commands/efi/lsefi.c: New file.
4609 * include/grub/efi/api.h: Add more GUIDs.
4610
ac625d8f
VS
46112012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4614 (grub_bsd_elf32_hook): Likewise.
4615 (grub_bsd_elf64_size_hook): Likewise.
4616 (grub_bsd_elf64_hook): Likewise.
4617 (grub_bsd_load_elf): Likewise.
4618
e73bb801
VS
46192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4622 if hash function is unavailable.
4623 (dec_stream_header): Likewise.
4624
e81db8b5
VS
46252012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4628 filter state.
4629
d187a1c3
VS
46302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 Fix coreboot compilation.
4633
4634 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4635 (grub_vga_text_init_real): ... this.
4636 (grub_vga_text_fini): Rename to ...
4637 (grub_vga_text_fini_real): ... this.
4638
91a05f64
VS
46392012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4642
6af96df7
VS
46432012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/lib/legacy_parse.c: Support clear and testload.
4646
4d569e12
VS
46472012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4650
073b57bb
VS
46512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4654
a706f4cc
VS
46552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/net/tftp.c (ack): Fix endianness problem.
4658 (tftp_receive): Likewise.
4659 Reported by: Michael Davidsaver.
4660
e7850aa9
VS
46612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4664
46652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4668 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4669 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4670
35692881
VS
46712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4674 efi_mmap_size.
4675 Reported by: Stuart Hayes.
4676
c35fc5bd
VS
46772012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4680
4681 * grub-core/Makefile.core.def (mda_text): New module.
4682 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4683 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4684 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4685 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4686 here.
4687 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4688 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4689 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4690 here.
4691 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4692 to ..
4693 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4694 ... here
4695 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4696 here.
4697 * grub-core/term/i386/vga_common.c: Removed.
4698 * include/grub/i386/vga_common.h: Likewise.
4699 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4700 (grub_vga_cr_bw_read): Likewise.
4701 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4702 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4703 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4704 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4705 grub_vga_cr_read/grub_vga_cr_write.
4706 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4707
5f91f701
VS
47082012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * configure.ac: Bump version to 2.00.
4711 * grub-core/normal/main.c (features): Add feature_200_final.
4712
0c4f85f6
VS
47132012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
47142012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4715
4716 * NEWS: Fix unclarity and language mistakes.
4717
f923ad22
VS
47182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4721 additional size to 3 pages.
4722 Reported by: Stuart Hayes.
4723
d22029ba
VS
47242012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * NEWS: Add 2.00 entry.
4727
58eee08f
VS
47282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4731 put explicit "/" for empty path.
4732 (wildcard_expand): Improve dprintf.
4733
c59bdff7
VS
47342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4737 it's equal to currnode. This can happen with "" symlink.
4738
5e6a440a
YB
47392012-06-27 Yves Blusseau <blusseau@zetam.org>
4740
4741 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4742 echo shell command by printf command.
4743
73a68bcb
VS
47442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4747 the value returned by firmware is the maximal position, not diumension.
4748 (grub_terminfo_output_state): Use a more sane fallback.
4749
392a603b
VS
47502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4753
42d0867f
VS
47542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4757 frequency to 150 MHz.
4758
489509f4
VS
47592012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Apple fixes.
4762
4763 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4764 __APPLE_
4765 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4766 definition.
4767 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4768
9f3fc883
VS
47692012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Handle slash in HFS label.
4772
4773 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4774 (grub_hfs_dir): Tanslate slash.
4775 (grub_hfs_label): Don't translate slash.
4776
54853fd7
VS
47772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4780 network protocol listing since it introduces problematic dependency on
4781 net module.
4782
4dc02ddf
VS
47832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4786
c50c867d
VS
47872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Init video early on yeeloong to avoid being rebooted by watchdog.
4790
4791 * grub-core/Makefile.am (gensm712): New target.
4792 (sm712_start.S): Likewise.
4793 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4794 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4795 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4796 description.
4797 * include/grub/vga.h: Move registry definitions to...
4798 * include/grub/vgaregs.h: ... here.
4799
5f92c8a1
VS
48002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4803 signedness.
4804
e9e6f111
VS
48052012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4808 platforms with firmware disk drivers in the core.
4809
754ad9eb
VS
48102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4813 informative verbose message.
4814 (read_lv): Handle 64-bit segment size.
4815
315654c2
VS
48162012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4819
fb022c79
VS
48202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4823 character but still remove trainling spaces.
4824 (grub_fat_label): Ignore archive flag.
4825
8645f72c
VS
48262012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4829 cast between linux_kernel_header and linux_kernel_params.
4830
36498496
VS
48312012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4834 type for size.
4835 (grub_raid6_recover_func_t): Likewise.
4836 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4837 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4838
0b5ea6b8
VS
48392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4842
650cfcfe
GS
48432012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4844
4845 Fix overflow.
4846
4847 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4848 [__NetBSD__]: Add explicit cast before bitshift.
4849
8a4d6a44
VS
48502012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * configure.ac: Bump to 2.00~rc1.
4853
2fb97ed3
VS
48542012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4857 half of $a0.
4858
1fa097dc
VS
48592012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
48602012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4861
4862 * docs/grub.texi: Fix search syntax.
4863 (Multi-boot manual config): Put msdos rather than GPT example.
4864 Grammar corrections.
4865
c890ba78
VS
48662012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4869
0f92dca7
VS
48702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4873
3988c4a0
VS
48742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4877 message on double free. Put the value of magic in case of mismatch.
4878
9e86d4c5
VS
48792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Speed-up video on yeeloong.
4882
4883 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4884 add cached_ptr.
4885 (grub_video_sm712_video_fini): Unmap cached_ptr.
4886 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4887 (grub_video_sm712_set_active_render_target): Removed.
4888 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4889 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4890 sync caches.
4891
ed24c312
VS
48922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Avoid flushing the same line multiple times on loongson.
4895
4896 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4897 Step in 32 bytes and not 1 byte.
4898 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4899 Likewise.
4900
d1718e7d
VS
49012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4904 subvolumes.
4905
982f1909
VS
49062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 Implement flow control for http.
4909
4910 * grub-core/net/http.c (parse_line): Handle response 206.
4911 (http_receive): Stall if too many packets are in the queue.
4912 (http_establish): Fix range header.
4913 (http_seek): Fix double free.
4914 (http_close): Likewise.
4915 (http_packets_pulled): New function.
4916 (grub_http_protocol): Set http_seek
4917 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4918 (ack_real): Set window depending on i_stall.
4919 (grub_net_send_tcp_packet): Likewise.
4920 (grub_net_tcp_stall): New function.
4921 (grub_net_tcp_unstall): Likewise.
4922 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4923 (grub_net_tcp_unstall): Likewise.
4924
bd407d6e
VS
49252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4928
c7564b8e
VS
49292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4932
a3706162
VS
49332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * tests/util/grub-shell.in: Fix a typo.
4936
b27069e0
VS
49372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Implement flow control for tftp.
4940
4941 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4942 packets but stop only if stop condition is satisfied.
4943 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4944 `stall' instead of `eof' as stop condition.
4945 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4946 (http_err): Likewise.
4947 * grub-core/net/tftp.c (ack): Replace the first argument with data
4948 instead of socket.
4949 (tftp_receive): Stall if too many packets are in wait queue.
4950 (tftp_packets_pulled): New function.
4951 (grub_tftp_protocol): Set packets_pulled.
4952 * include/grub/net.h (grub_net_packets): New field count.
4953 (grub_net_put_packet): Increment count.
4954 (grub_net_remove_packet): Likewise.
4955 (grub_net_app_protocol): New field `packets_pulled'.
4956 (grub_net): New field `stall'.
4957
6b9cfac6
VS
49582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4961 sync part to handle them.
4962
f35abd81
VS
49632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4966 * grub-core/net/drivers/ieee1275/ofnet.c
4967 (grub_ieee1275_net_config_real): Likewise.
4968
0e7ec820
VS
49692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4972 the direct route for server/gateway.
4973
9d611a31
VS
49742012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4977 IP address to server name since we may not hame the DNS.
4978
418f45ab
VS
49792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4982 freeing random buffer on failure.
4983 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4984
44a0efc1
VS
49852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4988
531e2241
VS
49892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4992 reserved bytes.
4993 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4994 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4995 Handle malloc error correctly.
4996
cde393c9
VS
49972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5000 blocks.
5001
538478d0
VS
50022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5005 increment.
5006
9b55efe0
VS
50072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5010 none is explicitly specified.
5011
9eb832c3
VS
50122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5015 while reallocating.
5016
d6b7c7c9
VS
50172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Respect netmask from bootp/dhcp.
5020
5021 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5022 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5023 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5024 into ...
5025 (grub_net_add_ipv4_local): ... this.
5026 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5027 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5028 (grub_net_add_ipv4_local): New proto.
5029
67caf9eb
VS
50302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5033 determining EFI memory map size.
5034
43657558
VS
50352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5038
eb6d0dd3
VS
50392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5042 when looking for partition separator.
5043
31230544
VS
50442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5047 Escape commas.
5048
918a2517
VS
50492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 Restructure FAT driver to avoid hook in label reading as it hits a
5052 GCC bug.
5053
5054 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5055 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5056 (grub_fat_iterate_dir): Split into ...
5057 (grub_fat_iterate_init): ... this, ...
5058 (grub_fat_iterate_fini): ... this, ...
5059 (grub_fat_iterate_dir_next): ... and this. All users updated.
5060
9f1d654e
VS
50612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5064 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5065 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5066 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5067 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5068 New fields last_key and last_key_time.
5069 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5070 extended key-esc into extended key-extended key.
5071
52f0f643
VS
50722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 Avoid unnecessary memcpy of whole video buffer.
5075
5076 * grub-core/video/fb/video_fb.c (dirty): New struct.
5077 (framebuffer): Add members current_dirty and previous_dirty.
5078 (dirty): New function.
5079 (grub_video_fb_fill_rect): Update dirty.
5080 (common_blitter): Likewise.
5081 (grub_video_fb_scroll): Likewise.
5082 (doublebuf_blit_update_screen): Copy only dirty part.
5083 (doublebuf_pageflipping_update_screen): Likewise.
5084 (grub_video_fb_doublebuf_blit_init): Init dirty.
5085 (doublebuf_pageflipping_init): Likewise.
5086 (grub_video_fb_setup): Likewise.
5087
e169a180
VS
50882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5091 poll rate.
5092
48556879
VS
50932012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Fix wildcard regexp dot and other special characters handling.
5096 Reported by: Robert Mabee.
5097
5098 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5099 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5100 (split_path): Trigger expansion on '?'.
5101 (unescape): New function.
5102 (wildcard_expand): Unescape parts copied without globbing.
5103 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5104 (grub_script_arglist_to_argv): Don't unescape expansions.
5105
0494408e
VS
51062012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * include/grub/net.h (grub_net_card): New member txbufsize.
5109 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5110 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5111 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5112 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5113 txbufsize.
5114 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5115 compatible property to check for macs. Set
5116 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5117 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5118 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5119 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5120 (send_card_buffer): Use txbuf.
5121 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5122 nested function out of the parent while on it.
5123
cc35fe8f
VS
51242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5127 presence check.
5128 (grub_ieee1275_net_config_real): Fix config pointer.
5129
970a0a09
VS
51302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5133 filename parsing to non-block devices.
5134
3e19bf87
VS
51352012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5138
c62d1a0c
VS
51392012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5142 All users updated.
5143
ef76bec3
VS
51442012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5147 UUID search command even if hints probing failed.
5148
51492012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5150
5151 * po/POTFILES.in: Regenerated.
5152
70aaf305
VS
51532012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Speed-up video on fuloong.
5156
5157 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5158 New function.
5159 (grub_pci_device_unmap_range): Handle non-cached address.
5160 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5161 add direct_ptr.
5162 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5163 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5164 (grub_video_sis315pro_set_active_render_target): Removed.
5165 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5166 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5167 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5168 sync caches.
5169 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5170 New proto.
5171
10400f0b
VS
51722012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * docs/grub.texi (Multi-boot manual config): New section.
5175
ba67e2c6
VS
51762012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Avoid slow read-back from VRAM.
5179
5180 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5181 Move from here ...
5182 * grub-core/video/fb/video_fb.c
5183 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5184 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5185 (front_target): Remove front_target. Add pages.
5186 (grub_video_fb_init): Skip setting front_pages.
5187 (grub_video_fb_fini): Likewise.
5188 (doublebuf_blit_update_screen): Use pages.
5189 (grub_video_fb_doublebuf_blit_init): Likewise.
5190 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5191 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5192 (grub_video_fb_setup): Prefer doublebuffing.
5193
377c98cb
VS
51942012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5197 gzio.
5198
eac49cff
VS
51992012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Add loongson tests.
5202
5203 * tests/util/grub-shell.in: Handle loongson.
5204 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5205 drivers.
5206 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5207 Reboot instead of shutdown if REBOOT is defined.
5208
0321415e
VS
52092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5212 sized ports since unlike on real hardware qemu supports only 32-bit
5213 regs.
5214
3f2bdd8f
VS
52152012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5218 * util/grub-mkrescue.in: Handle loongson.
5219
29a049c9
VS
52202012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5223 Set is_part appropriately.
5224 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5225 names. Canonicalize partition without full disk.
5226
4abde346
VS
52272012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 Revert usb-quiesce since it's wrong.
5230
5231 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5232 (grub_ofdisk_init): Don't do quiesce.
5233
61f1d93b
VS
52342012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5237 PowerMac workaround to Xserves as well.
5238 Information supplied by: Benjamin Herrenschmidt.
5239
a09eb541
VS
52402012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Don't assume that beginning address is also the entry point on ppc.
5243
5244 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5245 (grub_linux_boot): Use linux_entry.
5246 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5247 (grub_linux_load64): Likewise.
5248
505b3c9b
VS
52492012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5252
cbe0b4ef
VS
52532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5256 needlessly lose the console.
5257
3006e981
VS
52582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5261 space.
5262
4e5a96b0
VS
52632012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5264
7da036bb
VS
5265 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5266 than current grub_get_rtc() not implemented when booted with
5267 coreboot without TSC.
5268
5269 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5270 Add machine/time.h to kernel headers on loongson.
5271 * grub-core/Makefile.core.def (kernel): Remove
5272 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5273 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5274 (grub_get_rtc): Likewise.
5275 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5276 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5277 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5278 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5279 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5280 rather than installing known non-working time source.
5281 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5282 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5283 * include/grub/time.h: Don't include machine/time.h.
5284 * include/grub/efi/time.h: Removed.
5285 * include/grub/i386/efi/time.h: Likewise.
5286 * include/grub/i386/ieee1275/time.h: Likewise.
5287 * include/grub/powerpc/ieee1275/time.h: Likewise.
5288 * include/grub/sparc64/ieee1275/time.h: Likewise.
5289 * include/grub/x86_64/efi/time.h: Likewise.
5290
52912012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5294
5295 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5296 value.
5297 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5298 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5299 with dotless variants when any combining above is present.
5300
5561c22d
VS
53012012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5304 text and not binary.
5305
96f7e60e
VS
53062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 Stop polling as soon as we have the packet we were waiting for.
5309
5310 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5311 All users updated.
5312 * grub-core/net/arp.c (have_pending): New var.
5313 (pending_req): Likewise.
5314 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5315 stop indicator.
5316 (grub_net_arp_receive): Set have_pending.
5317 * grub-core/net/dns.c (recv_data): New field stop.
5318 (recv_hook): Set stop.
5319 (grub_net_dns_lookup): Init stop and use as stop condition.
5320 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5321 condition.
5322 * grub-core/net/net.c (grub_net_poll_cards): New argument
5323 stop_condition. Stop when it goes true.
5324 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5325 indicator.
5326 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5327
3e747239
VS
53282012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Keep TX and RX buffers on EFI rather than always allocate new ones.
5331
5332 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5333 card. All users updated.
5334 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5335 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5336 (get_card_packet): Likewise.
5337 (grub_efinet_findcards): Init new fields.
5338
f695e99a
VS
53392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5342 compilation error on sparc64.
5343
9e5e66d1
VS
53442012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 Use ITC on IA64 rather than broken routine based on daytime.
5347
5348 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5349 ia64.
5350 (grub_get_rtc) [__ia64__]: Likewise.
5351 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5352 (get_itc): New function.
5353 (grub_rtc_get_time_ms): Likewise.
5354 (grub_machine_init): Calibrate ITC.
5355 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5356 Keep only on non-ia64. Don't export since it's broken and used only
5357 if TSC is unavailable.
5358
a1767404
VS
53592012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5362 even if it's used.
5363 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5364 Skip if parent is unused.
5365
34b2bced
VS
53662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5369
5e619f40
VS
53702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Fix wildcard escaping.
5373
5374 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5375 * grub-core/script/execute.c (wildcard_escape): .. to here.
5376 Don't escape dot.
5377 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5378 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5379 Don't escape dot.
5380 * grub-core/script/execute.c (gettext_append): Always escape.
5381 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5382 * grub-core/script/yylex.l: Don't cut away the escaping.
5383 * tests/grub_script_echo1.in: Add tests with wildcard.
5384
c8ca5855
VS
53852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5388 (ftdi_hw_configure): Likewise.
5389 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5390 define.
5391 (real_config): Handle 1.5 stop bits.
5392 (pl2303_hw_configure): Likewise.
5393
7183452c
VS
53942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * Makefile.am: Add ppc linux bootcheck.
5397 * grub-core/tests/boot/linux-ppc.cfg: New file.
5398 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5399
f57c84cd
VS
54002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * tests/grub_script_expansion.in: Skip network protocols.
5403
ecfc6207
VS
54042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5407
8d03d284
VS
54082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5411 --rom-directory.
5412 Add -graft-points.
5413
61c42af0
VS
54142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 ESCC serial driver for conducting sautomated tests in qemu.
5417 Not tested on real hardware.
5418
5419 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5420 * grub-core/term/ieee1275/escc.c: New file.
5421 * grub-core/Makefile.core.def (escc): New module.
5422
08fd1291
VS
54232012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5426 invalid on error.
5427 (serial_hw_fetch): Don't read invalid handle.
5428 (serial_hw_put): Don't write into invalid handle.
5429
08dafeea
VS
54302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 Add a 1.5 stop bits value.
5433
5434 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5435 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5436 GRUB_SERIAL_STOP_BITS_1_5.
5437
9068fdcf
VS
54382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5441 value rather than let it uninited.
5442
f4d5820f
VS
54432012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * grub-core/commands/wildcard.c (+check_file): New function.
5446 (wildcard_expand): Don't expand to non-existing files, expand with
5447 suffix and not attempt to expand if not needed.
5448
3d2de9a7
VS
54492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5452 out of partitions containing other partitions.
5453
c5c81ff9
VS
54542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5457 on some qemu versions with GRUB.
5458
5459 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5460 define.
5461 (grub_openbsd_bootarg_pcibios): New struct.
5462 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5463 Add PCIINFO.
5464
08a14e0b
VS
54652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * tests/util/grub-shell.in: Trim firmware output on EFI.
5468
cede3ca3
VS
54692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5472 and coreboot since it's already in kernel.
5473
558d3a60
VS
54742012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5477 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5478 to here. New return value start. All users updated.
5479 Recursively scan linear mappings.
5480 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5481 proto.
5482 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5483 Use grub_util_get_dm_node_linear_info.
5484 * util/getroot.c (convert_system_partition_to_system_disk): Use
5485 grub_util_info rather than grub_dprintf.
5486 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5487
60fde14d
VS
54882012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5491
5492 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5493 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5494
24bd8838
VS
54952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * include/grub/types.h (grub_set_unaligned64): New function.
5498 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5499 (setup): Likewise.
5500
7bc06a49
VS
55012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5504 (grub_ofdisk_fini): Quiesce USB devices.
5505
49cea015
VS
55062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5509 caches.
5510
8dcbe03b
VS
55112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5514
5b258735
VS
55152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/disk/pata.c (grub_pata_pio_read)
5518 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5519 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5520
37ba07eb
VS
55212012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Extend automated tests to qemu-mips.
5524
5525 * Makefile.am: reorganise tests and enable qemu-mips.
5526 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5527 * grub-core/tests/boot/linux.init-mips.S: New file.
5528 * tests/partmap_test.in: Handle ata0 disks.
5529 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5530 non-pc i386.
5531
070038f8
VS
55322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5535 ia64.
5536 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5537 quotes while on it.
5538
004be2cd
VS
55392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5542 (grub_halt): Likewise.
5543 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5544
b1622487
VS
55452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/term/serial.c (grub_serial_register)
5548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5549 the behaviour in line with x86 platforms.
5550
b7b4ab33
VS
55512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5554 (grub_ata_strncpy): Likewise.
5555 (grub_ata_identify): Add missing byteswaps.
5556
5e3535ae
VS
55572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5560 byte-swap.
5561 (screen_read_char): Likewise.
5562 (grub_vga_text_cls): Likewise.
5563
c21b17e6
VS
55642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5567 filenames.
5568 (make_file_path): Likewise.
5569
bf293dec
VS
55702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5573 machines.
5574 Tested by: Paulo Flabiano Smorigo.
5575 Crucial information about API supplied by: Coleen <Last name unknown>.
5576 Reviewed by: Coleen <Last name unknown>.
5577
81f6ef0e
VS
55782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * util/grub-mkimage.c: Disable -Wcast-align.
5581
7284143a
VS
55822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5585 as they are fatal.
5586
b99f3e00
VS
55872012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5590
944f752d
VS
55912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * util/grub-probe.c (escape_of_path): Fix double free.
5594
6cce6f38
VS
55952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * grub-core/commands/videoinfo.c (hook): Show pitch.
5598
1e1eb50e
VS
55992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5602
1c715b5a
VS
56032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5606 (probe): Add ieee1275 to OFW devices.
5607
007ae52d
VS
56082012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5611
4557a36d
VS
56122012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Handle IBM OFW path.
5615
5616 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5617 available.
5618 (of_path_of_scsi): Handle vdevice.
5619
efbeefe9
VS
56202012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5623 Allocate in multiples of 16 to avoid adding a few bytes free region the
5624 windows bugs upon.
5625
15a940bb
VS
56262012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5629 Allocate in multiples of 16 to avoid adding a few bytes free region the
5630 windows bugs upon.
5631 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5632
6e5efd60
VS
56332012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5636 resolutions.
5637 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5638 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5639
0d3d137e
IS
56402012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5641
5642 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5643
45dbe300
VS
56442012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5647 resulted in \\ at the end of the line.
5648
6d8db947
VS
56492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5652 (grub_parser_cmdline_state): Likewise.
5653 (grub_parser_split_cmdline): Likewise.
5654
de89d338
VS
56552012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5658 /dev/root and /dev/dm-*.
5659
00d41dee
VS
56602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5663 fix partially stale display.
5664
f95d1f11
VS
56652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5668 substraction.
5669
6297e197
VS
56702012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5673 Fix MBR remapping workaround.
5674 (grub_util_biosdisk_read) [__linux__]: Likewise.
5675
8a7ecad3
VS
56762012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5679
2b34f944
VS
56802012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * configure.ac: Bump to beta6.
5683
684aef11
CW
56842012-05-31 Christer Weinigel <christer@weinigel.se>
5685
5686 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5687
05b0bb91
VS
56882012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5691 (grub_cmd_linux): Likewise.
5692
bda36bfa
CW
56932012-05-31 Christer Weinigel <christer@weinigel.se>
5694
5695 Fix EHCI low-speed.
5696
5697 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5698 (GRUB_EHCI_MULT_TWO): Likewise.
5699 (GRUB_EHCI_MULT_THREE): Likewise.
5700 (GRUB_EHCI_CMASK_MASK): New enum value.
5701 (GRUB_EHCI_SMASK_MASK): Likewise.
5702 (GRUB_EHCI_CMASK_OFF): Likewise.
5703 (GRUB_EHCI_SMASK_OFF): Likewise.
5704 (grub_ehci_pci_iter): Enable periodic schedule.
5705 (grub_ehci_parse_notrun): Likewise.
5706 (grub_ehci_restore_hw): Likewise.
5707 (grub_ehci_setup_qh): Set flags for low speed transfers.
5708 (grub_ehci_find_qh): Use periodic list for low speed.
5709 (grub_ehci_setup_transfer): Check periodic queue as well.
5710 (grub_ehci_check_transfer): Likewise.
5711 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5712
e12bcb1c
PFS
57132012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5714
5715 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5716 parameter is used.
5717
bcc75fb3
PJ
57182012-05-31 Peter Jones <pjones@redhat.com>
5719
5720 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5721 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5722 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5723
f19cb95e
VS
57242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5727 uninited variable. Allocate at least setup_sects.
5728
a4e5ca80
VS
57292012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Fix handling of EFI with big memory maps.
5732
5733 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5734 (real_mode_mem): Likewise.
5735 (real_mode_target): Likewise.
5736 (real_mode_pages): Likewise.
5737 (prot_mode_pages): Likewise.
5738 (linux_params): New var.
5739 (linux_cmdline): Likewise.
5740 (free_pages): Don't set real mode variables.
5741 (allocate_pages): Don't allocate real mode memory.
5742 (grub_e820_add_region): Remove the limit.
5743 (grub_linux_boot): Allocate and copy real mode memory.
5744 (grub_linux_unload): Free linux_cmdline.
5745 (grub_cmd_linux): Use temporary storage for parameters.
5746 (grub_cmd_initrd): Likewise.
5747 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5748 (linux_kernel_params): Make it 1K big.
5749
ddb73558
VS
57502012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * Makefile.util.def: Remove -Wno-format.
5753 * grub-core/Makefile.core.def: Likewise.
5754
1c4afb60
VS
57552012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * tests/cmp_unit_test.c: Add missing failure message.
5758 * tests/example_unit_test.c: Likewise.
5759 * tests/printf_unit_test.c: Likewise.
5760
941e3a6d
VS
57612012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5764 relaxation of protective MBR requirements.
5765
b105df76
VS
57662012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * configure.ac: Add condition for COND_HOST_XNU.
5769 * Makefile.util.def (10_xnu): New script.
5770 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5771
84e1569e
VS
57722012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5775 objconv bug.
5776
130c0f77
VS
57772012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5780 Binary on other platforms stays identical.
5781
6fd0b143
VS
57822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5785 Apple.
5786
0af1751d
VS
57872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5790
176d5f7d
VS
57912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5794 rather than defining size_t ourselves to avoid conflict.
5795
7de5e20a
VS
57962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5799 initialisation to avoid __bzero reference.
5800
f7143efe
VS
58012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5804 version.
5805 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5806 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5807 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5808 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5809 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5810
e6ad0555
VS
58112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5814 * grub-core/kern/misc.c: Likewise.
5815 * grub-core/loader/i386/xnu.c: Likewise.
5816 * include/grub/i386/tsc.h: Likewise.
5817 * include/grub/symbol.h: Likewise.
5818
4a5a3c4a
VS
58192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5822 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5823 on older compiler.
5824
037f6d90
VS
58252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5828 Implement Apple flavour.
5829 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5830
f7194551
VS
58312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5834 (memmove) [__APPLE__]: Likewise.
5835 (memcpy) [__APPLE__]: Likewise.
5836 (memset) [__APPLE__]: Likewise.
5837 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5838 (memmove) [__APPLE__]: Likewise.
5839 (memcpy) [__APPLE__]: Likewise.
5840 (memset) [__APPLE__]: Likewise.
5841
85a730ca
VS
58422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5845 dependency discard.
5846
40e80b94
VS
58472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/normal/main.c (read_config_file): Provide config_file and
5850 config_directory.
5851 * util/grub.d/41_custom.in: Use config_directoy when available.
5852
9da59c32
VS
58532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5856 (grub_bfs_dir): Likewise.
5857
2787ae53
PJ
58582012-05-27 Peter Jones <pjones@redhat.com>
5859
5860 The old code gives arguments to a printf function which can't work
5861 correctly, and the compiler complains.
5862
5863 * grub-core/tests/example_functional_test.c (example_test): Add
5864 missing text.
5865 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5866 * include/grub/test.h (grub_test_assert_helper): New declaration.
5867 (grub_test_assert): Use grub_test_assert_helper.
5868
526ef13d
VS
58692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5872 (exfctest): ... this to avoid overlong filenames.
5873 All users updated.
5874
20dd511c
VS
58752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 Handle "." and ".." on squashfs.
5878
5879 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5880 Make inode numbers into stack.
5881 (grub_squash_read_symlink): Use stack.
5882 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5883 (make_root_node): Fill stack.
5884 (grub_squash_open): Use stack.
5885
1d80c62a
VS
58862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5889 freeing.
5890
d336f652
VS
58912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5894 stderr on test calls.
5895
8b43f587
VS
58962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5899
80a3dc3f
VS
59002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5903
47e297d4
VS
59042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5907 "..".
5908
df042ccb
VS
59092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5912 (grub_hfsplus_iterate_dir): Add "." and "..".
5913
fc977f48
VS
59142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5917 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5918
f3250e5f
VS
59192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5922 (find_path): Handle "." and "..".
5923
fd8ed4c5
VS
59242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5927 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5928 (grub_affs_iterate_dir): Handle hardlinks.
5929
4ce776d2
MG
59302012-05-26 Matthew Garrett <mjg@redhat.com>
5931
5932 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5933 (grub_efi_console_fini): Likewise.
5934 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5935 (grub_video_gop_fill_mode_info): Rename to ...
5936 (grub_video_gop_fill_real_mode_info): ... this.
5937 (grub_video_gop_fill_mode_info): New function.
5938 (grub_video_gop_setup): Setup double framebuffer.
5939 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5940 Free offscreen.
5941 (grub_video_gop_swap_buffers): Copy framebuffer.
5942 (grub_video_gop_fini): Free offscreen buffer.
5943 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5944 New enum.
5945 (grub_efi_gop_blt_pixel): New struct.
5946
683031ba
VS
59472012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * gentpl.py: Remove error disabling for objconv.
5950
c2deb798
VS
59512012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * configure.ac: Remove -Wunitialized as it's not available on older
5954 compilers.
5955
59562012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5957
5958 Fix extent overflow comparator.
5959
5960 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5961 (grub_hfsplus_read_block): Set type.
5962 (grub_hfsplus_cmp_extkey): Compare type.
5963
d6b1fd36
VS
59642012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5967
0a9aa0f6
VS
59682012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5971 than 0.
5972
8360e159
VS
59732012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5976 (dejavu_bold_14.pf2): New target.
5977
501b9e4b
VS
59782012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * configure.ac: Fix djvu font detection.
5981
7026b0e2
VS
59822012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5985 ext* instead of ext2.
5986
c2a51ade
VS
59872012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5990 name with \0.
5991
8f803a5d
JU
59922012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5993
5994 * docs/grub-dev.texi: Remove dot from .png.
5995
13c6353f
VS
59962012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5999 protective entry in any slot.
6000 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6001 if protective entry is found in any slot.
6002
6003 Protective entry in non-first slot make no sense but is a widespread
6004 brain damage.
6005
4cf6be1b
VS
60062012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6009
937d1c44
VS
60102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6013 with old reiserfs.
6014 (grub_reiserfs_open): Don't free root.
6015
021d90ec
VS
60162012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6019 after freeing for safety.
6020
967b2b64
VS
60212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6024 Reported by: Jordan Uggla.
6025
34274d02
JU
60262012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6027
967b2b64
VS
6028 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6029 actual implementation. Specifically, clarify that the grub menu will
6030 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6031 passed.
34274d02 6032
dcaaae9d
BH
60332012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6034
6035 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6036 of r0.
6037
7086ad52
VS
60382012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Remove unjustified hard dependency of normal.mod on gfxterm.
6041
6042 * include/grub/term.h (grub_term_output): New member fullscreen.
6043 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6044 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6045 (grub_gfxterm): Set .fullscreen.
6046 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6047 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6048
37ed2c9b
VS
60492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6052 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6053 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6054
a4469c88
VS
60552012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6058
4e461486
VS
60592012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6062 a bad FS.
6063
aa78f5c4
VS
60642012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6067 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6068
197626b5
VS
60692012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6072 (grub_jfs_mount): Fill caseins.
6073 (grub_jfs_find_file): Respect caseins.
6074
8ad3f28c
VS
60752012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6078 through UTF-16.
6079
0c6c324e
VS
60802012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6083 New argument origpath. All users updated.
6084
c6666ba6
VS
60852012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6088 (read_attr): Ensure that we read start of possibly compressed block.
6089
e28e5fe5
VS
60902012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6093 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6094 All users updated.
6095
5fc23ab2
VS
60962012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6099 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6100 (dejavu.pf2): Replace with ...
6101 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6102 this.
6103
79dbc21c
VS
61042012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * util/grub.d/20_linux_xen.in: Add missing line.
6107
d2fcfb0c
VS
61082012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6111 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6112 (grub_utf16_to_utf8): Likewise.
6113
5560e9d6
VS
61142012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6117 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6118 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6119 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6120 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6121 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6122
61232012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6124
6125 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6126 a bad FS.
6127
5560e9d6 61282012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6129
6130 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6131 (grub_udf_read_symlink): Handle read_string failure.
6132
5eae3175
VS
61332012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6136 comment.
6137
c1ad82db
VS
61382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 Fix handling of UDF symlinks.
6141
6142 * grub-core/fs/udf.c (read_string): New argument outbuf.
6143 All users updated.
6144 (grub_ufs_read_symlink): Rename to ...
6145 (grub_udf_read_symlink): ... this. All users updated.
6146 Handle symlinks with more than one component.
6147
33eca6e0
VS
61482012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6151 symlinks. Replace leading colon with a slash.
6152
57f4a70b
VS
61532012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6156 filename.
6157
38c8ee20
VS
61582012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6161 match in inner node.
6162
2e57f28f
VS
61632012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6166 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6167 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6168 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6169 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6170 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6171 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6172 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6173 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6174
fe8c2f11
VS
61752012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Use grub-probe and not cmp to check that disk is empty.
6178
6179 * util/grub-install.in: Use grub-probe for zero-check.
6180 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6181 (probe): Handle PRINT_ZERO_CHECK.
6182 (argp_parser): Handle -t zero_check.
6183
61842012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6185
6186 Flush block cache on adding disk to device map.
6187
6188 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6189 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6190 adding.
6191 (read_device_map): Likewise.
6192 (open_device): Flush on opening.
6193
690434e8
VS
61942012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6197 (handle_symlink): Fix off-by-one error.
6198 Canonicalize the target.
6199 (grub_cpio_dir): Canonicalize the name.
6200 Fix memory leak.
6201 Set directory.
6202 (grub_cpio_open): Canonicalize the name.
6203
742d2be6
VS
62042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6207 handling.
6208
3244fe96
VS
62092012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6212 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6213
8aeb1837
VS
62142012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6217 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6218 All users updated.
8aeb1837 6219
9133fd05
VS
62202012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6223 counterpart.
6224
6d521c5b
VS
62252012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Fix UFS1 big file support.
6228
6229 * grub-core/fs/ufs.c (INODE): Removed.
6230 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6231 64-bit.
6232 (INODE_MODE): Simplify.
6233 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6234 (grub_ufs_lookup_symlink): Don't use INODE.
6235
21b82e17
VS
62362012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6239
6240 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6241 (grub_minix_data): Replace log_block_size with block_size.
6242 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6243 (grub_minix_mount): Fill block_size.
6244
62452012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6246
6247 * configure.ac: Bump to beta5.
6248
f417ed04
VS
62492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 Fix wrapped HFS+ handling.
6252
6253 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6254 blocks_start. All users updated.
6255 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6256 wrapping offset.
6257 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6258
607d282b
VS
62592012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Fix long symlinks on reiserfs.
6262
6263 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6264 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6265 (grub_reiserfs_iterate_dir): Save size for non-directories.
6266 (grub_reiserfs_open): Don't reread stat block as we already know the
6267 size.
6268 (grub_reiserfs_read): Split into...
6269 (grub_reiserfs_read_real): ... and ...
6270 (grub_reiserfs_read): ...this.
6271
ae16024d
VS
62722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Fix non-indexed JFS.
6275
6276 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6277 (grub_jfs_data): New field namecomponentlen.
6278 (grub_jfs_mount): Fill namecomponentlen.
6279 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6280
eea1e26e
VS
62812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6284 * tests/grub_script_echo1.in: Add tests.
6285
df760f77
VS
62862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * util/grub-install.in: Ignore empty devicetree directory.
6289
5efb817d
B
62902012-05-08 Bean <bean123ch@gmail.com>
6291
6292 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6293 All users updated.
6294 (free_rsm): Free header as well.
6295 (free_old_fragments): Fix memory leak.
6296 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6297 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6298 (destroy_pq): Likewise.
6299 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6300
668ea6d2
VS
63012012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6304 resulting hash as a precaution.
6305
1739b1fe
VS
63062012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6309 '_' in variable names.
6310 * grub-core/net/net.c (grub_net_network_level_interface_register):
6311 Likewise.
6312
6ae485aa
VS
63132012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 Fix AFFS with non-512B blocks.
6316
6317 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6318 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6319 (grub_affs_data): Replace blocksize with log_blocksize.
6320 (grub_affs_read_block): Fix non-512B blocks.
6321 (grub_affs_read_symlink): Likewise.
6322 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6323 (grub_affs_read): Fix non-512B blocks.
6324 (grub_affs_label): Likewise.
6325 (grub_affs_mtime): Likewise.
6326 (grub_affs_mount): Fix block detection routine.
6327
d20fab84
VS
63282012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Add filesystem mtime to AFFS.
6331
6332 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6333 (aftime2ctime): New function.
6334 (grub_affs_dir): Use aftime2ctime.
6335 (grub_affs_label): Fix return value.
6336 (grub_affs_mtime): New function.
6337 (grub_affs_fs): Add mtime.
6338
e87b10f5
VS
63392012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6342 UTF-8.
6343
7dceec9b
VS
63442012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6347 UTF-8.
6348
2f48221f
VS
63492012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6352
dacd85cf
VS
63532012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6356 flags.
6357 (FLAGS_CASE_SENSITIVE): New enum value.
6358 (cache_entry): New struct.
6359 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6360 cache_size and cache.
6361 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6362 Add log_blocksize and fshelp_flags.
6363 (grub_sfs_read_extent): Handle non-512 blocks.
6364 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6365 (grub_sfs_read_file): Handle non-512 blocks.
6366 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6367 fshelp_flags.
6368 (grub_sfs_read_symlink): Handle non-512 blocks.
6369 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6370 (grub_sfs_dir): Free cache.
6371 (grub_sfs_close): Likewise.
6372
24e9a854
VS
63732012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6376 filesystems.
6377
62ace64d
VS
63782012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6381
83b2e89c
VS
63822012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6385
75ccaea3
VS
63862012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6389 (grub_sfs_read_extent): Likewise.
6390 (grub_sfs_read_block): Likewise.
6391 (grub_sfs_mount): Likewise.
6392 (grub_sfs_iterate_dir): Likewise.
6393 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6394 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6395
1b8463f2
VS
63962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 Fix errors on compressed NTFS with 512B clusters.
6399
6400 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6401 types.
6402 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6403 not 0.
6404 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6405 Relax check for inline extents.
6406 (ntfscomp): Return correct -1 on error and not 0.
6407
4f8e368f
VS
64082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * util/grub-install.in: Fix handling of prefix containing spaces.
6411
6f5d5ee8
VS
64122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6415 (grub_squash_read_data): Fix offset byte-swapping.
6416
ce41ab7a
VS
64172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6420 per common usage and preffered in several parts of code.
6421 (grub_memcmp): Likewise.
6422 (grub_strncmp): Likewise.
6423 * include/grub/misc.h (grub_strcasecmp): Likewise.
6424 (grub_strncasecmp): Likewise.
6425 * Makefile.util.def (cmp_test): New test.
6426 (grub_script_strcmp): Likewise.
6427 * tests/cmp_unit_test.c: New file.
6428 * tests/grub_script_strcmp.in: Likewise.
6429 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6430
49717bf4
VS
64312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * include/grub/pci.h: Move enums into no-asm part.
6434
0a308f64
VS
64352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6438
1796965f
ST
64392012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6440
6441 * util/getroot.c (find_hurd_root_device): Try to make error message
6442 and comments to translators clearer.
6443
4e9b2819
VS
64442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6447
076aeb50
VS
64482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6451 btrfs.
6452
19424d94
VS
64532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * docs/grub.cfg: Update.
6456
ebb73076
VS
64572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * docs/grub.texi (PXE): Remove not present variables.
6460
9a1b669c
VS
64612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/net/net.c (defserver_set_env): New function.
6464 (defserver_get_env): Likewise.
6465 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6466
d38bf7d3
VS
64672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6470 entries.
6471
64722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6473
6474 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6475 * grub-core/kern/emu/hostdisk.c: Likewise.
6476
e5e4ca48
ST
64772012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6478
6479 Handle hurd userspace partitions.
6480
6481 * util/getroot.c (find_hurd_root_device): New function.
6482 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6483
56bb5dd5
VS
64842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6487 names.
6488 Reported by: Bastian Blank.
6489
9e8bc27a
VS
64902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6493 crossing page boundary.
6494
aa01499d
VS
64952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 Fix B-tree search in BFS, especially in presence of non-ASCII
6498 characters.
6499
6500 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6501 (find_in_b_tree): Use standard bsearch + btree algorithm.
6502
57006035
VS
65032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6506 and so on.
6507
9d34bb85
MG
65082012-05-03 Matthew Garrett <mjg@redhat.com>
65092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 Suspend broadcom cards in order to stop their DMA.
6512
6513 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6514 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6515 (pci): Don't build on x86 EFI.
6516 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6517 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6518 New function.
6519 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6520 stop_broadcom if running on EFI.
6521 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6522 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6523 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6524 (grub_pci_find_capability): New proto.
6525
01aab997
VS
65262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * docs/grub.texi: Remove dot from the extension as it apparently
6529 doesn't work with some makeinfo versions.
6530
fbd8dca6
VS
65312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6534 with GRUB expectance.
6535
dab797f4
VS
65362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6539
1516bfb4
VS
65402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6543 zero after directory block since last entry may be not 0-terminated if
6544 it ends on block boundary. Use continue instead of if spanning whole
6545 loop.
6546
a3a0eace
VS
65472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Support 4K sectors UDF inline files.
6550
6551 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6552 (grub_udf_extended_file_entry): Likewise.
6553 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6554 All users updated.
6555 (get_fshelp_size): New function.
6556 (grub_udf_read_icb): Read whole block.
6557 (grub_udf_iterate_dir): Likewise.
6558 (grub_udf_dir): Likewise.
6559 (grub_udf_open): Likewise.
6560
c82f16c1
VS
65612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6564
59fd2aac
VS
65652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6568 inline symlinks in addition to workaround.
6569
3b4afb4d
VS
65702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6573
f45c794a
VS
65742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6577
f25cecbd
VS
65782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6581
bb9a34e8
VS
65822012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Fix reiserfs big seek times.
6585
6586 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6587 exact. All users updated.
6588 (grub_reiserfs_read): Use nearest btree search for seeking.
6589 Fix return value on error.
6590
dc478aea
VS
65912012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6594 entries.
6595 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6596 * docs/grub.texi: Update menuentry description.
6597
8db10f47
VS
65982012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6601 crash when embedding onto filesystem.
6602
bcb288ed
VS
66032012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6606 name.
6607
a626fdd7
VS
66082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6611
b2f68477
VS
66122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6615 commit.
6616
ba15b2af
B
66172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
66182012-05-01 Bean <bean123ch@gmail.com>
6619
6620 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6621
a188012e
VS
66222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6625 Special behaviour for len = 0 to read whole file isn't used anywhere and
6626 can cause buffer ovewrflows in several places.
6627
f0a53ed2
VS
66282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6631
5ed554f0
VS
66322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Handle RAIDZ on non-512B sectors.
6635
6636 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6637 max_children_ashift.
6638 (fill_vdev_info_real): Fill max_children_ashift.
6639 (read_device): Use max_children_ashift.
6640
ddc58357
VS
66412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6644
e3282399
VS
66452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6648 disk names.
6649 * docs/grub.texi: Update device.map parts.
6650
ee618bd4
VS
66512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 Don't scan into non-diskfilter devices having diskfilter names.
6654
6655 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6656 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6657 handling.
6658 (scan_disk_hook): New function.
6659
bdf88864
B
66602012-04-29 Bean <bean123ch@gmail.com>
6661
6662 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6663 allocation.
6664
32745f51
MK
66652012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6666
6667 * configure.ac: Detect starfield theme font path
6668 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6669
bc95c8c0
VS
66702012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6673 geometry on serial consoles.
6674
147fbcab
VS
66752012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6678 because of network consoles.
6679
0f42c889
VS
66802012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6683 handling.
6684
4a3594c9
VS
66852012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6688 falls on Q syndrom.
6689
5cb53879
VS
66902012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6693 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6694
b282dfe5
VS
66952012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6698 Allocate at lest 8192 for temporary buffer as required for lzo.
6699
daa59f47
VS
67002012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6703 to cluster_bits, since it's already added in.
6704 (grub_fat_read_data): Likewise.
6705
986748ce
VS
67062012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6709 as long as cluster size is multiple of 512 bytes.
6710
a20f6ad0
VS
67112012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * util/grub-mkrescue.in: Fix locale directory.
6714
385f9abb
VS
67152012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/kern/emu/hostdisk.c (map): Make static.
6718
1c557d30
B
67192012-04-23 Bean <bean123ch@gmail.com>
6720
6721 * util/grub-fstest.c (fstest): Add missing break.
6722
524b5d3a
ST
67232012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6724
6725 Fix hurd build.
6726
6727 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6728 not define nr variable.
fe4824e9 6729 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6730 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6731 grub_find_device): Do not define.
524b5d3a 6732
9a06490c
VS
67332012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 Fix kfreebsd compile and behaviour.
6736
6737 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6738 format-security.
6739 * util/getroot.c: Fix wait.h include.
6740 (grub_guess_root_devices): Error if grub_find_device fails.
6741 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6742 (grub_util_get_dev_abstraction): Likewise.
6743 (grub_util_pull_device): Likewise.
6744 (grub_util_get_grub_dev): Likewise.
6745 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6746
48143d96
VS
67472012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 Fix and unify wholedisk detection.
6750
6751 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6752 is_part. All users updated.
6753 (device_is_wholedisk): Removed.
6754 (grub_util_biosdisk_get_grub_dev): Use is_part.
6755
ebbd24f3
VS
67562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6759 mode.
6760
56f7aa1e
VS
67612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * configure.ac: Bump to beta4.
6764
9c815e01
VS
67652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6768 --fs-uuid --set UUID syntax.
6769
59e2651a
VS
67702012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6773 disunification.
6774
54e03cfc
VS
67752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6778
81092a75
MK
67792012-04-18 Mads Kiilerich <mads@kiilerich.com>
6780
6781 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6782
f8315e14
MG
67832012-04-18 Mike Gilbert <floppym@gentoo.org>
6784
6785 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6786
1501ac21
B
67872012-04-18 Bean <bean123ch@gmail.com>
6788
6789 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6790 place.
6791
cb7f944e
VS
67922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6795 users updated.
6796 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6797 corresponding to GRUB partitions.
6798 (grub_util_biosdisk_write): Likewise.
6799
b72d44a1
VS
68002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 Scan mdraid before LVM.
6803
6804 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6805 (grub_diskfilter_register_front): ... this.
6806 (grub_diskfilter_register_back): New function.
6807 All users of grub_diskfilter_register updated.
6808
33d918b8
VS
68092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * util/grub-install.in: Fix an automatic target detection bug.
6812
c6ca973d
VS
68132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * util/grub-install.in: New option --efi-directory.
6816
b41be562
VS
68172012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6820 boot services if we have no other choice.
6821
68222012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6825 document it.
6826 * tests/util/grub-shell.in: Update to --directory.
6827
e0595a73
VS
68282012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6831
4ed80652
VS
68322012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6835 (grub_minix_read_file): Likewise.
6836 (grub_minix_read_inode): Likewise.
6837 (grub_minix_find_file): Likewise.
6838 (grub_minix_dir): Likewise.
6839
56008077
VS
68402012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * util/grub-setup.c (setup): Fix partition handling and blocklist
6843 check.
6844
ee520775
VS
68452012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6848 redundant buggy overlap check.
6849
16fc9293
VS
68502012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6853 and grub-mknetdir.
6854
9bab65c4
VS
68552012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6858 kh.loadflags on pre-2.00 kernels.
6859
3c491b47
VS
68602012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 Terminate UNDI and PXE before launching the payload to avoid problems
6863 with DMA.
6864
6865 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6866 (grub_loader_flags): ... this. All users updated.
6867 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6868 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6869 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6870 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6871 function.
6872 (grub_pxe_restore): Likewise.
6873 (fini_hnd): New var.
6874 (GRUB_MOD_INIT): Register shutdown hook.
6875 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6876 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6877 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6878 (grub_loader_set): Rename second argument to flags.
6879
851ffada
VS
68802012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6883 written bytes.
6884 (grub_get_num_of_utf8_bytes): New function.
6885 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6886 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6887 executing it.
6888 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6889 (grub_ucs4_to_utf8): Change return type.
6890
491c57a8
VS
68912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6894 warning.
851ffada
VS
6895 * grub-core/fs/bfs.c (hop_level): Likewise.
6896 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6897
756773df
VS
68982012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/lib/adler32.c: Recode due to license unclearness.
6901
fd556a96
VS
69022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6905 (test_header): Likewise.
6906
9f9d3f69
VS
69072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Fix --help formatting.
6910
6911 * util/grub-mkconfig_lib.in (print_option_help): New function.
6912 (grub_fmt): Likewise.
6913 * util/grub-install.in: Use print_option_help and grub_fmt.
6914 * util/grub-kbdcomp.in: Likewise.
6915 * util/grub-mkconfig.in: Likewise.
6916 * util/grub-mknetdir.in: Likewise.
6917 * util/grub-mkrescue.in: Likewise.
6918 * util/grub-mkstandalone.in: Likewise.
6919 * util/grub-reboot.in: Likewise.
6920 * util/grub-set-default.in: Likewise.
6921 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6922
561ec77e
VS
69232012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * linguas.sh: Remove autogenerated *.po.
6926
7ec2b021
VS
69272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * po/README: Move language fetcing to ...
6930 * linguas.sh: ... here.
6931 * po/README: Point to linguas.sh.
6932
a88f3270
VS
69332012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * po/README: Exclude ko.po due to disclaimer problems.
6936
d61357ce
VS
69372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6940 len = 0.
6941 (grub_gettext_translate_real): Handle 0th string.
6942 (grub_gettext_translate): Ensure that "" isn't translated.
6943
505e41dc
VS
69442012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6947 TRANSLATORS comment.
6948 (grub_diskfilter_print_partmap): Propagate changing of error into
6949 warning.
6950
e44092db
VS
69512012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6954 to uint64_t to prevent overflow.
6955 (grub_diskfilter_lv): Increase start_extent and extent_count
6956 to uint64_t to prevent overflow.
6957
9b83956a
VS
69582012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * configure.ac: Increase version.
6961
da0d5b3f
VS
69622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6965
6966 * po/Rules-translit: New file.
6967 * po/arabic.sed: Likewise.
6968 * po/cyrillic.sed: Likewise.
6969 * po/greek.sed: Likewise.
6970 * po/hebrew.sed: Likewise.
6971 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6972 * po/Makefile.in.in: Add extra_dist4.
6973
ac66b453
VS
69742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6977
6978 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6979 modify names. Introduce MODE_BIGENDIAN.
6980 * grub-core/fs/minix_be.c: New file.
6981 * grub-core/fs/minix2_be.c: Likewise
6982 * grub-core/fs/minix3_be.c: Likewise.
6983 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6984 minix3_be.
6985 * grub-core/Makefile.core.def (minix_be): New module.
6986 (minix2_be): Likewise.
6987 (minix3_be): Likewise.
6988
69892012-04-01 Felix <email@hamburg.de>
6990
6991 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6992 (devs): Add MBP 2011.
6993
0a2d5a82
VS
69942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6997
d1625889
VS
69982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/normal/cmdline.c (print_completion): New field
7001 prompt_len.
7002 (grub_cmdline_get): Handle width properly.
7003
6d36a236
VS
70042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7007
9576977e
VS
70082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7011 after 29th of February.
9576977e 7012
d73ff15d
VS
70132012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 Fix exfat endianness handling.
7016
7017 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7018 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7019 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7020 Byte-swap utf16 when necessary.
7021 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7022
bbb39a45
AB
70232012-03-31 Anton Blanchard <anton@samba.org>
70242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 Fix btrfs endianness handling.
7027
7028 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7029 (lower_bound): Make root uint64_t. Use root in le.
7030 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7031 (find_path): Fix template key init.
7032 (grub_btrfs_dir): Fix mtime byteswap.
7033 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7034
354e0af7
VS
70352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7038 recursion_depth. Break infinite resursions. All users updated.
7039
4e75f21c
VS
70402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7043 after free.
7044 Reported by: Peter Jones.
7045
25581802
AB
70462012-03-31 Anton Blanchard <anton@samba.org>
7047
7048 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7049 8 bit values.
7050
08fbf92e
VS
70512012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * util/grub-install.in: Fix nvram call for PreP.
7054
5d1182a6
VS
70552012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7058 the error when some elements are missing into a warning.
7059
3f8cdd90
VS
70602012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7063
51006716
CW
70642012-03-28 Colin Watson <cjwatson@ubuntu.com>
7065
7066 * docs/grub.texi (Invoking grub-probe): New section.
7067 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7068
e1bd676b
VS
70692012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 Fix tab and wide character handling in editor and menu.
7072
7073 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7074 agglomerate control characters with combining marks.
7075 (bidi_line_wrap): Allow break on tab.
7076 (grub_unicode_get_comb_start): New function.
7077 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7078 and tab correctly.
7079 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7080 with a space.
7081 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7082 fixed_tab_size. All users updated.
7083 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7084 (grub_term_getcharwidth): Handle \t.
7085 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7086 and copy.
7087
22e6a774
VS
70882012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 Handle big-endian mdraid.
7091
7092 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7093 * grub-core/Makefile.core.def (mdraid09_be): New module.
7094 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7095 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7096 * grub-core/disk/mdraid_linux_be.c: New file.
7097
3c0eae66
VS
70982012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7101
b6cf74c9
VS
71022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7105 missing quotes which caused confusion among translators.
7106
83c93b9c
VS
71072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * util/grub-mkconfig_lib.in: Fix typo.
7110
ac6fd218
VS
71112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7114 spaces.
7115 * tests/grub_script_leading_whitespace.in: New file.
7116 * Makefile.util.def (grub_script_leading_whitespace): New test.
7117
ba287dd8
VS
71182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7121 to work.
7122
d2d58d0a
VS
71232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7126 starts with control character.
7127
0382d9bb
VS
71282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7131 overflow.
7132 (grub_gdb_outbuf): Likewise.
7133
d83ff9f9
VS
71342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7137 zero terminator. Fixes a crash.
7138
2282da4a
VS
71392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7142 beyond 4 GiB.
7143 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7144 images independently of preffered adderss field.
7145
0ae4f0bd
VS
71462012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7149 * grub-core/commands/regexp.c: Likewise.
7150 * grub-core/loader/i386/linux.c: Likewise.
7151 * grub-core/partmap/msdos.c: Likewise.
7152 * grub-core/script/execute.c: Likewise.
7153 * grub-core/term/gfxterm.c: Likewise.
7154
546fbe9b
VS
71552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Add variable parsing in $"..." and fix several mismatches with bash.
7158
7159 * Makefile.util.def (grub_script_gettext): New test.
7160 * grub-core/script/execute.c (parse_string): New function.
7161 (gettext_append): Likewise.
7162 (grub_script_arglist_to_argv): Use gettext_append.
7163 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7164 * tests/grub_script_gettext.in: New file.
7165
9fdb2d7b
VS
71662012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Fix handling of leading spaces in scripts.
7169
7170 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7171 spaces.
7172 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7173 other than skipping \r. All users updated.
7174 * tests/grub_script_echo1.in: Add space-related tests.
7175 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7176
1a1ac4f6
VS
71772012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7180
b63d89b6
VS
71812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * configure.ac: Bump up the version to beta2.
7184
17f38c0f
VS
71852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Fix gettext reload bugs (e.g. inability to disable gettext
7188 once enabled).
7189
7190 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7191 main_context and secondary_context. All functions updated.
7192 (grub_gettext_translate): Rename to ...
7193 (grub_gettext_translate_real): ... this. Return NULL on failed
7194 translate.
7195 (grub_gettext_translate): Handle secondary context.
7196 (grub_gettext_delete_list): Close file and zero-out the context.
7197 (grub_mofile_open): Don't call grub_gettext_delete_list.
7198 Don't close file.
7199 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7200 if locale="" to avoid pointless error message.
7201 (grub_gettext_env_write_lang): Update lang even if load fails.
7202 Handle secondary context.
7203 (grub_gettext_reread_prefix): New function.
7204 (read_main): Likewise.
7205 (read_secondary): Likewise.
7206 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7207 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7208 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7209 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7210
8e56f870
VS
72112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * configure.ac: Decrease warning level to avoid spurious warnings and
7214 to be able to compile with GCC 4.2.
7215 * Makefile.util.def: Remove -Wno-error=logical-op.
7216
82f6d455
WB
72172012-03-10 William Bittner <william.bittner@gmail.com>
7218
7219 * util/import_unicode.py: Add missing brackets around string for
7220 python 3 support.
7221
1ecd61a4
VS
72222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Fix efi chainloader on network root.
7225
7226 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7227 network devices.
7228 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7229 New function.
7230
14361ee8
VS
72312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7234 unused show_text member.
7235 * docs/grub.texi: Document "text" property.
7236
922aabf3
VS
72372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7240 in dprintf.
7241
ec316771
VS
72422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 Fix IMSM handling on Fedora.
7245
7246 * util/getroot.c (grub_util_is_imsm): New function.
7247 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7248
0f021838
VS
72492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * Makefile.am: Strip gold section.
7252 * conf/Makefile.common: Likewise.
7253 * gentpl.py: Likewise.
7254 * grub-core/Makefile.core.def: Likewise.
7255 * grub-core/genmod.sh.in: Likewise.
7256
1039c8eb
VS
72572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7260 * util/grub.d/20_linux_xen.in: Likewise.
7261 Based on Debian patch.
7262
6dd412cd
VS
72632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * util/grub.d/10_linux.in: Fix syntax error resulting in
7266 Richard Laager's patch.
7267 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7268
3fd8bae5
VS
72692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7272 dependencies.
7273
7eea1671
RL
72742012-03-10 Richard Laager <rlaager@wiktel.com>
7275
7276 * util/grub.d/10_linux.in: Fix ZFS root passing.
7277
e8e0566b
VS
72782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7281 * grub-core/commands/xnu_uuid.c: Likewise.
7282 * grub-core/loader/efi/appleloader.c: Likewise.
7283 * grub-core/script/execute.c: Likewise.
7284 * grub-core/script/main.c: Likewise.
7285 * util/grub-mkfont.c: Likewise.
7286
1acc5b1f
VS
72872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * util/grub-mkfont.c (options): Use more appropriate "select" that
7290 "set" for face index.
7291
35d70620
VS
72922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * util/grub-editenv.c (options): Gettextize command summaries.
7295
c9eb96b5
VS
72962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7299 "out of memory" error messagge.
7300
1f493136
VS
73012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7304 of diskfilter for diskfilter on diskfilter support.
7305
6d790129
VS
73062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7309
005f46c9
VS
73102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7313 themes/starfield.
7314
c8f778a0
VS
73152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7318
de1e64eb
VS
73192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7322
c6d54211
VS
73232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7326 of error message.
7327
dd390777
VS
73282012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7331
5fd1c522
VS
73322012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7335 message.
c6d54211 7336 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7337
fae01f6c
VS
73382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7341 Gettextize.
7342 * util/grub-mount.c (options): Likewise.
7343
292fdaff
VS
73442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7347 gettextize.
7348 * grub-core/commands/search_wrap.c (options): Likewise.
7349
ecdbae77
VS
73502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7353
52bfedfa
VS
73542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7357 size calculation.
7358 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7359 none is known.
7360
55b20e58
VS
73612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7364 "temporary" since it's used in identifier and is limited in space.
7365
fda9d101
VS
73662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * po/POTFILES.in: Regenerate. Include *.h since they contain
7369 translatable strings as well.
7370
6a0295e2
VS
73712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7374 byte-swap on big-endian.
7375 Reported by: Lennart Sorensen
7376
807fb77c
VS
73772012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7380 (allocate_pages): Improve dprintf.
7381 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7382 code32_start. Fill code32_start and kernel_alignment in params.
7383 (grub_cmd_initrd): Use prot_init_space.
7384
61ac50ba
VS
73852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7388
abdd26dd
VS
73892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * util/grub-install.in: Add missing dot at the end of sentence.
7392
6e69da9c
VS
73932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7396 * grub-core/commands/videotest.c: Likewise.
7397 * grub-core/loader/i386/linux.c: Likewise.
7398
4a929343
VS
73992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7402 sentence.
7403 Reported by: Milo Casagrande.
7404
bb51c6c6
VS
74052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7408 * grub-core/commands/gptsync.c: Likewise.
7409 * grub-core/commands/hashsum.c: Likewise.
7410 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7411 * grub-core/commands/legacycfg.c: Likewise.
7412 * grub-core/io/gzio.c: Likewise.
7413 * grub-core/net/net.c: Likewise.
7414 * grub-core/term/gfxterm.c: Likewise.
7415 * grub-core/term/terminfo.c: Likewise.
7416 * grub-core/tests/test_blockarg.c: Likewise.
7417 * grub-core/video/video.c: Likewise.
7418 * util/grub-install.in: Likewise.
7419 * util/grub-mkfont.c: Likewise.
7420
b2b149cb
VS
74212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7424
c7c080ad
VS
74252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7428 Reported by: David Prévot.
c7c080ad 7429
f2e243c0
VS
74302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7433 description.
7434
09963c76
VS
74352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * util/grub-script-check.c (main): Fix a syntax error message which was
7438 unclear.
7439
a50514a8
VS
74402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7443
4650daec
VS
74442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7447 messages.
7448
74492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7450
7451 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7452 without argument.
7453 * util/grub-mount.c (options): Likewise.
7454
bbc5a342
VS
74552012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7458
ef292a87
VS
74592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/net/http.c: Add TRANSLATORS comments.
7462 * grub-core/normal/cmdline.c: Likewise.
7463 * grub-core/normal/misc.c: Likewise.
7464 * grub-core/partmap/msdos.c: Likewise.
7465 * grub-core/parttool/msdospart.c: Likewise.
7466 * grub-core/script/execute.c: Likewise.
7467 * grub-core/script/main.c: Likewise.
7468 * grub-core/term/terminfo.c: Likewise.
7469 * grub-core/video/bitmap.c: Likewise.
7470 * util/grub-install.in: Likewise.
7471 * util/grub-mkimage.c: Likewise.
7472 * util/grub-mklayout.c: Likewise.
7473 * util/grub-setup.c: Likewise.
7474
0fc19bd0
VS
74752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7478 with similar messages in grub-fstest.
7479
d95862ef
VS
74802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * util/grub-install.in: Unify "option requires an argument" message
7483 with similar messages in other files.
7484 * util/grub-mkconfig.in: Likewise.
7485
b7308f90
VS
74862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * util/grub-set-default.in: Replace printf with gettext_printf (the
7489 string in in question is already translated from grub-reboot)
7490
559dc587
VS
74912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * configure.ac: Bump up the version to beta1.
7494
1a11761f
VS
74952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7498 case when min_align = 0.
7499
24539abd
VS
75002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7503 and fix a case when line_start overflows.
7504
32bd735b
VS
75052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * util/grub-reboot.in (usage): Mention id posibility.
7508 * util/grub-set-default.in (usage): Likewise.
7509
1a2fd1e6
VS
75102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7513 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7514 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7515 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7516 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7517 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7518 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7519
90eeab76
VS
75202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/commands/menuentry.c (options): Remove
7523 GRUB_ARG_OPTION_REPEATABLE.
7524 Reported by: Andreas Vogel
7525
5ad1be82
AV
75262012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7527
7528 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7529
cb055286
HE
75302012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7531
7532 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7533 error.
7534
93b1cd79
VS
75352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 Use sort -V by the idea of Georgi Georgiev.
7538
7539 * util/grub-mkconfig_lib.in (version_sort): New function.
7540 (version_test_numeric): Use version_sort.
7541
0cdc126c
VS
75422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 Use submenus in grub-mkconfig.
7545
7546 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7547 * util/grub-mkconfig_lib.in (grub_quote): New function.
7548 (gettext_printf): Use gettext and not gettext_quoted to fix several
7549 messages.
7550 * util/grub.d/10_hurd.in: Use submenus.
7551 * util/grub.d/10_kfreebsd.in: Likewise.
7552 * util/grub.d/10_linux.in: Likewise.
7553 * util/grub.d/10_netbsd.in: Likewise.
7554 * util/grub.d/20_linux_xen.in: Likewise.
7555 * util/grub.d/30_os-prober.in: Likewise.
7556 * util/grub.d/10_illumos.in: Add missing quoting.
7557 * util/grub.d/10_windows.in: Likewise.
7558
d9bef9bc
VS
75592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Fix menu title instability bug.
7562
7563 * grub-core/commands/menuentry.c (options): New option --id.
7564 (grub_normal_add_menu_entry): New argument id. All users updated.
7565 (grub_cmd_menuentry): Handle --id.
7566 (grub_menu_init): Accept unknown arguments.
7567 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7568 feature_menuentry_options.
7569 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7570 saved_entry.
7571 (get_entry_number): Match with id as well.
7572 * include/grub/menu.h (grub_menu_entry): New member id.
7573 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7574 * util/grub.d/00_header.in: Define menuentry_id_option.
7575 * util/grub.d/10_hurd.in: Define id.
7576 * util/grub.d/10_illumos.in: Likewise.
7577 * util/grub.d/10_kfreebsd.in: Likewise.
7578 * util/grub.d/10_linux.in: Likewise.
7579 * util/grub.d/10_netbsd.in: Likewise.
7580 * util/grub.d/10_windows.in: Likewise.
7581 * util/grub.d/20_linux_xen.in: Likewise.
7582 * util/grub.d/30_os-prober.in: Likewise.
7583
75842012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7585
7586 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7587 "scope" with "body".
7588
7c8d0ce7
VS
75892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7592 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7593 prot_size and prot_file_size.
7594
49de079b
VS
75952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7598 All users updated. If easily=1 require raid-5/-6 to be full.
7599 (is_node_readable): Likewise.
7600 (scan_devices): Scan incomplete but readable LVs at the end.
7601 (grub_diskfilter_memberlist): Pull missing devices.
7602 (insert_array): Skip scanning until device is complete or scan is
7603 done otherwise.
7604 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7605 check.
7606 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7607 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7608
aff05d45
MG
76092012-03-03 Matthew Garrett <mjg@redhat.com>
76102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Avoid EFI boot services when loading Linux.
7613
7614 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7615 avoid_efi_bootservices. All users updated.
7616 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7617 argument avoid_efi_bootservices. All users updated.
7618 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7619 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7620 align, min_align, relocatable, prefered_address. All users updated.
7621 Allocate avoiding boot services if kernel is relocatable.
7622 (grub_cmd_linux): Check if kernel is relocatable.
7623 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7624 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7625 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7626 avoid_efi_boot_services.
7627 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7628 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7629 (linux_kernel_params): Likewise.
7630
3935dde2
MG
76312012-03-03 Matthew Garrett <mjg@redhat.com>
76322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 Use EDID on EFI.
7635
7636 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7637 datasize_out.
7638 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7639 modes. Set gop_handle.
7640 (grub_video_gop_get_edid): New function.
7641 (grub_gop_get_preferred_mode): Likewise.
7642 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7643 (grub_video_efi_gop_adapter): Set .get_edid.
7644 * include/grub/efi/edid.h: New file.
7645 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7646
32107ec0
VS
76472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * util/grub-install.in: Load efivars unconditionally.
7650
e70a2c50
VS
76512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * po/Rules-piglatin: Change suffix from .po-update-en to
7654 .po-update-en-piglatin.
7655
8f9cace1
VS
76562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 Add a pig farm.
7659
7660 * po/piglatin.sed: New file.
7661 * po/en@piglatin.header: Likewise.
7662 * po/Rules-piglatin: Likewise.
7663 * po/README: Add en@piglatin to autogenerated languages.
7664
8f95d002
VS
76652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7668 "Command for ...".
7669 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7670 "Check" since we don't check anything.
7671 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7672 is 64-bit one.
7673 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7674 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7675 (grub_md_sha512_real): Likewise.
7676
805a8dcc
VS
76772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/commands/gptsync.c: Fix typographic quoting.
7680 * grub-core/commands/ieee1275/suspend.c: Likewise.
7681 * grub-core/commands/parttool.c: Likewise.
7682 * grub-core/commands/search_wrap.c: Likewise.
7683 * grub-core/commands/videoinfo.c: Likewise.
7684 * grub-core/gfxmenu/gui_label.c: Likewise.
7685 * grub-core/hello/hello.c: Likewise.
7686 * grub-core/kern/emu/main.c: Likewise.
7687 * grub-core/net/net.c: Likewise.
7688 * grub-core/normal/menu.c: Likewise.
7689 * grub-core/normal/menu_text.c: Likewise.
7690 * grub-core/normal/misc.c: Likewise.
7691 * util/grub-editenv.c: Likewise.
7692 * util/grub-install.in: Likewise.
7693 * util/grub-kbdcomp.in: Likewise.
7694 * util/grub-mkconfig.in: Likewise.
7695 * util/grub-mknetdir.in: Likewise.
7696 * util/grub-mkrescue.in: Likewise.
7697 * util/grub-mkstandalone.in: Likewise.
7698 * util/grub-reboot.in: Likewise.
7699 * util/grub-set-default.in: Likewise.
7700 * util/grub-setup.c: Likewise.
7701 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7702
40211ab8
VS
77032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7706 * grub-core/commands/keystatus.c: Likewise.
7707 * grub-core/commands/loadenv.c: Likewise.
7708 * grub-core/commands/probe.c: Likewise.
7709 * grub-core/commands/regexp.c: Likewise.
7710 * grub-core/commands/true.c: Likewise.
7711 * grub-core/commands/videoinfo.c: Likewise.
7712 * grub-core/disk/cryptodisk.c: Likewise.
7713 * grub-core/disk/ldm.c: Likewise.
7714 * grub-core/disk/loopback.c: Likewise.
7715 * grub-core/disk/luks.c: Likewise.
7716 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7717 * grub-core/kern/disk.c: Likewise.
7718 * grub-core/kern/emu/hostdisk.c: Likewise.
7719
0c7d99c7
VS
77202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7723 * util/grub-install.in: Add missing quote in the comment.
7724
e7d2559b
VS
77252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7728 * grub-core/commands/lsmmap.c: Likewise.
7729 * grub-core/commands/minicmd.c: Likewise.
7730 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7731 * grub-core/commands/regexp.c: Likewise.
7732 * grub-core/gdb/gdb.c: Likewise.
7733 * grub-core/term/gfxterm.c: Likewise.
7734 * util/grub-mkconfig.in: Likewise.
7735 * util/grub-mkfont.c: Likewise.
7736 * util/grub-mklayout.c: Likewise.
7737 * util/grub-mknetdir.in: Likewise.
7738 * util/grub-mkrescue.in: Likewise.
7739 * util/grub.d/30_os-prober.in: Likewise.
7740
49ce9e50
VS
77412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7744 with "Direct color" and "Packed" with "Packed pixel".
7745 (grub_cmd_videoinfo): Simplify legend.
7746
e4b791fa
VS
77472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7750 absolutely unclear error message.
7751
fd1265cb
VS
77522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * util/grub-mkstandalone.in: Remove confusing leftover print.
7755
8822a8a0
VS
77562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7759 comments.
7760 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7761 (GRUB_MOD_INIT): Likewise.
7762 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7763 VGA mode.
7764 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7765 comments.
7766 * util/grub-install.in (usage): Likewise.
7767 Spell ID in whole letters.
7768 Add missing ending dot.
7769 Quote variables.
7770 * util/grub-reboot.in: Fix capitalisation.
7771 * util/grub-set-default.in: Likewise.
7772
937fd0cc
VS
77732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7776 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7777 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7778 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7779 Disable -Werror for -Wdeprecated-declarations.
7780 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7781 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7782 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7783 (grub_util_get_grub_dev): Make luks handling dependent on
7784 HAVE_DEVICE_MAPPER and not __linux__.
7785 (get_win32_path): Fix format security.
7786 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7787 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7788 Don't try grub_find_zpool_from_dir.
7789 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7790 #ifdef-out paresdir.
7791
1bab1ae3
VS
77922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/grub-pe2elf.c (usage): Add missing noreturn.
7795 (write_section_data): Rename name to shname to avoid shadowing.
7796 (write_symbol_table): Rename name to symname to avoid shadowing.
7797 Fix write_reloc_section call.
7798
ef023e42
VS
77992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7802 to ensure that it's after the last byte of .text.
7803
48afcb75
VS
78042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * util/ieee1275/ofpath.c (my_isdigit): New function.
7807 (trailing_digits): Use my_isdigit.
7808 (strip_trailing_digits): Likewise.
7809
88d51eff
VS
78102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7813 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7814
17edc2ba
VS
78152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/kern/i386/pc/startup.S: Define __start.
7818
ad5518d7
VS
78192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7822 strip already transforms he format.
7823
9e95e1bf
VS
78242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7827
9cc3ee5c
VS
78282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * util/grub-install.in: Add missing gettext init.
7831 * util/grub-kbdcomp.in: Likewise.
7832 * util/grub-mkconfig.in: Likewise.
7833 * util/grub-mknetdir.in: Likewise.
7834 * util/grub-mkrescue.in: Likewise.
7835 * util/grub-mkstandalone.in: Likewise.
7836 * util/grub-reboot.in: Likewise.
7837 * util/grub-set-default.in: Likewise.
7838 * util/grub.d/00_header.in: Likewise.
7839 * util/grub.d/10_hurd.in: Likewise.
7840 * util/grub.d/10_windows.in: Likewise.
7841 * util/grub.d/30_os-prober.in: Likewise.
7842 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7843
49e08a06
VS
78442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * po/Rules-swiss: Fix header comment.
7847
3809cb41
AV
78482012-02-29 Andreas Vogel <anvoit>
7849
7850 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7851 resulted in leak of arguments.
7852
fa6ec573
VS
78532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7856 reed_solomon_size const definition instead of computing it since
7857 Apple assembler doesn't support the later.
7858
22899b9c
VS
78592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * gentpl.py (kernel): Rewrite Apple part.
7862
a132afc3
VS
78632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7866
9d742bd4
VS
78672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7870 ELF section gap.
7871 (load_image): Likewise.
7872
f04a9a21
VS
78732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * configure.ac: Fix a typo in previous commit.
7876
46cf439c
VS
78772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Don't add -Wl,-N on Apple platform.
7880
7881 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7882 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7883
c4c48c54
VS
78842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/Makefile.core.def (lzma_decompress): Use
7887 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7888
31a12124
VS
78892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/genmod.sh.in: Rewrite the Apple part.
7892
4f3aa1af
VS
78932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7896 comparison.
7897
7bd8b0c7
VS
78982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * acinclude.m4 (grub_CHECK_PIC): New test.
7901 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7902
97304d7c
VS
79032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7906 to avoid the warning.
7907
fb883812
VS
79082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7911 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7912 after. All users updated.
7913
a121c964
VS
79142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 Use the common size routine in hostfs so we can read disks as well.
7917
7918 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7919 (grub_util_get_fd_size): ... this. Return size in bytes.
7920 All users updated.
7921 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7922 grub_util_get_fd_size.
7923
c66d6410
VS
79242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7927 Add blocksize retrieval.
7928
dfc8aeb0
VS
79292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * configure.ac: Restore CFLAGS after efiemu check.
7932
403e25a5
VS
79332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7936 Apple bug.
7937
382775d1
VS
79382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7941
6fd4e6e4
VS
79422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7945 (grub_cmd_halt): Likewise.
7946
bea359d6
VS
79472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7950 for local arithmetics.
7951 Break %sp init into 2 instructions.
7952 Add 0 byte at the end.
7953
32eb6ee1
VS
79542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7957 before loops.
7958
e8377389
VS
79592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7962 for context.
7963
8cb17de7
VS
79642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/disk/ldm.c (make_vg): Init part.name.
7967 (grub_ldm_detect): Silence spurious warning.
7968 (grub_util_is_ldm): Likewise.
7969
595717e6
VS
79702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7973 sane value to avoid a spurious warning.
7974
c4b7e588
VS
79752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7978 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7979
59824957
VS
79802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7983 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7984
70115b99
VS
79852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7988 hardcoding the relevant info.
7989
56733740
VS
79902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7993 missing const qualifiers.
7994 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7995
43481481
VS
79962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * util/getroot.c [__APPLE__]: Add missing includes.
7999 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8000
3cb38f01
VS
80012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8004
d9dbf11e
VS
80052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8008 avoid conflicts.
8009
0c42a45d
VS
80102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8013
46c34eb0
VS
80142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8017 and grub_file_close call.
8018
99ce1597
VS
80192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Add LZSS Mach-O support (needed for new xnu kernelcache).
8022
8023 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8024 * grub-core/loader/lzss.c: New file.
8025 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8026 on Mach-O open failure.
8027 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8028 Don't free cmdsXX in uncompressedXX is set.
8029 (grub_macho_file): Init new fields.
8030 New argument is_64bit. All users updated.
8031 Handle compressed. Error out if no suitable architecture is found.
8032 Don't close file.
8033 (grub_macho_open): New argument is_64bit. All users updated.
8034 * grub-core/loader/macho32.c: Add defines for new fields.
8035 * grub-core/loader/macho64.c: Likewise.
8036 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8037 (grub_macho_parse): Handle compressed.
8038 Defer actual processing if compressed.
8039 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8040 "filename". All users updated.
8041 (grub_macho_size): New argument "filename". All users updated.
8042 (grub_macho_get_entry_point): Likewise.
8043 (grub_macho_load): Handle compressed.
8044 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8045 (GRUB_MACHO_LZSS_OFFSET): New define.
8046 (grub_decompress_lzss): New proto.
8047 * include/grub/machoload.h (grub_macho_file): New fields to handle
8048 compressed.
8049 (grub_macho_contains_macho64): Remove proto.
8050 (grub_macho_contains_macho32): Likewise.
8051 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8052
ebd17d6f
VS
80532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8056
2702b4e4
VS
80572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 Fix make dist.
8060
8061 * Makefile.am (starfield_theme_files): New var.
8062 (starfield_DATA): Use starfield_theme_files.
8063 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8064 Add bootcheck-related files.
8065 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8066 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8067 and font_char_metrics.txt.
8068 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8069 (setjmp): Add lib/ia64/longjmp.S.
8070 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8071 * po/POTFILES.in: Regenerate.
8072 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8073 DISTFILES.common.extra1.
8074 * util/devicemap.c: Removed.
8075 * grub-core/lib/i386/relocator_backward.S: Likewise.
8076 * util/import_gcry.py: Remove unused files. Add extra_dist for
8077 ChangeLog.
8078
cf1adfdf
VS
80792012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8082 grub_gettext_delete_list before changing grub_gettext_max to avoid
8083 running out of array bounds.
8084
80852012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8086
8087 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8088 grub_vga_text_init/grub_vga_text_fini.
8089
cf1adfdf 80902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8091
8092 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8093
541d92e9
VS
80942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * configure.ac: Bump to 2.00~beta0.
8097
7931dddf
VS
80982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8101 missing initialisation.
8102
f1b16fa3
VS
81032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8106
83ddae23
VS
81072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 Support v2 xnu boot arguments.
8110
8111 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8112 New argument fsbfreq_out.
8113 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8114 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8115 be used.
8116 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8117 darwin_version.
8118 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8119 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8120 (grub_xnu_boot_params): Rename to ...
8121 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8122 (grub_xnu_boot_params_v2): New struct.
8123
dc693fe6
VS
81242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8127 zeroing of CRC field before computing CRC.
8128
5a6e39c2
VS
81292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8132 Change order of allocations to decrease fragmentation.
8133
6c21f5d7
VS
81342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8137
cfe456dc
CW
81382012-02-27 Colin Watson <cjwatson@ubuntu.com>
8139
8140 Use write-combining MTRR to speed up video with buggy BIOSes.
8141
8142 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8143 (cpuid): New define.
8144 (rdmsr): Likewise.
8145 (wrmsr): Likewise.
8146 (mtrr_base): Likewise.
8147 (mtrr_mask): Likewise.
8148 (grub_vbe_enable_mtrr_entry): New function.
8149 (grub_vbe_enable_mtrr): Likewise.
8150 (grub_vbe_disable_mtrr): Likewise.
8151 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8152 control off to BIOS.
8153 (grub_video_vbe_init): Fill mtrr.
8154 (grub_video_vbe_fini): Disable mtrr.
8155 (grub_video_vbe_get_info_and_fini): Likewise.
8156 (grub_video_vbe_setup): Enable mtrr.
8157
e3c78337
CW
81582012-02-27 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * include/grub/partition.h (grub_partition_map): Change prototype of
8161 embed to take a maximum value for nsectors.
8162 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8163 * include/grub/fs.h (grub_fs): Likewise.
8164 * grub-core/partmap/msdos.c (embed_signatures): New array.
8165 (pc_partition_map_embed): Check for and avoid sectors matching any
8166 of the signatures in embed_signatures, up to max_nsectors.
8167 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8168 returned sector map to max_nsectors.
8169 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8170 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8171 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8172 * util/grub-setup.c (setup): Allow for the embedding area being
8173 split into multiple blocklists. Tell dest_partmap->embed the
8174 maximum number of sectors we care about.
8175
81762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8179 Specify blocklist_install and reserver_first_sector for all fs.
8180 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8181 blocklists.
8182
984b973f
VS
81832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * util/grub-install.in: Clarify strings.
8186 Fix source dir check.
8187
f122e0d6
RL
81882012-02-27 Richard Laager <rlaager@wiktel.com>
8189
8190 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8191 "zfs" and "fuse.zfs" as synonyms.
8192
071114bb
VS
81932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * configure.ac: Put platform and target_cpu substitutions back since
8196 they are used for directories.
8197
817e6abc
RL
81982012-02-27 Richard Laager <rlaager@wiktel.com>
81992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8202 * util/grub.d/20_linux_xen.in: Likewise.
8203
897b7419
RL
82042012-02-27 Richard Laager <rlaager@wiktel.com>
8205
8206 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8207 with full paths.
8208
a414bd15
RL
82092012-02-27 Richard Laager <rlaager@wiktel.com>
8210
8211 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8212 unescape.
8213
30ac48c4
VS
82142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Don't use insecure popen in getroot.
8217
8218 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8219 (exec_pipe): ... here.
8220 (find_root_devices_from_poolname): Use exec_pipe.
8221
53f13848
VS
82222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Remove platform and target_cpu replacement.
8225
8226 * configure.ac: Remove platform and target_cpu substitutions.
8227 * tests/util/grub-shell.in: Use modinfo.
8228 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8229 explicitly.
8230
90cb2803
VS
82312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 Autodetect platform in grub-install but allow override.
8234
8235 * util/grub-install.in: Autodetect platform. Support --target and
8236 --directory. Read platform from modinfo.sh.
8237
b9136427
VS
82382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Support btrfs multi-volume probe.
8241
8242 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8243 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8244 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8245 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8246 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8247 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8248 grub_find_root_devices_from_btrfs if on btrfs.
8249
c36e5cd1
VS
82502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 Remove any awareness of *.c util files about target.
8253
8254 * Makefile.util.def (grub-setup): Split to ...
8255 (grub-bios-setup): ... and this.
8256 (grub-sparc64-setup): ... and this.
8257 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8258 * docs/man/grub-setup.h2m: Split into ...
8259 * docs/man/grub-sparc64-setup.h2m: ... this.
8260 * docs/man/grub-bios-setup.h2m: ... and this.
8261 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8262 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8263 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8264 (grub_target_addr_t): Remove.
8265 (grub_target_size_t): Remove.
8266 (grub_target_ssize_t): Remove.
8267 * util/grub-install.in: Use new grub-*-setup.
8268 * util/grub-mkimagexx.c (Elf_Word): New define.
8269 (Elf_Half): Likewise.
8270 (Elf_Section): Likewise.
8271 (ELF_ST_TYPE): Likewise.
8272 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8273 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8274
584b2f8a
VS
82752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 Replace grub_target_addr with more appropriate types.
8278
8279 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8280 grub_target_addr with grub_addr.
8281 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8282 grub_target_addr with grub_port.
8283 (grub_cmd_write): Likewise.
8284 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8285 grub_target_addr with grub_addr.
8286 (grub_cmd_write): Likewise.
8287 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8288
5a0dc6fb
VS
82892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8292 const qualifier for vendor_guid.
8293
786aff6e
VS
82942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8297 const qualifier.
8298 (efiemu_memequal): Likewise.
8299 (find_variable): Likewise.
8300
49017b17
VS
83012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 Fix missing console prototype on qemu-mips.
8304
8305 * include/grub/mips/qemu_mips/console.h: New file.
8306
c5988629
MG
83072012-02-27 Matthew Garrett <mjg@redhat.com>
83082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8311 * include/grub/efi/efi.h: Likewise.
8312 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8313 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8314 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8315 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8316 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8317 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8318
e33f8d69
MG
83192012-02-27 Matthew Garrett <mjg@redhat.com>
8320
8321 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8322
fb312cd9
VS
83232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8326 error.
8327
7134247c
VS
83282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * configure.ac: Remove inappropriate use of program_transform_name
8331 on grubdir and bootdir but allow explicit specification of those
8332 variables.
8333
6a313124
VS
83342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * util/grub-mknetdir.in (grub_prefix): Removed.
8337 (subdir): Use @bootdirname@ and @grubdirname@.
8338
2311c5ca
VS
83392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8342
7d5d60f7
VS
83432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * po/POTFILES.in: Regenerated.
8346
8151bc82
VS
83472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 Remove improper use of program_transform_name on pkglibrootdir.
8350
8351 * configure.ac (pkglibrootdir): Removed.
8352 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8353 * util/grub-mkimage.c: Likewise.
8354
b4a6a533
VS
83552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8358 warning.
8359
668f304f
VS
83602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * util/grub-install.in: Use file identifier if no UUID is available
8363 or user explicitly prompted for it.
8364
665f2341
NP
83652012-02-27 Navdeep Parhar <nparhar@gmail.com>
8366
8367 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8368 (freebsd_get_zfs): New function.
8369 (grub_freebsd_boot): Pass zfs UUID.
8370 (grub_cmd_freebsd): Set zfs UUID.
8371
8151bc82 83722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8373
8374 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8375 pkglibrootdir.
8376
e4c498a1
MG
83772012-02-27 Mike Gilbert <floppym@gentoo.org>
8378
8379 Add configure flag to control libzfs integration.
8380
8381 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8382
1e9a9a3f
VS
83832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8386 device.
8387 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8388 small devices.
8389
036985b8
VS
83902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8393 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8394 be used on non-modules.
8395
8396 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8397 Rename to grub_boot_init.
8398 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8399 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8400 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8401 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8402 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8403 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8404 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8405 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8406 includes.
8407 (grub_machine_init): Remove empty inits.
8408 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8409 includes.
8410 (grub_machine_init): Remove empty inits.
8411 * grub-core/term/arc/console.c: Remove explicit proto.
8412 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8413 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8415 grub_at_keyboard_fini.
8416 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8417 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8418 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8419 grub_gfxterm_fini.
8420 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8421 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8422 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8423 grub_vgatext_fini.
8424 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8425 * grub-core/term/serial.c (GRUB_MOD_INIT)
8426 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8427 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8428 grub_serial_fini.
8429 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8430 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8431 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8432 grub_terminfo_fini.
8433 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8434 (GRUB_MOD_FINI): Likewise.
8435 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8436 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8437 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8438 grub_video_radeon_fuloong2e_fini.
8439 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8440 [LOONGSON]: Rename to grub_video_sis315pro_init.
8441 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8442 grub_video_sis315pro_fini.
8443 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8444 [LOONGSON]: Rename to grub_video_sm712_init.
8445 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8446 grub_video_sm712_fini.
8447 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8448 (grub_at_keyboard_fini): Likewise.
8449 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8450 Don't declare grub_{modname}_init.
8451 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8452 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8453 New proto.
8454 (grub_keylayouts_fini) [!EMU]: Likewise.
8455 * include/grub/serial.h (grub_serial_init) [!EMU]:
8456 New proto.
8457 (grub_serial_fini) [!EMU]: Likewise.
8458 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8459 New proto.
8460 (grub_terminfo_fini) [!EMU]: Likewise.
8461 * include/grub/video.h (grub_font_init) [!EMU]:
8462 New proto.
8463 (grub_font_fini) [!EMU]: Likewise.
8464 (grub_gfxterm_init) [!EMU]: Likewise.
8465 (grub_gfxterm_fini) [!EMU]: Likewise.
8466 (grub_video_sm712_init) [!EMU]: Likewise.
8467 (grub_video_sm712_fini) [!EMU]: Likewise.
8468 (grub_video_sis315pro_init) [!EMU]: Likewise.
8469 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8470 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8471 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8472
d5534665
VS
84732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 Make nand a prefix for nand devices.
8476
8477 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8478
10133b5f
VS
84792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8482 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8483
8e307a62
VS
84842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * include/grub/env.h (grub_env_find): Remove prototype.
8487 * grub-core/kern/env.c (grub_env_find): Make static.
8488 (grub_env_set): Remove useless set.
8489
a4c65f34
VS
84902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/kern/i386/realmode.S: Remove useless align.
8493
d87893d5
VS
84942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * include/grub/dl.h (grub_dl_load_file): Don't export.
8497
50159add
VS
84982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8501 grub_dprintf.
8502
b2582b84
VS
85032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8506 grub_errors.
8507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8508 not reloading whole superblock but only the part which is really needed.
8509 Remove useless grub_errors.
8510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8511 grub_errors.
8512
e2a83395
VS
85132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Don't export grub_get_rtc.
8516
8517 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8518 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8519
e7d2a906
VS
85202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8523
6cf1363b
VS
85242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8527 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8528
eece3349
VS
85292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 Remove prio_list.
8532
8533 * include/grub/list.h (grub_prio_list): Removed.
8534 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8535 GRUB_COMMAND_PRIO_MASK.
8536 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8537 GRUB_COMMAND_FLAG_ACTIVE.
8538 (grub_prio_list_insert): Removed.
8539 (grub_prio_list_remove): Likewise.
8540 (GRUB_AS_PRIO_LIST): Likewise.
8541 (GRUB_AS_PRIO_LIST_P): Likewise.
8542 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8543 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8544 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8545 * grub-core/kern/command.c (grub_register_command_prio): Inline
8546 the prio_list code.
8547 (grub_unregister_command): Likewise.
8548
94f064b4
VS
85492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Fix interrupt mixup from previous commit.
8552
8553 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8554 (grub_realidt): New var.
8555 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8556 Load idt.
8557 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8558 New declaration.
8559 (grub_relocator16_boot): Set grub_relocator16_idt.
8560 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8561 (LOCAL(realidt)): ... this.
8562 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8563 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8564 (grub_realidt): New variable.
8565
27317084
VS
85662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8569 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8570 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8571 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8572 Gettextize.
8573 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8574 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8575 * po/POTFILES.in: Regenerate.
8576
47b40053
VS
85772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8580 errors.
8581
2b343101
VS
85822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8585 \0.
8586 (add_length): Likewise.
8587
ff27c3dd
LK
85882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
85892012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8590
8591 GDB serial and backtrace support.
8592
8593 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8594 (prot_to_real): Likewise.
8595 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8596 * grub-core/Makefile.core.def (backtrace): New module.
8597 (gdb): Likewise.
8598 * grub-core/gdb/cstub.c: New file.
8599 * grub-core/gdb/gdb.c: Likewise.
8600 * grub-core/gdb/i386/idt.c: Likewise.
8601 * grub-core/gdb/i386/machdep.S: Likewise.
8602 * grub-core/gdb/i386/signal.c: Likewise.
8603 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8604 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8605 * include/grub/backtrace.h: Likewise.
8606 * include/grub/gdb.h: Likewise.
8607 * include/grub/i386/gdb.h: Likewise.
8608
86092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8610
8611 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8612 New function.
8613 (add_length): Likewise.
8614 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8615 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8616 proto.
8617 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8618 __argp_get_display_len.
8619
ff27c3dd 86202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8621
8622 $"..." support in scripts.
8623
8624 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8625 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8626 * grub-core/script/yylex.l: Likewise.
8627 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8628 value.
8629
ff27c3dd 86302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8631
8632 * gentpl.py: Remove obsolete pkglib_DATA handling.
8633
ff27c3dd 86342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8635
8636 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8637 mailing list.
8638
8639 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8640 * util/grub-kbdcomp.in: Likewise.
8641 * util/grub-mkconfig.in: Likewise.
8642 * util/grub-mkconfig_lib.in: Likewise.
8643 * util/grub-mknetdir.in: Likewise.
8644 * util/grub-mkrescue.in: Likewise.
8645 * util/grub-mkstandalone.in: Likewise.
8646 * util/grub-reboot.in: Likewise.
8647 * util/grub-set-default.in: Likewise.
8648 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8649
ff27c3dd 86502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8651
8652 Remove GRUB_PREFIX.
8653
8654 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8655 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8656 used for backward compatibility.
8657
ff27c3dd 86582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8659
8660 Add new all_video module.
8661
8662 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8663 * grub-core/Makefile.core.def (all_video): New module.
8664 * grub-core/genmoddep.awk: Generate dependency of all_video from
8665 video.lst.
8666 * grub-core/lib/fake_module.c: New file.
8667 * grub-core/normal/main.c (features): Add feature_all_video_module.
8668 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8669 don't do explicit search again.
47454da5 8670 insmod all_video in load_video if available.
22c7ce85 8671
ff27c3dd 86722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8673
8674 Another round of string clarification and adding TRANSLATORS comments.
8675
ff27c3dd 86762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8677
8678 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8679
ff27c3dd 86802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8681
8682 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8683 to grub_ssize_t.
8684 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8685 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8686
ff27c3dd 86872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8688
8689 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8690 trailing newline implicitly. All users updated.
8691
ff27c3dd 86922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8693
8694 Implement serial on IEEE1275 and EFI.
8695
8696 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8697 on emu. Mention arc and emu as the only platforms without serial
8698 support.
8699 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8700 ieee1275 platforms.
8701 * grub-core/term/efi/serial.c: New file.
8702 * grub-core/term/ieee1275/serial.c: Likewise.
8703 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8704 specification if no ns8250 driver is available.
8705 (grub_cmd_serial): Likewise.
8706 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8707 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8708 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8709 (grub_efi_parity_type_t): New type.
8710 (grub_efi_stop_bits_t): Likewise.
8711 (grub_efi_serial_io_interface): New struct.
8712 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8713 available for all interfaces.
8714 Add EFI and IEEE1275 fields.
8715 (grub_ofserial_init): New proto.
8716 (grub_efiserial_init): Likeiwse.
8717 * util/grub.d/00_header.in: Don't check for the presence of serial
8718 module.
8719
ff27c3dd 87202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8721
8722 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8723 name as if it was an alias.
8724
114076ef
VS
87252012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/commands/lsacpi.c (options): Fix typo.
8728
6a656b0e
VS
87292012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 Convert grub-emu to argp.
8732
8733 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8734 emu.
8735 * util/argp_common.c: Rename to ...
8736 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8737 Add missing includes.
8738 * grub-core/kern/emu/main.c: Convert to argp.
8739 * po/POTFILES.in: Regenerate.
8740 * util/grub-install.in (usage): Make first letter lowcase in messages
8741 for uniformity.
8742 * util/grub-setup.c (options): Likewise.
8743
1e3f8ae8
VS
87442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8747 Put back accidently commented-out code.
8748
ed167a80
VS
87492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8752 loop check using Brent algorithm.
8753 (grub_hfsplus_btree_search): Likewise.
8754
6753c0ec
VS
87552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * util/grub-install.in: Fix usage of wrong device for PreP install.
8758
4e27343f
VS
87592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * conf/Makefile.common (CFLAGS_GNULIB): Add
8762 -Wno-unsafe-loop-optimizations.
8763 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8764 on tools.
8765 * grub-core/commands/legacycfg.c: Add pragma to skip
8766 -Wunsafe-loop-optimizations.
8767 (check_password_md5_real): Fix loop counter type.
8768 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8769 reading.
8770 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8771 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8772 loop condition.
8773 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8774 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8775 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8776 condition.
8777 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8778 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8779 avoid possible infinite loops.
8780 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8781 and -Wunsafe-loop-optimizations.
8782 * grub-core/script/yylex.l: Likewise.
8783 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8784 (print_glyphs): Avoid infinite loops.
8785 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8786
697f18b0
GS
87872012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8788
8789 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8790 to avoid infinite loop.
8791 (disp_acpi_rsdt_table): Likewise.
8792
274416e8
VS
87932012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/font/font.c (grub_font_load): Add support for default
8796 path for fonts ($prefix/fonts).
8797 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8798 for checking if string is a path.
8799 * grub-core/normal/main.c (features): Add feature_default_font_path.
8800 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8801 * util/grub.d/00_header.in: Use default directory if possible.
8802 * util/grub-install.in: Install unicode.pf2.
8803
b3e08622
VS
88042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8807 * po/Rules-swiss: New file.
8808 * po/swiss.sed: Likewise.
8809
fe42ce09
VS
88102012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/fs/btrfs.c (find_device): Fix typos.
8813 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8814 * util/grub-mkrelpath.c (argp_parser): Likewise.
8815 Reported by: Yuri Chornoivan.
8816
72f1d065
DO
88172012-02-23 Dalet Omega <daletomega@gmail.com>
8818
8819 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8820 for usual informative messages.
8821
c5884973
DO
88222012-02-23 Dalet Omega <daletomega@gmail.com>
8823
8824 Starfield theme.
8825
8826 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8827 * conf/Makefile.common: Define starfielddir.
8828 * configure.ac: Configure starfield.
8829 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8830 * themes/starfield/README: Likewise.
8831 * themes/starfield/blob_w.png: Likewise.
8832 * themes/starfield/boot_menu_c.png: Likewise.
8833 * themes/starfield/boot_menu_e.png: Likewise.
8834 * themes/starfield/boot_menu_n.png: Likewise.
8835 * themes/starfield/boot_menu_ne.png: Likewise.
8836 * themes/starfield/boot_menu_nw.png: Likewise.
8837 * themes/starfield/boot_menu_s.png: Likewise.
8838 * themes/starfield/boot_menu_se.png: Likewise.
8839 * themes/starfield/boot_menu_sw.png: Likewise.
8840 * themes/starfield/boot_menu_w.png: Likewise.
8841 * themes/starfield/slider_c.png: Likewise.
8842 * themes/starfield/slider_n.png: Likewise.
8843 * themes/starfield/slider_s.png: Likewise.
8844 * themes/starfield/src/blob_nw.xcf: Likewise.
8845 * themes/starfield/src/bootmenu/: Likewise.
8846 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8847 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8848 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8849 * themes/starfield/src/slider_c.xcf: Likewise.
8850 * themes/starfield/src/slider_n.xcf: Likewise.
8851 * themes/starfield/src/slider_s.xcf: Likewise.
8852 * themes/starfield/src/terminalbox/: Likewise.
8853 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8854 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8855 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8856 * themes/starfield/starfield.png: Likewise.
8857 * themes/starfield/terminal_box_c.png: Likewise.
8858 * themes/starfield/terminal_box_e.png: Likewise.
8859 * themes/starfield/terminal_box_n.png: Likewise.
8860 * themes/starfield/terminal_box_ne.png: Likewise.
8861 * themes/starfield/terminal_box_nw.png: Likewise.
8862 * themes/starfield/terminal_box_s.png: Likewise.
8863 * themes/starfield/terminal_box_se.png: Likewise.
8864 * themes/starfield/terminal_box_sw.png: Likewise.
8865 * themes/starfield/terminal_box_w.png: Likewise.
8866 * themes/starfield/theme.txt: Likewise.
8867
17d73325
VS
88682012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * util/grub.d/00_header.in: Add missing export theme.
8871
dbebaf92
VS
88722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8875 already included.
8876 Reported by: Eren D.
8877
3d68bffb
VS
88782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * conf/Makefile.common (grubdatadir): Removed.
8881 (Makefile.am): Move eveything grubdata to pkgdata.
8882
4b59234d
VS
88832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/commands/acpihalt.c (get_sleep_type):
8886 Remove unused variable.
8887
463dcadc
VS
88882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8891 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8892 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8893 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8894 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8895 i18n with gettext no-op.
8896 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8897 GRUB_ACPI_OPCODE_STRING_CONST.
8898 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8899 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8900
e5b90c82
VS
89012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * po/POTFILES.in: Regenerate.
8904
2a704ca9
VS
89052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8908 -Wno-error=missing-noreturn.
8909
84f9d341
VS
89102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8913 condition to avoid possibly infinite loops.
8914 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8915 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8916
d46683f9
VS
89172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8920 condition to avoid possibly infinite loops.
8921
c44866b2
VS
89222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8925 on show_error.
8926
96790539
VS
89272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8930
1ba7e295
VS
89312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8934
21ffe8f1
VS
89352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/bin2h.c (usage): Add missing attribute noreturn.
8938
0ccb6b3c
VS
89392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8942 if the size isn't divisible by 512.
8943
b00d7fb6
VS
89442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Make list_push and list_remove functions rather than inline functions
8947 to decrease size and avoid aliasing violations.
8948
8949 * include/grub/list.h (grub_list_push): Move to ...
8950 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8951 * include/grub/list.h (grub_list_remove): Move to ...
8952 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8953
9d369087
VS
89542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8957 and -Wunused-result.
8958
af0250d9
VS
89592012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8962 Reported by: Seth Goldberg
8963
aad32b14
VS
89642012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8967
ac96441c
ST
89682012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8969
8970 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8971 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8972 command line.
8973 * docs/grub.texi (Simple configuration): Document
8974 GRUB_CMDLINE_GNUMACH.
8975
89762012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8977
8978 * conf/Makefile.common (platform_SCRIPTS): New variable.
8979 (platform_PROGRAMS): Likewise.
8980 * gentpl.py: Mark *,module and *.image for install.
8981 * grub-core/gdb_grub.in: Add a notice of expected environment.
8982 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8983 (gmodule.pl): Likewise.
8984
ac96441c 89852012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8986
8987 Replace grub_checkkey with grub_getkey_noblock.
8988
8989 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8990 (grub_getkey_noblock): ... this. All users updated.
8991
ac96441c 89922012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8993
8994 * grub-core/kern/emu/console.c: Move to ...
8995 * grub-core/term/emu/console.c: ...here.
8996 (grub_ncurses_getkey): Fix return value if no key is detected.
8997
e51b5666
VS
89982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9001 (grub_unit_test_fini): Likewise.
9002 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9003
90042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * include/grub/test.h (GRUB_UNIT_TEST)
9007
d9a62292
VS
90082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9011 Better error handling.
9012 (grub_script_return): Likewise.
9013 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9014
77c9182f
VS
90152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9018 rimplicit redifinition.
9019
edb13cf9
VS
90202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9023 GRUB.
9024
a9e9dc7c
VS
90252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9028 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9029 prompt here.
9030
b4ba8e02
VS
90312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9034 as GRUB_ERR_BUG. Don't malloc if no device is available.
9035
dded5540
VS
90362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9039 Mark calling with invalid term as GRUB_ERR_BUG.
9040
0cf69874
VS
90412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9044 packets rather than raising an error.
9045
59bfe502
VS
90462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9049 in if.
9050
db5fc596
VS
90512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9054 diagnostic to dprintf.
9055 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9056
e4b7f404
VS
90572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9060 device name.
9061
e7b02f9e
VS
90622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9065 (grub_ntfs_iterate_dir): Likewise.
9066
0331e102
VS
90672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Efiemu stylistic fixes and gettext.
9070
9071 * grub-core/efiemu/i386/loadcore32.c
9072 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9073 * grub-core/efiemu/i386/loadcore64.c
9074 (grub_arch_efiemu_relocate_symbols64): Likewise.
9075 * grub-core/efiemu/i386/pc/cfgtables.c
9076 (grub_machine_efiemu_init_tables): Likewise.
9077 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9078 (grub_efiemu_loadcore_initXX): Add a filename argument.
9079 All users updated.
9080 Improved error message.
9081 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9082 Add a filename argument.
9083 All users updated.
9084 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9085 Reclassify double relocation as GRUB_ERR_BUG.
9086
306fc074
VS
90872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9090 handling.
9091
794d8ef2
VS
90922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9095 on partition.
9096
90972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9098
9099 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9100
794d8ef2 91012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9102
9103 Improve string. Gettextize.
9104
78dde88e
VS
91052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9108 utils.
9109 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9110
4786a90f
VS
91112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9114 [GRUB_UTIL]: New function.
9115 (insert_array) [GRUB_UTIL]: Store partmaps.
9116 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9117 partmaps.
9118 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9119 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9120 (probe_abstraction): Print diskfilter and not raid.
9121 Reported by: Lennart Sorensen
9122
0b6225bd
VS
91232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9126 * util/grub-mkimagexx.c (MASK3): New define.
9127 (add_value_to_slot_20b): Use MASK3.
9128 (add_value_to_slot_21): Likewise.
9129 (relocate_addresses): Fix format specification.
9130 (load_image): Explicitly init symtab_section.
9131
b055f8f6
VS
91322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9135 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9136
b77c2fb7
VS
91372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9140 on powerpc.
9141 Reported by: Lennart Sorensen
9142
e3ec28ab
VS
91432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * gentpl.py: Add missing license header.
9146 * docs/grub.texi: Update copyright year.
9147
c8d9ead6
GS
91482012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9149
9150 Source grub-mkconfig_lib from the build directory at build time.
9151 Suggested by: Vladimir Serbinenko.
9152
9153 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9154 * util/grub-install.in: Define pkgdatadir if not already set, and source
9155 grub-mkconfig_lib from there.
9156 * util/grub-kbdcomp.in: Likewise.
9157 * util/grub-mkconfig.in: Likewise.
9158 * util/grub-mknetdir.in: Likewise.
9159 * util/grub-mkrescue.in: Likewise.
9160 * util/grub-mkstandalone.in: Likewise.
9161 * util/grub-reboot.in: Likewise.
9162 * util/grub-set-default.in: Likewise.
9163 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9164
ebcecdf1
VS
91652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Increase warning level.
9168
9169 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9170 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9171 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9172 (TARGET_CFLAGS): Likewise.
9173 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9174 * grub-core/Makefile.core.def (decompressor_xz): Add
9175 -Wno-unreachable-code.
9176 (normal): Add -Wno-redundant-decls.
9177 (xzio): Add -Wno-unreachable-code.
9178 (lzopio): Add -Wno-redundant-decls -Wno-error.
9179 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9180 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9181 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9182 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9183 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9184 * grub-core/kern/i386/coreboot/init.c: Add exception to
9185 -Wsuggest-attribute=noreturn.
9186 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9187 * grub-core/kern/ia64/dl_helper.c: Likewise.
9188 * grub-core/kern/mips/dl.c: Likewise.
9189 * grub-core/kern/sparc64/dl.c: Likewise.
9190 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9191 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9192 (memcmp): Likewise.
9193 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9194 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9195 * grub-core/loader/mips/linux.c: Likewise.
9196 * grub-core/loader/multiboot_elfxx.c: Likewise.
9197 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9198 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9199 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9200 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9201 fixme.
9202 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9203 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9204 Fix prototype.
9205
37bb97fe
VS
92062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9209 address.
9210
29a3550b
VS
92112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9214 Avoid improper use of strings.
9215 (grub_cmd_legacy_initrdnounzip): Likewise.
9216
dfdffd0d
VS
92172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9220 attribute.
9221 (grub_util_info): Likewise.
9222 (grub_util_error): Likewise.
9223
102fae4a
VS
92242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9227 * util/grub-fstest.c (fstest): Likewise.
9228
7e94d044
VS
92292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9232 (grub_md_sha512_real): Likewise.
9233 (grub_util_get_geli_uuid): Likewise.
9234 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9235 (grub_util_biosdisk_open): Fix format specification.
9236 Respect format security.
9237 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9238 (xrealloc): Likewise.
9239 (xasprintf): Likewise.
9240
5ebd9769
VS
92412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * util/import_gcry.py: Include grub/crypto.h in init.c.
9244
495fc8c1
VS
92452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9248 (generate_image): Make prefix a const char *.
9249 Fix format specifications. Respect format security.
9250 Avoid void * arithmetics.
9251 Avoid shadowing.
9252 (argp_parser): Remove unused variable. Respect format security.
9253 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9254 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9255 (count_funcs): Remove unused variable.
9256 (relocate_addresses): Fix format specification.
9257 Disable x86-64 with elf32. Remove unused variables.
9258 (add_fixup_entry): Avoid shadowing.
9259 (make_reloc_section): Fix format specification.
9260 Use assert.
9261 (locate_sections): Fix format specifications.
9262 (load_image): Avoid shadowing.
9263
043c2ea3
VS
92642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9267 Fix format specifications. Respect format security.
9268 Don't translate already translated grub_errmsg.
9269 (argp_parser): Remove unused variable
9270
3ec65a81
VS
92712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9274
a4d9fe4a
VS
92752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9278 (main): Likewise. Use xmalloc. Respect format security.
9279
15b81d49
VS
92802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9283 a const char *.
9284 (argp_parser): Remove unused variable.
9285
31731fc0
VS
92862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9289 (add_pixel): Make static.
9290 (add_font): Likewise.
9291 (write_string_section): Make name and str a const char *.
9292 (write_be16_section): Make name a const char *.
9293 (print_glyphs): Make static.
9294 (write_font_ascii_bitmap): Likewise.
9295 (write_font_width_spec): Likewise.
9296 (write_font_pf2): Likewise.
9297 (argp_parser): Remove unused variable.
9298 Respect format security.
9299 (main): Avoid shadowing. Respect format security.
9300
0809527b
VS
93012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * util/grub-editenv.c (argp_parser): Make static.
9304 (create_envblk_file): Use xmalloc.
9305 (open_envblk_file): Likewise.
9306 Resepect format security.
9307 (set_variables): Respect format security.
9308
45b0c8b7
VS
93092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/getroot.c (grub_find_device): Respect format security.
9312 (get_mdadm_uuid): Remove unused variable.
9313 (grub_util_pull_device): Dont call gettext on already translated
9314 grub_errmsg.
9315 (find_system_device): Remove unused variable.
9316 (grub_util_get_grub_dev): Likewise.
9317 (grub_make_system_path_relative_to_its_root): Respect format security.
9318
1b024b4e
VS
93192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * util/grub-fstest.c (execute_command): Make first argument
9322 a const char *.
9323 (read_file): Avoid shadowing.
9324 Reuse underlying error message if device open fails.
9325 (cmd_cmp): Respect format security.
9326 (root): Make const char *.
9327 (fstest): Remove args argument and use global copy.
9328 Respect format security.
9329 (argp_parser): Make static.
9330 (main): Make default_root const char *.
9331
5d1d4e28
VS
93322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * util/grub-mount.c (root): Make const char *.
9335 (execute_command): Make first argument a const char *.
9336 (fuse_init): Respect format security.
9337 (argp_parser): Make static. Remove unused variable.
9338 (main): Make default_root a const char *.
9339 Respect format security.
9340
36eb7379
VS
93412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * util/grub-probe.c (probe): Don't call gettext on already translated
9344 grub_errmsg.
9345 Remove unused variables.
9346 (argp_parser): Remove unused variable.
9347
76fb2ea9
VS
93482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * util/grub-script-check.c (argp_parser): Remove unused variable.
9351 (main): Rename read to curread to avoid shadowing.
9352
56c98584
VS
93532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * util/misc.c (grub_util_write_image_at): Fix format specification.
9356 (grub_util_write_image): Likewise.
9357 (grub_script_execute_argument_to_string): Removed (unused).
9358 (grub_script_execute_menuentry): Likewise.
9359 (grub_putchar): Likewise.
9360
164ebb48
VS
93612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9364 (FUNCTION) [GRUB_UTIL]: Likewise.
9365 (VARIABLE) [GRUB_UTIL]: Likewise.
9366
44318d61
VS
93672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9370 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9371
31a26002
VS
93722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9375 buffer.
9376
93772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9380 (LzmaEnc_SaveState): Removed (unused).
9381 (LzmaEnc_RestoreState): Likewise.
9382 (LzmaEnc_InitPriceTables): Made static.
9383 (LzmaEnc_Construct): Likewise.
9384 (LzmaEnc_FreeLits): Likewise.
9385 (LzmaEnc_Destruct): Likewise.
9386 (LzmaEnc_Init): Likewise.
9387 (LzmaEnc_InitPrices): Likewise.
9388 (LzmaEnc_Finish): Likewise.
9389 (LzmaEnc_PrepareForLzma2): Removed (unused).
9390 (LzmaEnc_MemPrepare): Likewise.
9391 (LzmaEnc_GetNumAvailableBytes): Likewise.
9392 (LzmaEnc_GetCurBuf): Likewise.
9393 (LzmaEnc_CodeOneMemBlock): Likewise.
9394
6fa67967
VS
93952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9398 (grub_util_ldm_embed): Likewise.
9399
9a7428e6
VS
94002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * util/grub-editenv.c (print_var): Rename name to varname to
9403 avoid shadowing.
9404 (main): Rename index to curindex to avoid shadowing.
31a26002 9405 Make filename a const char *.
9a7428e6 9406
4f96abd1
VS
94072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9410 to arg_getline to avoid shadowing.
9411
44d10dad
VS
94122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9415 disk_ to avoid shadowing.
9416
340ba63e
VS
94172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9420 curindex to avoid shadowing.
9421 Make static.
9422 (MatchFinder_GetNumAvailableBytes): Make static.
9423
22965bce
VS
94242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9427 avoid shadowing.
9428
7b5784d4
VS
94292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9432 argument from encrypt to do_encrypt to avoid shadowing.
9433
6f48ca01
VS
94342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9437 incorrect nesting of #if's.
9438
a4ea2dff
VS
94392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9442 checks which are always false on some platforms.
9443 (grub_cmd_lsacpi): Likewise.
9444 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9445 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9446 Likewise.
9447
def9fc1b
VS
94482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9451 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9452
a67b2a04
VS
94532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9456 re_dfa_t to avoid breaking alignment invariants.
9457 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9458 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9459
44c6828d
VS
94602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9463 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9464
bebe0dd0
VS
94652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9468 Fix declaration.
9469
a9cdb3cf
VS
94702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9473 conserve alignment invariants.
9474 (grub_ehci_ehcc_read16): Likewise.
9475 (grub_ehci_oper_read32): Likewise.
9476 (grub_ehci_oper_write32): Likewise.
9477 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9478 Conserve alignment invariants.
9479
ccc3b1b8
VS
94802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9483 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9484 declarations.
9485
987fbd95
VS
94862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9489 Remove unused variable.
9490
0df363f3
VS
94912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9494 Remove set in if.
9495
b2c0c4a6
VS
94962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * include/grub/net.h: Remove double declarations.
9499
690c531f
VS
95002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 Remove "payload" command in ia64 Linux loader since I couldn't
9503 find any evidence of it being used for anything.
9504 Replace "relocate" command with an environment variable
9505
9506 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9507 fields.
9508 (ia64_boot_payload): Removed.
9509 (last_payload): Likewise.
9510 (RELOCATE_OFF): Likewise.
9511 (RELOCATE_ON): Likewise.
9512 (RELOCATE_FORCE): Likewise.
9513 (relocate): Likewise.
9514 (free_pages): Don't free payloads.
9515 (grub_load_elf64): Use common error messages.
9516 Use "linux_relocate" variable.
9517 Increase the space after boot_params.
9518 (grub_cmd_payload): Removed.
9519 (grub_cmd_relocate): Likewise.
9520 (grub_cmd_fpswa): Improve messages.
9521 (cmd_payload): Removed.
9522 (cmd_relocate): Likewise.
9523 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9524 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9525
01783768
VS
95262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 Convert UHCI to DMA framework.
9529
9530 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9531 (grub_uhci_pci_iter): Fill new members
9532 (grub_alloc_td): Use P2V and V2P functions.
9533 (grub_free_queue): Likewise.
9534 (grub_alloc_qh): Likewise.
9535 (grub_uhci_setup_transfer): Likewise.
9536 (grub_uhci_check_transfer): Likewise.
9537
43206939
VS
95382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9541 Remove assignment in if while on it.
9542
571e140e
VS
95432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * util/grub-mkstandalone.in: Fix modules directory.
9546
a9d96eeb
VS
95472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9550 on i386-pc target.
9551 (argp_parser): Accept "auto" as compression specification.
9552
e4e37e8d
VS
95532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Fix `help' with unloaded modules.
9556
9557 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9558 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9559 (grub_dyncmd_dispatcher): Small stylistic fix.
9560 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9561 explicit help is requested.
9562
e1ea3ade
VS
95632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9566 Explicitly init restart while on it.
9567
27556881
VS
95682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9571 uninited variable.
9572
d65f6b36
VS
95732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * util/grub-mknetdir.in: Use . rather than source for POSIX
9576 compatibility.
9577
0a1e473c
VS
95782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9581
ce6647c8
VS
95822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9585 variable.
9586
66747894
VS
95872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9590 without quotes.
9591
71645f6e
VS
95922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9595
0e1c1f61
VS
95962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9599 iteration of partitions.
9600
9c4b5c13
VS
96012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Improve gettext support. Stylistic fixes and error handling fixes while
9604 on it.
9605
215c90cb
VS
96062012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9609 part. Instead setup the correct stack in RM.
9610 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9611 for stack.
9612 * include/grub/i386/relocator_private.h: New file.
9613
b5c1f9bf
VS
96142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9617 argument.
9618 * util/grub-fstest.c (options): Add missing DEVICE part.
9619
b525fd83
VS
96202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 Clarify and unify messages.
9623
9624 * grub-core/commands/hashsum.c (options): Unify messages.
9625 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9626 literal-only message as translatable.
9627 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9628 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9629 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9630 commands.
9631 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9632 key, not the key used to unlock. Clarify what it's used for.
9633 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9634 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9635 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9636 * util/grub-editenv.c (options): Unify "verbose" message.
9637 * util/grub-fstest.c (read_file): Unify error message.
9638 (fstest): Add quotes around commands.
9639 (options): Unify "verbose" message.
9640 * util/grub-install.in: Add quotes around variable name.
9641 * util/grub-kbdcomp.in: Unify error message.
9642 * util/grub-mkfont.c (main): Likewise.
9643 * util/grub-mkrescue.in: Likewise.
9644 * util/grub-mklayout.c (options): Unify "verbose" message.
9645 * util/grub-mkstandalone.in: Unify help and verbose messages.
9646 * util/grub-mount.c (options): Unify "verbose" message.
9647 * util/grub-probe.c (options): Likewise.
9648 * util/grub-script-check.c (options): Likewise.
9649 * util/grub-setup.c (setup): Unify no-terminator message.
9650 (options): Use DEVICE and not DEV.
9651 Unify "verbose" message.
9652 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9653
0ae70393
VS
96542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 Improve and unify messages.
9657
9658 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9659 name. All users updated.
9660 Print filename in error.
9661 (read_device_map): Print filename in error.
9662 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9663 (grub_util_get_os_disk): Likewise.
9664 (grub_util_biosdisk_get_grub_dev): Likewise.
9665 (grub_util_check_block_device): Likewise.
9666 (grub_util_check_char_device): Likewise.
9667 (grub_make_system_path_relative_to_its_root): Likewise.
9668 * util/grub-editenv.c (create_envblk_file): Likewise.
9669 (open_envblk_file): Likewise.
9670 (write_envblk): Likewise.
9671 * util/grub-fstest.c (cmd_cp): Likewise.
9672 (cmd_cat): Likewise.
9673 (cmd_cmp): Likewise.
9674 * util/grub-menulst2cfg.c (main): Likewise.
9675 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9676 (write_font_width_spec): Likewise.
9677 (write_font_pf2): Likewise.
9678 * util/grub-mkimage.c (generate_image): New argument outname.
9679 All users updated.
9680 Remove unreacheable message.
9681 (options): Unify messages.
9682 (help_filter): Likewise.
9683 * util/grub-mklayout.c (usage): Removed (unused).
9684 (main): Print filename in error.
9685 * util/grub-mkrescue.in: Fix wrong quoting.
9686 * util/grub-setup.c (setup): Print filename in error.
9687 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9688 (check_sas): Likewise.
9689 * util/misc.c (grub_util_get_fp_size): Removed.
9690 (grub_util_get_image_size): Print filename in error.
9691 (grub_util_read_at): Removed.
9692 (grub_util_read_image): Print filename in error.
9693 (grub_util_load_image): Likewise.
9694 (grub_util_write_image_at): New argument filename. All users updated.
9695 Print filename in error.
9696 (grub_util_write_image): New argument filename. All users updated.
9697 Print filename in error.
9698 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9699 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9700
0a96117d
VS
97012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/Makefile.core.def (pxechain): New module.
9704 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9705 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9706 function.
9707 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9708 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9709
aca002f7
VS
97102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9713 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9714 * include/grub/err.h (grub_error_saved): New struct.
9715 (grub_errmsg): Make array size explicit.
9716 * include/grub/misc.h (grub_error_save): New function.
9717 (grub_error_load): Likewise.
9718 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9719 (grub_error_push): Update `errno' member name.
9720 (grub_error_pop): Likewise
9721 * grub-core/net/tftp.c (tftp_data): New member save_err.
9722 (tftp_receive): Save error.
9723 (tftp_open): Restore error.
9724
a51dab13
VS
97252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9728 to real mode down to execute A20-related code in protected mode as
9729 intended.
9730
eb6e6649
GS
97312012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9732
9733 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9734 NULL when the argument `level' has an unexpected value.
9735
92cd0f6e
VS
97362012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 Move platform-dependent files from $prefix to $prefix/$platform.
9739
9740 * config.h.in (GRUB_TARGET_CPU): New definition.
9741 (GRUB_PLATFORM): Likewise.
9742 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9743 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9744 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9745 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9746 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9747 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9748 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9749 * grub-core/normal/term.c (read_terminal_list): Likewise.
9750 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9751 $prefix/locale.
9752 (grub_gettext_init_ext): Likewise.
9753 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9754 grub_platform.
9755 * util/grub-install.in: Update directories.
9756 * util/grub-mknetdir.in: Likewise.
9757 * util/grub-mkrescue.in: Likewise.
9758
db606889
VS
97592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9762 grub_error framework. All users updated.
9763
c39992a4
VS
97642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9767 lists (by always binsearching), improve caching (cache strings
9768 used for binsearch, not only results), improve
9769 maintainability (by using more structured binary search) and correct
9770 error handling.
9771
1e5ec32f
VS
97722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/script/execute.c (grub_script_return): Fix warning.
9775
ac576cde
VS
97762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * grub-core/script/execute.c (grub_script_return): Fix potential
9779 NULL-dereference.
9780 Reported by: Jim Meyering.
9781
498453f6
VS
97822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * po/POTFILES.in: Regenerate.
9785 * util/grub-install.in: Gettextize the strings missed in first pass.
9786
8be63f2e
VS
97872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * Makefile.util.def (grub-mkdevicemap): Removed.
9790 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9791 * include/grub/util/deviceiter.h: Removed.
9792 * util/deviceiter.c: Likewise.
9793 * util/getroot.c (grub_util_get_os_disk): New function.
9794 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9795 replacement for EFI.
9796 * util/grub-mkdevicemap.c: Removed.
9797 * util/grub-probe.c (probe): Handle PRINT_DISK.
9798 (argp_parser): Handle -t disk.
9799
8e1e4e39
VS
98002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * util/grub-mkfont.c: Migrate to argp.
9803 * util/grub-mklayout.c: Likewise.
9804 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9805 * util/grub-mkrelpath.c: Likewise.
9806 * util/grub-probe.c: Likewise.
9807 * util/grub-script-check.c: Likewise.
9808
4459819a
VS
98092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * util/grub-reboot.in: Add missing datarootdir.
9812 Add missing newline.
9813 * util/grub-set-default.in: Add missing datarootdir.
9814 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9815 * util/grub-mkrescue.in: Likewise.
9816
f65741c7
VS
98172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9820
c1a33466
VS
98212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * util/grub-kbdcomp.in: Add decent help and gettextize.
9824 * docs/man/grub-kbdcomp.h2m: New file.
9825
c76899a0
VS
98262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Migrate grub-mkimage.c to argp.
9829
9830 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9831 (grub-setup): Likewise.
9832 * util/grub-setup.c (print_version): Move to ...
9833 * util/argp_common.c (print_version): ... here.
9834 * util/grub-setup.c (argp_program_version_hook): Move to ...
9835 * util/argp_common.c (argp_program_version_hook): ... here.
9836 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9837 safety.
9838 * util/grub-mkimage.c (main): Migrate to argp.
9839
57db0757
VS
98402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * util/grub-mkrescue.in: Use same message as
9843 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9844 for better translations.
9845
18534ad9
VS
98462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9849 options with generic grub-mkrescue.in with the goal of future
9850 merge.
9851
c84ba308
VS
98522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/kern/mm.c: Add missing include of i18n.h
9855 * grub-core/lib/relocator.c: Likewise.
9856
347998c2
VS
98572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9860 error.
9861 (allocate_pages): Check return value.
9862 Replace fatal with error.
9863 (grub_linux_boot): Replace printf with dprintf.
9864 Check find_mmap_size return value.
9865 Replace fatal with error.
9866 Don't call grub_machine_fini.
9867 (grub_load_elf64): Replace printf with dprintf.
9868 (grub_cmd_linux): Likewise.
9869 (grub_cmd_initrd): Likewise.
9870 (grub_cmd_payload): Likewise.
9871
c779226e
VS
98722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9875 message.
9876 * grub-core/video/radeon_fuloong2e.c
9877 (grub_video_radeon_fuloong2e_setup): Likewise.
9878 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9879 * grub-core/video/video.c (grub_video_set_mode): Don't override
9880 standard out of memory message.
9881
dc87d45a
GS
98822012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9883
9884 NetBSD disk wedge support.
9885
9886 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9887 [__NetBSD__]: Handle NetBSD disk wedges.
9888 * util/getroot.c (convert_system_partition_to_system_disk)
9889 [__NetBSD__]: Likewise.
9890
055f856f
MW
98912012-02-03 Mark Wooding <mdw@distorted.org.uk>
9892
9893 * util/grub-mkconfig.in: Use umask rather than chmod to create
9894 grub.cfg.new to avoid insecure grub.cfg.
9895
4a9f8346
VS
98962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * grub-core/commands/ls.c: Gettextize.
9899 * grub-core/commands/setpci.c: Likewise.
9900 * grub-core/commands/videotest.c: Likewise.
9901 * grub-core/disk/geli.c: Likewise.
9902 * grub-core/kern/mm.c: Likewise.
9903 * grub-core/lib/relocator.c: Likewise.
9904 * grub-core/loader/efi/appleloader.c: Likewise.
9905 * grub-core/loader/i386/xnu.c: Likewise.
9906 * grub-core/loader/ia64/efi/linux.c: Likewise.
9907 * grub-core/loader/xnu.c: Likewise.
9908 * grub-core/net/dns.c: Likewise.
9909 * grub-core/net/net.c: Likewise.
9910 * grub-core/script/lexer.c: Likewise.
9911 * grub-core/script/parser.y: Likewise.
9912 * grub-core/script/yylex.l: Likewise.
9913 * util/getroot.c: Likewise.
9914 * util/grub-setup.c: Likewise.
9915
a646a366
VS
99162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9919 number.
9920
54e2be26
VS
99212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9924
f7c71e68
VS
99252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9928 macro.
9929 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9930 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9931
a32d5c71
VS
99322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9935 * util/grub-install.in: Gettextize.
9936 * util/grub-mkconfig.in: Likewise.
9937 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9938 if not available.
9939 (grub_warn): Gettextize.
9940 * util/grub-mknetdir.in: Gettextize.
9941 * util/grub-mkrescue.in: Likewise.
9942 * util/grub-mkstandalone.in: Likewise.
9943 * util/grub-reboot.in: Likewise.
9944 * util/grub-set-default.in: Likewise.
9945 * util/grub.d/00_header.in: Likewise.
9946 * util/grub.d/10_hurd.in: Likewise.
9947 * util/grub.d/10_kfreebsd.in: Likewise.
9948 * util/grub.d/10_linux.in: Likewise.
9949 * util/grub.d/10_netbsd.in: Likewise.
9950 * util/grub.d/10_windows.in: Likewise.
9951 * util/grub.d/20_linux_xen.in: Likewise.
9952 * util/grub.d/30_os-prober.in: Likewise.
9953 * po/POTFILES-shell.in: Regenerate.
9954
69edd81a
RL
99552012-02-03 Richard Laager <rlaager@wiktel.com>
9956
9957 * util/grub-mkimage.c (main): Fix format-security warning.
9958 * util/grub-mkrelpath.c (main): Likewise.
9959 * util/grub-probe.c (main): Likewise.
9960
65f08dbf
RL
99612012-02-03 Richard Laager <rlaager@wiktel.com>
9962
9963 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9964 failure.
9965 Put back lost PRINT_DRIVE.
9966
e9084abe
RL
99672012-02-03 Richard Laager <rlaager@wiktel.com>
9968
9969 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9970 (grub_guess_root_devices): Replace strlen with sizeof.
9971 Avoid crash.
9972 (find_root_devices_from_poolname): Remove unused variable.
9973 Handle raidzN.
9974
cf5f7ee7
VS
99752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 Support install on multi-device filesystems.
9978
9979 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9980 (grub_guess_root_devices): ...this. Return char **. All users updated.
9981 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9982 Removed.
9983 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9984 (find_root_devices_from_poolname): ... here.
9985 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9986 Support zfs-fuse.
9987 (grub_guess_root_device): Rename to ...
9988 (grub_guess_root_devices): ... this. Return char **. All users updated.
9989 * util/grub-install.in: Handle multi-device filesystems.
9990 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9991 argument. All users updated.
9992 Handle multi-device filesystems.
9993 Use 'delim' as separator.
9994 Remove device check to allow filesystems on file.
9995 (main): Support -0 argument. Handle multi-device.
9996 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9997 Fix a cross-device check while on it.
9998 (arguments): Remove root_dev.
9999 (argp_parser): Remove -r.
10000 (main): Remove root_dev.
10001
2f53a9ed
VS
100022012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10005
17e1d934
VS
100062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10009 symbol.
10010 Reported by: NODA, Kai <nodakai>.
10011
d3e3fab5
VS
100122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 Fix ehci on amd64.
10015
10016 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10017 pointers.
10018 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10019 (grub_ehci_setup_qh): Likewise.
10020 (grub_ehci_find_qh): Likewise.
10021 (grub_ehci_transaction): Likewise.
10022 (grub_ehci_setup_transfer): Likewise.
10023 (grub_ehci_check_transfer): Likewise.
10024 (grub_ehci_portstatus): Likewise.
10025 (grub_ehci_detect_dev): Likewise.
10026 (grub_ehci_transfer_controller_data): New field td_last_phys.
10027 (grub_ehci_setup_transfer): Fill td_last_phys.
10028 (grub_ehci_check_transfer): Use td_last_phys.
10029
3008675b
SG
100302012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10031
10032 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10033 if no submenu is present.
10034
fc9b5652
AN
100352012-02-01 Aleš Nesrsta <starous@volny.cz>
10036
10037 CBI support.
10038
10039 * include/grub/usb.h (grub_usbms_protocol_t): New values
10040 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10041 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10042 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10043 (grub_usbms_dev): Add subclass, protocol and intrpt.
10044 Remove in_maxsz and out_maxsz.
10045 (grub_usbms_reset): Rename to ...
10046 (grub_usbms_bo_reset): .. this.
10047 (grub_usbms_cbi_cmd): New function.
10048 (grub_usbms_cbi_reset): Likewise.
10049 (grub_usbms_reset): Likewise.
10050 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10051 (grub_usbms_transfer): Rename to ...
10052 (grub_usbms_transfer_bo): ... this.
10053 (grub_usbms_transfer_cbi): Likewise.
10054 (grub_usbms_transfer): Likewise.
10055
a2b81d53
AN
100562012-02-01 Aleš Nesrsta <starous@volny.cz>
100572012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10060 the support for the CS5536 modification thereos and few bugfixes.
10061
10062 * grub-core/Makefile.core.def (ehci): New module.
10063 * grub-core/bus/usb/ehci.c: New file.
10064 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10065 port and hubaddr. All users updated.
10066 Save port and hubaddr into dev structure.
10067 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10068 define.
10069 * include/grub/pci.h (grub_dma_phys2virt): New function.
10070 (grub_dma_virt2phys): Likewise.
10071 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10072
b1d51f02
VS
100732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10076 check as some mkfs implementations omit it.
10077
fc694106
VS
100782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10081
6c0920e3
VS
100822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10085 Add new member volname2.
10086 (grub_jfs_label): Use volname2 if available.
10087
d1a46f9a
VS
100882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10091 over last_mounted as seen in image generated by mkfs.nilfs2.
10092 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10093
dec8ed14
VS
100942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10097 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10098 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10099
7397c69b
VS
101002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10103 over the sector.
10104
b3fe42ad
VS
101052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10108 subvolume name (by removing a bogus and useless check).
10109
10476bb0
VS
101102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10113 sizeof while on it.
10114
9c08ad87
VS
101152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10118 (grub_scsi_read_capacity10): ... this.
10119 (grub_scsi_read_capacity16): New function.
10120 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10121 0xffffffff.
10122 Fix off-by-one error.
10123 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10124 64-bit unsigned.
10125 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10126 (grub_scsi_read_capacity10): ... this.
10127 (grub_scsi_read_capacity_data): Rename to ...
10128 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10129 (grub_scsi_read_capacity16): New struct.
10130 (grub_scsi_read_capacity16_data): Likewise.
10131 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10132 grub_scsi_cmd_read_capacity10.
10133 New command grub_scsi_cmd_read_capacity16.
10134
bc8d0f45
VS
101352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 SCSI >2TiB support.
10138
10139 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10140 (grub_scsi_write16): Likewise.
10141 (grub_scsi_read): Use read16 when necessary.
10142 (grub_scsi_write): Likewise.
10143 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10144 (grub_scsi_write16): Likewise.
10145 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10146
cc774926
VS
101472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 SCSI write support (for usbms mainly).
10150
10151 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10152 a const pointer.
10153 (grub_scsi_write): Implement.
10154 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10155
67639fd7
VS
101562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10159 variable.
10160
9079d3ed
VS
101612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10164
c6a6f204
VS
101652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * po/POTFILES.in: Regenerate.
10168
ecbf8cd1
VS
101692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10172 with grub_printf to avoid unnecessary fatal failure.
10173
0b3b3b38
VS
101742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10177 (INT_MAX): Likewise.
10178 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10179 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10180 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10181 (strcpy): Likewise.
10182 (strstr): Likewise.
10183 (strchr): Likewise.
10184 (strncpy): Likewise.
10185 (strcat): Likewise.
10186 (strncat): Likewise.
10187 (strcoll): Likewise.
10188 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10189 (GRUB_INT_MAX): Likewise.
10190
db7337a3
VS
101912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10194 unexpected error.
10195 (optimize_utf8): Likewise.
10196 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10197
f37c87e1
VS
101982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 * grub-core/boot/i386/pc/lnxboot.S: Use
10201 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10202 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10203 location.
10204 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10205 definition.
10206 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10207
63fe43f3
VS
102082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10211 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10212 now to avoid double free.
10213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10214 hostdisk.
10215 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10216 * util/grub-probe.c (escape_of_path): Always return a new copy.
10217 (print_full_name): Escape path.
10218 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10219 Fix hints on abstractions.
10220
ebe2c961
VS
102212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10224 Don't add "root" line if no compatibility hont is available.
10225 Suggested by: Seth Goldberg.
10226
2b5336a2
VS
102272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10230 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10231 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10232 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10233
74310bd8
VS
102342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10237
c30582ba
VS
102382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * util/grub-pe2elf.c (ehdr): Make static.
10241 (shdr): Likewise.
10242 (num_sections): Likewise.
10243 (offset): Likewise.
10244
5f47782c
VS
102452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 Eliminate ofpath limits and possible overflows.
10248
10249 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10250 (OF_PATH_MAX): Removed.
10251 (MAX_DISK_CAT): New const.
10252 (find_obppath): Use allocated rather than preallocated buffer.
10253 Return result. Argument of_path removed. All users updated.
10254 Add missing fdstat.
10255 (xrealpath): New function.
10256 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10257 Allocate rather than use preallocated buffer. All users updated.
10258 (__of_path_common): Use allocated rather than preallocatecd buffer.
10259 Return result. Argument of_path removed. All users updated.
10260 (vendor_is_ATA): Read only needed part form the file.
10261 (check_sas): Allocate depending on contents rather than fixed.
10262 (main) [STANDALONE]: Handle NULL result.
10263
f990cbf9
VS
102642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10267
9c6e84b8
VS
102682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 Cryptodisk write support.
10271
10272 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10273 (grub_cryptodisk_decrypt): Moved logic to ...
10274 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10275 (grub_cryptodisk_write): Implement.
10276 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10277 (grub_util_fd_write): ... this. Make global.
10278 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10279
87cf9744
VS
102802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * include/grub/list.h (grub_list_remove): Don't crash if element is
10283 removed twice.
10284
ca8c0baf
VS
102852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 Rename ofconsole to console.
10288
10289 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10290 as sysnonym to console.
10291 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10292 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10293 Rename grub_ofconsole_ to grub_console_. All users updated
10294 (grub_console_term_output): Rename "ofconsole" to "console".
10295 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10296 as "console".
10297
64c8b8f6
VS
102982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10301 handling.
10302 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10303 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10304 GRUB_DISK_DEVICE_FILE_ID.
10305
f6c434d5
VS
103062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10309 and improve performance.
10310
5858b42d
VS
103112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10314 missing ieee1275/ prefix on whole disk.
10315
4ed3c26b
VS
103162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10319 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10320
df71143e
VS
103212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10324
076e7c0f
VS
103252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Merge common RAID and LVM logic to an abstract diskfilter.
10328 Add LDM support using the same framework.
10329
10330 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10331 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10332 (libgrubmods): Remove grub-core/disk/raid.c and
10333 grub-core/partmap/gpt.c.
10334 * grub-core/Makefile.core.def (ldm): New module.
10335 (raid): Renamed to diskfilter. All users updated.
10336 * grub-core/disk/raid.c: Moved to ...
10337 * grub-core/disk/diskfilter.c: ... here.
10338 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10339 (lv_num): New var.
10340 (find_array): Renamed to ...
10341 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10342 (grub_is_array_readable): Renamed to ...
10343 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10344 (insert_array): New argument id.
10345 (is_node_readable): New function.
10346 (scan_device): Rename to ...
10347 (scan_disk): .. this. Restrict to one disk.
10348 (scan_devices): New function.
10349 (grub_diskfilter_iterate): Support multi-LV.
10350 Skip invisible and nameless LVs.
10351 (grub_diskfilter_memberlist): Support multi-LV.
10352 (grub_diskfilter_read_node): New function.
10353 (grub_raid_read): Most of logic moved to ...
10354 (read_segment): ... here
10355 (read_lv): New function.
10356 (grub_diskfilter_get_vg_by_uuid): New function.
10357 (grub_diskfilter_make_raid): Likewise.
10358 * grub-core/disk/ldm.c: New file.
10359 * grub-core/disk/lvm.c (vg_list): Removed.
10360 (lv_count): Likewise.
10361 (scan_depth): Likewise.
10362 (is_lv_readable): Likewise.
10363 (grub_lvm_getvalue): Advance pointer past the number.
10364 (find_lv): Removed.
10365 (do_lvm_scan): Refactored into ...
10366 (grub_lvm_detect): ... this. Support raid.
10367 (grub_lvm_iterate): Removed.
10368 (grub_lvm_memberlist): Likewise.
10369 (grub_lvm_open): Likewise.
10370 (grub_lvm_close): Likewise.
10371 (read_lv): Likewise.
10372 (read_node): Likewise.
10373 (is_node_readable): Likewise.
10374 (is_lv_readable): Likewise.
10375 (grub_lvm_read): Likewise.
10376 (grub_lvm_write): Likewise.
10377 (grub_lvm_dev): Use diskfilter
10378 (GRUB_MOD_INIT): Likewise.
10379 (GRUB_MOD_FINI): Likewise.
10380 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10381 new interface.
10382 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10383 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10384 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10385 grub_diskfilter_read_node.
10386 Fix a bug with xor.
10387 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10388 grub_diskfilter_read_node.
10389 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10390 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10391 (grub_disk_dev_iterate): Move from here...
10392 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10393 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10394 Make global.
10395 (grub_hostdisk_find_partition_start): Likewise.
10396 (grub_hostdisk_os_dev_to_grub_drive): New function.
10397 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10398 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10399 * util/getroot.c (make_device_name): ... here.
10400 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10401 Move to ...
10402 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10403 * grub-core/kern/emu/hostdisk.c
10404 (convert_system_partition_to_system_disk): Move to ...
10405 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10406 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10407 * util/getroot.c (device_is_wholedisk): ... here.
10408 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10409 * util/getroot.c (find_system_device): ... here.
10410 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10411 Move to ...
10412 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10414 Move to ...
10415 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10416 Handle LDM.
10417 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10418 Move to ...
10419 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10420 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10421 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10422 DISKFILTER.
10423 * include/grub/raid.h: Renamed to ...
10424 * include/grub/diskfilter.h: ... this.
10425 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10426 (GRUB_RAID_LAYOUT_*): Make into array.
10427 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10428 (grub_diskfilter_vg): New struct.
10429 (grub_diskfilter_pv_id): Likewise.
10430 (grub_raid_member): Removed.
10431 (grub_raid_array): Likewise.
10432 (grub_diskfilter_pv): New struct.
10433 (grub_diskfilter_lv): Likewise.
10434 (grub_diskfilter_segment): Likewise.
10435 (grub_diskfilter_node): Likewise.
10436 (grub_diskfilter_get_vg_by_uuid): New proto.
10437 (grub_raid_register): Inline.
10438 (grub_diskfilter_unregister): Likewise.
10439 (grub_diskfilter_make_raid): New proto.
10440 (grub_diskfilter_vg_register): Likewise.
10441 (grub_diskfilter_read_node): Likewise.
10442 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10443 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10444 (grub_util_is_ldm): Likewise.
10445 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10446 (grub_hostdisk_find_partition_start): Likewise.
10447 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10448 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10449 New definition.
10450 (grub_gpt_partition_map_iterate): New proto.
10451 * include/grub/lvm.h (grub_lvm_vg): Removed.
10452 (grub_lvm_pv): Likewise.
10453 (grub_lvm_lv): Likewise.
10454 (grub_lvm_segment): Likewise.
10455 (grub_lvm_node): Likewise.
10456 * util/getroot.c [...]
10457 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10458 (probe_abstraction): Likewise.
10459 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10460 (main): Remove dead logic.
10461
8a7f9b9c
VS
104622012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Simplify root device discover and don't fail when trying to open
10465 incorrect devices.
10466
10467 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10468 function.
10469 (get_diskname_from_path): Likewise.
10470 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10471 of iterating.
10472
30545b85
VS
104732012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10476
28ea58cf
VS
104772012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10480 pastthe end.
10481
692dabca
VS
104822012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * util/grub-install.in: Add missing \.
10485 Reported by: gentoofan
10486
f6e4ea70
VS
104872012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10490 (direct_read): Use correct compressed size.
10491 (grub_squash_read_data): Likewise.
10492
104932012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10494
10495 * docs/grub.texi (Platform limitations): New section.
10496 (Platform-specific operations): Likewise.
10497 * docs/grub-dev.texi (Porting): Likewise.
10498
76261110
VS
104992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 IEEE1275 disk write support.
10502
10503 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10504 const void *.
10505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10506 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10507 and seek loginc to ...
10508 (grub_ofdisk_prepare): ... here.
10509 (grub_ofdisk_write): Implement.
10510
fc36d603
VS
105112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 ARC disk write support.
10514
10515 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10516 (reopen): New argument writable. All users updated.
10517 Handle required access mode.
10518 (grub_arcdisk_write): Implement.
10519 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10520 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10521
e06c2e7a
VS
105222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10525 (read_sblock): Don't attempt to read superblocks outside the disk size.
10526
ff447958
VS
105272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10530 first superblock to find the second one when possible.
10531
9e88df39
VS
105322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * util/grub-install.in: Fix an ARC bug.
10535 Print a warning if no platform-specific setup is available.
10536
bb26e4ff
VS
105372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Use static allocation rather than scratch pointer in reed_solomon.
10540 It decreases its size significantly and avoids a variable in .text.
10541
10542 * grub-core/lib/reed_solomon.c (scratch): Removed.
10543 (chosenstat): New const or static array.
10544 (sigma): Likewise.
10545 (errpot): Likewise.
10546 (errpos): Likewise.
10547 (sy): Likewise.
10548 (mstat): Likewise.
10549 (errvals): Likewise.
10550 (eqstat): Likewise.
10551 (pol_evaluate): Replace x with log_x argument. All users updated.
10552 (syndroms): Removed.
10553 (gauss_solve): Use statically allocated arrays.
10554 (rs_recover): Likewise.
10555 Calculate syndroms directly.
10556 (decode_block): Use statically allocated arrays.
10557 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10558 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10559
2e13ede5
VS
105602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Eliminate fixed limit on reed solomon decoder length.
10563
10564 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10565 rather than hardcoding the address.
10566 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10567 no_reed_solomon_length.
10568 Move gate_a20 to no-reed-solomon part.
10569 Don't force a particular size of no reed-solomon part.
10570 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10571 Removed.
10572 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10573 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10574
f8a9ab12
VS
105752012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * grub-core/commands/wildcard.c (match_files): Handle filenames
10578 without explicit device.
10579 (wildcard_expand): Don't add explicit device if not already present.
10580 * tests/grub_script_echo1.in: Add a new expansion test.
10581
87edb894
VS
105822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 Replace single-linked with double-linked lists. It results in more
10585 compact and more efficient code.
10586
10587 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10588 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10589 (grub_list_remove): Moved from here ...
10590 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10591 (grub_prio_list_insert): Set prev.
10592 * include/grub/list.h (grub_list): Add prev. All users updated.
10593
48b391e9
VS
105942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Handle newer autotools. Add some missing quotes while on it.
10597
10598 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10599 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10600 (pkgdata_DATA): ... here.
10601 * Makefile.util.def (update-grub_lib): Removed.
10602 * conf/Makefile.common (pkglib_DATA): Removed.
10603 (pkglib_SCRIPTS): Likewise.
10604 (pkgdata_DATA): New variable.
10605 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10606 needed.
10607 Add missing quotes.
10608 Remove unused variable while on it.
10609 * tests/util/grub-shell.in: Likewise.
10610 * util/grub-install.in: Likewise.
10611 * util/grub-mkconfig.in: Likewise.
10612 * util/grub-mknetdir.in: Likewise.
10613 * util/grub-mkrescue.in: Likewise.
10614 * util/grub-mkstandalone.in: Likewise.
10615 * util/grub.d/00_header.in: Likewise.
10616 * util/grub.d/10_hurd.in: Likewise.
10617 * util/grub.d/10_illumos.in: Likewise.
10618 * util/grub.d/10_kfreebsd.in: Likewise.
10619 * util/grub.d/10_linux.in: Likewise.
10620 * util/grub.d/10_netbsd.in: Likewise.
10621 * util/grub.d/10_windows.in: Likewise.
10622 * util/grub.d/20_linux_xen.in: Likewise.
10623 * util/grub.d/30_os-prober.in: Likewise.
10624 * util/update-grub_lib.in: Removed.
10625
106262012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10627
10628 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10629 a workaround for intel problem.
10630
66832792
PRP
106312012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
106322012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
106332012-01-23 pfsmorigo
10634
10635 * util/grub-install.in: Support dd'in into PreP partition.
10636 * util/grub-probe.c (probe): Support discovering partition type.
10637 (main): Support -t msdos_parttype.
10638
7816a17e
VS
106392012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10642 infinite recursion using counter.
10643 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10644 init to skip it if the magic check fails.
10645 (dec_stream_header): Init s->crc32.
10646
8f9d3a8c
ZB
106472012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
106482012-01-22 Zachary Bedell <pendorbound@gmail.com>
106492012-01-22 Richard Laager <rlaager@wiktel.com>
10650
10651 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10652 All users updated.
10653 (find_bestub): Determine correct size.
10654 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10655 (scan_disk): Align the size down.
10656 Call check pool before find_bestub to have ashift.
10657
b055dd32
VS
106582012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10661 dprintf in no-malloc zone.
10662
d779e9bd
ML
106632012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10664
10665 * configure.ac: Add back in test for limits.h.
10666
b508af69
VS
106672012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 Support 4K-sector NTFS.
10670
10671 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10672 (grub_ntfs_data): Remove blocksize.
10673 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10674 Remove data argument. All users updated.
10675
dad9c8b5
VS
106762012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10679 being in .text to avoid dprel references.
10680 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10681 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10682 (grub_arch_highmemsize): Likewise.
10683 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10684 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10685 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10686
d43a777e
VS
106872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10690
10691 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10692 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10693
34e4208f
VS
106942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10697 GRUB_UTIL.
10698 (grub_set_datetime_cmos): Likewise.
10699
3ec0fc1c
VS
107002012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 Make XZ compression parameters dependent on target and not host CPU.
10703
10704 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10705 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10706
22489834
VS
107072012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10710 set but not used variable.
10711
8502fbca
VS
107122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10715 created when no uuid support is compiled into mkfs.reiser.
10716
76df2068
VS
107172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10720 (utf8_to_macroman): Do the opposite.
10721 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10722
64e3f8f6
VS
107232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * configure.ac: Refise build qemu_mips w/o unifont.
10726
9c271078
VS
107272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Eliminate grub_min/grub_max prone to overflow usage.
10730
10731 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10732 (poll_nonroot_hub): Likewise.
10733 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10734 (grub_affs_label): Likewise.
10735 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10736 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10737 (grub_hfs_label): Likewise.
10738 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10739 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10740 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10741 (zap_leaf_array_get): Likewise.
10742 (dnode_get_path): Likewise.
10743 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10744 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10745 * grub-core/script/execute.c (grub_script_break): Likewise.
10746 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10747 grub_max.
10748 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10749 * include/grub/misc.h (grub_min): Removed.
10750 (grub_max): Likewise.
10751
80662dbc
VS
107522012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10753
10754 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10755 direct.inode = 0.
10756
e6da1467
VS
107572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10760
b1ac4cb1
VS
107612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10764
b4bf7c3b
VS
107652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10768 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10769
8ee1101a
VS
107702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10773 rather than a hack for grub_strncasemap.
10774
107752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 Support multiple initrds
10778 Note: part of this was accidently committed in r3739.
10779
10780 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10781 initrd.
10782 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10783 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10784 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10785 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10786 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10787
4d1e2bc9
VS
107882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10791 disks with unknown size.
10792 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10793
75b49ebe
VS
107942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 Remove defines pertaining to arbitrary limits not affecting GRUB
10797 anymore.
10798
10799 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10800 (EXT2_MAX_SYMLINKCNT): Likewise.
10801 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10802 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10803 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10804 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10805 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10806 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10807 (DN_MAX_OBJECT_SHIFT): Likewise.
10808 (DN_MAX_OFFSET_SHIFT): Likewise.
10809 (DN_MAX_OBJECT): Likewise.
10810 (DNODES_PER_LEVEL_SHIFT): Likewise.
10811 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10812 (SPA_MAXBLOCKSIZE): Likewise.
10813 (SPA_BLOCKSIZES): Likewise.
10814 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10815 (MZAP_MAX_BLKSZ): Likewise.
10816
74a1dce7
VS
108172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10820 handle NULL appropriately.
10821 Remove MIN.
10822
30c7d3ce
VS
108232012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Fix efiemu.
10826
10827 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10828 cpu/types.h.
10829 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10830 * configure.ac: Fix efiemu check.
10831
3c76ea0c
VS
108322012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10835 grub_probe.
10836 Reported by: adamwill
10837
7e532280
SG
108382012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10839
10840 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10841
30492374
VS
108422012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 Fix handling of wide characters in gfxterm.
10845
10846 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10847 (clear_char): Likewise.
10848 (paint_char): Skip code == NULL chars.
10849 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10850
e70cb72f
VS
108512012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * grub-core/normal/charset.c: Move comment to right place.
10854
5c827cf9
VS
108552012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10858 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10859 (grub_affs_mount): Revert the correct version checking.
10860
53603892
VS
108612012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * docs/grub.texi (Unicode): Mention several other unsupported features.
10864
ff094b9b
VS
108652011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10868 case statements as compile-time one.
10869 (direct_read): Prevent spurious warnings.
10870 (grub_squash_read_data): Likewise.
10871
c029da8a
VS
108722011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 Various squash4 fixes and LZO and XZ support.
10875
10876 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10877 Add xzembed source files.
10878 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10879 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10880 (grub_squash_inode): New subtype long_dir.
10881 (SQUASH_TYPE_LONG_DIR): New inode type.
10882 (COMPRESSION): New enum.
10883 (XZBUFSIZ): New const.
10884 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10885 (read_chunk): Use data->decompress.
10886 (zlib_decompress): New function.
10887 (lzo_decompress): Likewise.
10888 (xz_decompress): Likewise.
10889 (squash_mount): Set new data fields.
10890 (grub_squash_iterate_dir): Handle long dir.
10891 (squash_unmount): Free xzdec and xzbuf.
10892 (grub_squash_open): Check ino type.
10893 (direct_read): Stylistic fixes. Use data->decompress.
10894 (grub_squash_read_data): Likewise.
10895 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10896 (get_byte): Likewise.
10897 (grub_zlib_disk_read): Removed.
10898 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10899 (GRUB_POSIX_BOOL_DEFINED): New define.
10900 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10901 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10902 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10903 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10904
7a45a539
VS
109052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 Don't override more informative errors.
10908
10909 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10910 * grub-core/font/font.c (open_section): Likewise.
10911 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10912 filename. Don't override errors.
10913 (grub_cmd_openbsd_ramdisk): Don't override errors.
10914 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10915 (grub_cmd_initrd): Likewise.
10916 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10917 (grub_cmd_initrd): Likewise.
10918 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10919 (grub_cmd_linux): Likewise.
10920 (grub_cmd_initrd): Likewise.
10921 (grub_cmd_payload): Likewise.
10922 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10923 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10924 (grub_cmd_module): Likewise.
10925 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10926 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10927 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10928 (grub_cmd_xnu_mkext): Likewise.
10929 (grub_cmd_xnu_ramdisk): Likewise.
10930 (grub_xnu_check_os_bundle_required): Likewise.
10931 (grub_xnu_load_kext_from_dir): Likewise.
10932 (grub_cmd_xnu_kextdir): Likewise.
10933 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10934
b2d004db
VS
109352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10938 as 1024 in block size field. Found on one of my test images.
10939 Small optimisation while on it.
10940
ec000eac
VS
109412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10944 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10945 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10946 performance fixes while on it.
10947 (grub_sfs_close): Fix memory leak while on it.
10948 (grub_sfs_label): Convert Latin1 to UTF-8.
10949
f50e1165
VS
109502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10953 space to avoid overflows.
10954 (grub_hfs_label): Convert from macroman to UTF-8.
10955
2ae254de
VS
109562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10959
0108f491
VS
109602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10963
f45f5f89
VS
109642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * unicode: Import Unicode 6.0 data.
10967
4d8c4765
VS
109682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10969
63fa8ef9
VS
10970 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10971 outside of range.
10972
109732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10976
10977 * include/grub/charset.h (grub_getend): New function.
10978 * grub-core/script/function.c (grub_script_function_find): Use
10979 grub_getend.
10980 * grub-core/normal/completion.c (add_completion): Likewise.
10981
f3cb4a4e
VS
109822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10985 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10986 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10987 (GRUB_UNICODE_TAG_END): Likewise.
10988 (GRUB_UNICODE_LAST_VALID): Likewise.
10989
5da8dbc5
VS
109902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10993 len and make it smaller. All users updated.
10994 * util/import_unicode.py: Put length and not end character.
10995 Check length.
10996
8569f13d
VS
109972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 Make better Unicode-compliant and unify some UTF-8 code pathes.
11000
11001 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11002 valid character.
11003 (grub_is_valid_utf8): Use grub_utf8_process.
11004 Check resulting code range.
11005 (grub_utf8_to_ucs4): Use grub_utf8_process.
11006 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11007 valid character.
11008
cc4fddf5
VS
110092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11012
bbc47747
VS
110132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * docs/grub.texi (Filesystems): Mention AFS.
11016
f63d6bf4
VS
110172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * docs/grub.texi (Filesystems): Clarify restrictions.
11020 (Regexp): Mention non-Unicode regexp behaviour.
11021 (Other): Mention non-Unicode matching behaviour.
11022
74bbf0db
VS
110232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11024
f63d6bf4 11025 Make HFS implementation use MacRoman.
74bbf0db
VS
11026
11027 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11028 (macroman): New const array.
11029 (macroman_to_utf8): New function.
11030 (utf8_to_macroman): Likewise.
11031 (grub_hfs_find_dir): Use utf8_to_macroman.
11032 (grub_hfs_dir): Use macroman_to_utf8.
11033 Set case_insensitive.
11034
4ea0316e
VS
110352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11038
d3c13cbd
VS
110392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 Integrate hints into autogeneration scripts.
11042
11043 * docs/grub.texi (Filesystems): Add a hostdisk example.
11044 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11045 (grub-probe): Add ofpath.
11046 * gentpl.py: Remove group nosparc64.
11047 * grub-core/commands/search.c (cache_entry): New struct.
11048 (cache): New var.
11049 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11050 * grub-core/commands/search_wrap.c (options): Add platform-specific
11051 hint options.
11052 (grub_cmd_search): Handle platform-specific hints.
11053 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11054 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11055 (grub_util_biosdisk_data): Likewise.
11056 (grub_util_biosdisk_open): Set device_map.
11057 (read_device_map): Handle "" as indication of no map.
11058 Set device_map.
11059 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11060 (grub_util_biosdisk_get_compatibility_hint): New function.
11061 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11062 * include/grub/emu/hostdisk.h
11063 (grub_util_biosdisk_get_compatibility_hint): New proto.
11064 * util/grub-install.in: Don't call grub-mkdevicemap.
11065 Add platform-specific hint to load.cfg.
11066 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11067 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11068 hints. Set root preliminary to compatibility hint, not to OS name.
11069 * util/grub-probe.c (PRINT_*): Add hints.
11070 (print): Make static.
11071 (escape_of_path): New function.
11072 (guess_bios_drive): Likewise.
11073 (guess_efi_drive): Likewise.
11074 (guess_baremetal_drive): Likewise.
11075 (print_full_name): Likewise.
11076 (probe): Handle hints.
11077 (main): Likewise.
11078 * util/ieee1275/devicemap.c: Removed.
11079 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11080 updated.
11081 (grub_util_devname_to_ofpath): Return NULL on failure.
11082
11083 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11084 resource leak.
11085 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11086
11087 * po/POTFILES.in: Regenerated.
11088
11089 Allow purely long options
11090
11091 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11092 (SHORT_ARG_USAGE): Likewise.
11093 (grub_arg_show_help): Compare opt with help_options.
11094 (parse_option): Receive opt as argument. If makes big simplificatons.
11095 All users updated
11096
00ce2df3
VS
110972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11100 Restructure to avoid warning.
11101
e77e325f
VS
111022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * util/grub-install.in: Account for possible escaped comma in device
11105 name.
11106
165099ea
VS
111072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11110 channel.
11111
ce4a999d
VS
111122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11115 allocation and zero-setting.
11116 (grub_ieee1275_get_devname): Check that alias is complete.
11117
379586ad
VS
111182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11121 unaligned segments.
11122
9197b0ad
VS
111232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11126 prefix.
11127 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11128 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11129 Add ieee1275 prefix.
11130
edddb7f9
VS
111312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * docs/grub.texi (Filesystems): Update.
11134
a1a8b1b9
VS
111352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Support odc, newc and bigendian cpio formats.
11138
11139 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11140 * grub-core/Makefile.core.def (newc): New module.
11141 (odc): Likewise.
11142 (cpio_be): Likewise.
11143 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11144 (MAGIC): Likewise.
11145 (MAGIC2): Likewise.
11146 (head) [MODE_ODC]: Adapt for the format.
11147 (head) [MODE_NEWC]: Likewise.
11148 (head) [!MODE_*]: Write fields of interest as arrays.
11149 (MAGIC_USTAR): Removed.
11150 (read_number) [MODE_NEWC]: Change to hex.
11151 (read_number) [!MODE_*]: Parse binary arrays.
11152 (grub_cpio_find_file): Factor out the code for better structure and
11153 always use read_number.
11154 (grub_cpio_mount): Use MAGIC and MAGIC2.
11155 (grub_cpio_dir): Exit on first hook non-0 return.
11156 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11157 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11158 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11159 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11160 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11161 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11162 * grub-core/fs/newc.c: New file.
11163 * grub-core/fs/odc.c: Likewise.
11164 * grub-core/fs/cpio_be.c: Likewise.
11165
58eba9ee
VS
111662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 Fix handling of tar numbers occupying the whole field.
11169
11170 * grub-core/fs/cpio.c (read_number): New function.
11171 (grub_cpio_find_file): Use read_number instead of strtoull.
11172
a54a0e12
VS
111732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11176 occupying the whole field size.
11177
a6120aca
LA
111782011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11179
11180 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11181
a93964ce
VS
111822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11185
3ea1ca46
SG
111862011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11187
11188 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11189 TARGET_IMG_LDFLAGS.
11190
b87f7ef2
VS
111912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11194 (mountinfo_entry): Increase the field size to take escaping into
11195 account.
11196 (find_root_device_from_libzfs): Add one byte to size of strings for
11197 security.
11198
62092395
VS
111992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11202 an assert.
11203 * util/grub-setup.c (setup): Likewise.
11204
1f0b1a77
VS
112052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11208 _LzmaDecodeA.
11209
8eba9997
VS
112102011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * docs/grub.texi (Internationalisation): New section.
11213
dd0c91e9
VS
112142011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * docs/grub.texi (Loopback booting): New section.
11217
112182011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11219
11220 * util/grub-mkstandalone.in: Fix minor typo errors.
11221
198e150a
VS
112222011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11225
11226 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11227 net/icmp.c and net/icmp6.c.
11228 (http): New module.
11229 (priority_queue): Likewise.
11230 * grub-core/io/bufio.c: Rewritten.
11231 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11232 TYPE_WITH_CONFIGFILE_OPTION.
11233 (legacy_commands): Add bootp and dhcp.
11234 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11235 (grub_legacy_parse): Likewise.
11236 * grub-core/lib/priority_queue.c: New file.
11237 * grub-core/net/arp.c: Add missing license header.
11238 (arp_find_entry): Removed.
11239 (arp_find_entry): Likewise.
11240 (grub_net_arp_resolve): Rename to ...
11241 (grub_net_arp_send_request): ...this.
11242 (grub_net_arp_receive): New card argument.
11243 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11244 Set router and DNS server.
11245 (grub_net_configure_by_dhcp_ack): Handle routing information.
11246 (grub_cmd_bootp): Set checksum.
11247 (grub_bootp_init): Remove net_dhcp.
11248 * grub-core/net/dns.c: New file.
11249 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11250 completion.
11251 (get_card_packet): Handle allocation.
11252 (grub_efinet_findcards): Set mtu.
11253 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11254 (get_card_packet): Handle allocation.
11255 (emucard): Set mtu.
11256 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11257 (GRUB_MOD_INIT): Set mtu.
11258 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11259 mtu.
11260 (get_card_packet): Handle allocation.
11261 (grub_ofnet_findcards): Set mtu.
11262 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11263 assert.
11264 (grub_net_recv_ethernet_packet): Handle IPv6.
11265 * grub-core/net/http.c: New file.
11266 * grub-core/net/icmp.c: Likewise.
11267 * grub-core/net/icmp6.c: Likewise.
11268 * grub-core/net/ip.c (ip6addr): New type.
11269 (ip6hdr): Likewise.
11270 (reassemble): Likewise.
11271 (cmp): New function.
11272 (reassembles): New variable.
11273 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11274 (id): New variable.
11275 (send_fragmented): New function.
11276 (grub_net_send_ip_packet): Rename to ...
11277 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11278 Handle non-UDP.
11279 (grub_net_recv_ip_packets): Rename to ...
11280 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11281 (free_rsm): New function.
11282 (free_old_fragments): Likewise.
11283 (grub_net_recv_ip4_packets): New function.
11284 (grub_net_send_ip6_packet): Likewise.
11285 (grub_net_send_ip_packet): Likewise.
11286 (grub_net_recv_ip6_packets): Likewise.
11287 (grub_net_recv_ip_packets): Likewise.
11288 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11289 (LINK_LAYER_CACHE_SIZE): New const.
11290 (link_layer_find_entry): New function.
11291 (grub_net_link_layer_add_address): Likewise.
11292 (grub_net_link_layer_resolve_check): Likewise.
11293 (grub_net_link_layer_resolve): Likewise.
11294 (grub_net_ipv6_get_slaac): Likewise.
11295 (grub_net_ipv6_get_link_local): Likewise.
11296 (grub_cmd_ipv6_autoconf): Likewise.
11297 (parse_ip): Handle one number representation.
11298 (parse_ip6): New functoion.
11299 (match_net): Handle IPv6.
11300 (grub_net_resolve_address): Handle IPv6 and DNS.
11301 (grub_net_resolve_net_address): Handle IPv6.
11302 (route_cmp): New function.
11303 (grub_net_route_address): Find best route.
11304 (grub_net_addr_to_str): Handle IPv6.
11305 (grub_net_addr_cmp): New function.
11306 (grub_net_add_addr): Register local route.
11307 (print_net_address): Handle net address.
11308 (grub_net_poll_cards): Retransmit TCP.
11309 (grub_net_poll_cards_idle_real): Likewise.
11310 (have_ahead): New function.
11311 (grub_net_seek_real): Use underlying seek.
11312 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11313 * grub-core/net/tcp.c: New file.
11314 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11315 (cmp): New function.
11316 (ack): Likewise.
11317 (tftp_receive): Handle unordered input.
11318 (destroy_pq): New function.
11319 (tftp_close): Close pq.
11320 * grub-core/net/udp.c: Put missing license header.
11321 (grub_net_udp_socket): New function.
11322 (udp_socket_register): Likewise.
11323 (grub_net_udp_close): Likewise.
11324 (grub_net_recv_udp_packet): Check checksum.
11325 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11326 * include/grub/misc.h (grub_memchr): New function.
11327 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11328 (grub_net_card_driver): Return buf in recv.
11329 (grub_net_slaac_mac_list): New struct.
11330 (grub_network_level_protocol_id): Add ipv6.
11331 (grub_net_network_level_addr): Likewise.
11332 (grub_net_network_level_net_addr): Likewise.
11333 (grub_net_app_protocol): Add seek.
11334 (grub_net_socket): Removed.
11335 (grub_net_sockets): Likewise.
11336 (grub_net_socket_register): Likewise.
11337 (grub_net_socket_unregister): Likewise.
11338 (FOR_NET_SOCKETS): Likewise.
11339 (grub_net_add_addr): Add const.
11340 (GRUB_NET_BOOTP_*): New enum.
11341 (grub_net_addr_cmp): New proto.
11342 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11343 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11344 (grub_net_hwaddr_to_str): NEw proto.
11345 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11346 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11347 (grub_dns_init): New proto.
11348 (grub_dns_fini): Likewise.
11349 (grub_net_tcp_retransmit): Likewise.
11350 (grub_net_link_layer_add_address): Likewise.
11351 (grub_net_link_layer_resolve_check): Likewise.
11352 (grub_net_link_layer_resolve): Likewise.
11353 (grub_net_dns_lookup): Likewise.
11354 (grub_net_add_dns_server): Likewise.
11355 (grub_net_remove_dns_server): Likewise.
11356 (GRUB_NET_TRIES): New const.
11357 (GRUB_NET_INTERVAL): Likewise.
11358 * include/grub/net/arp.h: Mostly rewritten.
11359 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11360 * include/grub/net/ip.h: Mostly rewritten.
11361 * include/grub/net/netbuff.h: Indent.
11362 * include/grub/net/tcp.h: New file.
11363 * include/grub/net/udp.h: Mostly rewritten.
11364 * include/grub/priority_queue.h: New file.
11365 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11366 (grub_swap_bytes64_compile_time): Likewise.
11367 (grub_cpu_to_be16_compile_time): Likewise.
11368 (grub_cpu_to_be32_compile_time): Likewise.
11369 (grub_cpu_to_be64_compile_time): Likewise.
11370 (grub_be_to_cpu64_compile_time): Likewise.
11371
215c1800
VS
113722011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11375 UINT_TO_PTR with cast.
11376
c17e546c
VS
113772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11380 don't use them.
11381
ff6b18b6
VS
113822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11385 already there.
11386
70ffcc93
VS
113872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11390 confusing ipxe.
11391
e5f4d260
VS
113922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11395 Add missing const attribute.
11396 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11397 Likewise.
11398 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11399 Likewise.
11400
8e54b4b7
VS
114012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11404 misaligned access.
11405 (serpent_setkey): Likewise.
11406 (serpent_encrypt_internal): Likewise.
11407 (serpent_decrypt_internal): Likewise.
11408 (serpent_encrypt): Don't put an alignment-increasing cast.
11409 (serpent_decrypt): Likewise.
11410 (serpent_test): Likewise.
11411
813c0a2b
VS
114122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11415
f2b60fbd
VS
114162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11419
11420 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11421 grub_addr_t casts.
11422 (PTR_TO_UINT64): Likewise.
11423 (PTR_TO_UINT32): Likewise.
11424
5ef5c511
VS
114252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11428 because of stack.
11429 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11430 limit.
11431
c476e6df
VS
114322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11435 text_width > available width a bit more gracefully.
11436
384ad7cc
VS
114372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11440 current address calculation.
11441
96f8caf8
VS
114422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11445 stack.
11446 (encode_block): Likewise.
11447
276b7a8b
VS
114482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11451 certainety.
11452
e3fd394a
VS
114532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11456 non-RS part to avoid RS messing with GDT.
11457 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11458 Increase to suit in realmode routines.
11459
114602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/kern/i386/realmode.S: Increase alignment.
11463 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11464
ee9c2e7a
VS
114652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11468 be deterministic.
11469 (syndroms): Compute 0 syndrom.
11470 (rs_recover): Use 0 syndrom.
11471
7a7f7cc9
VS
114722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11475
a14b16d1
VS
114762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11479 brackets.
11480
9f59e9fc
VS
114812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11482
ca1b552c
VS
11483 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11484 account.
11485 (get_top_pad): Likewise.
11486 (get_right_pad): Likewise.
11487 (get_bottom_pad): Likewise.
11488
114892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11492
e739d698
VS
114932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11496 attribute as the structure isn't guaranteed to be properly aligned.
11497 (grub_efi_pci_device_path): Likewise.
11498 (grub_efi_pccard_device_path): Likewise.
11499 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11500 specify the size of `memory_type'.
11501 (grub_efi_vendor_device_path): Likewise.
11502 (grub_efi_controller_device_path): Likewise.
11503 (grub_efi_acpi_device_path): Likewise.
11504 (grub_efi_expanded_acpi_device_path): Likewise.
11505 (grub_efi_atapi_device_path): Likewise.
11506 (grub_efi_scsi_device_path): Likewise.
11507 (grub_efi_fibre_channel_device_path): Likewise.
11508 (grub_efi_1394_device_path): Likewise.
11509 (grub_efi_usb_device_path): Likewise.
11510 (grub_efi_usb_class_device_path): Likewise.
11511 (grub_efi_i2o_device_path): Likewise.
11512 (grub_efi_mac_address_device_path): Likewise.
11513 (grub_efi_ipv4_device_path): Likewise.
11514 (grub_efi_ipv6_device_path): Likewise.
11515 (grub_efi_infiniband_device_path): Likewise.
11516 (grub_efi_uart_device_path): Likewise.
11517 (grub_efi_vendor_messaging_device_path): Likewise.
11518 (grub_efi_hard_drive_device_path): Likewise.
11519 (grub_efi_cdrom_device_path): Likewise.
11520 (grub_efi_vendor_media_device_path): Likewise.
11521 (grub_efi_file_path_device_path): Likewise.
11522 (grub_efi_protocol_device_path): Likewise.
11523 (grub_efi_piwg_device_path): Likewise.
11524 (grub_efi_bios_device_path): Likewise.
11525
cb8f88ea
VS
115262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11529 (grub_ucs4_to_utf8_alloc): Likewise.
11530 (grub_ucs4_to_utf8): Likewise.
11531 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11532 (grub_ucs4_to_utf8_alloc): Likewise.
11533
309e5352
VS
115342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 AFFS never uses unicode.
11537
11538 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11539 (grub_latin1_to_utf8): New inline function.
11540 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11541
e7987e1b
VS
115422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11545 overflow.
11546
efc2616e
VS
115472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11550 (grub_squash_dirent_header): Likewise.
11551 (read_chunk): Don't double swap.
11552 (grub_squash_iterate_dir): Fix swap sizes.
11553
3c349f5a
VS
115542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11557
b453412d
VS
115582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11561 (grub_hfs_iterate_dir): Likewise.
11562
12e9d4d1
VS
115632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 Fix video on platforms where unaligned access is forbidden.
11566 Make several optimisations while on it.
11567
11568 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11569 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11570 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11571 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11572 Disable.
11573 (grub_video_fbblit_replace_16bit_1bit):
11574 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11575 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11576 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11577 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11578 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11579 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11580 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11581 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11582 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11583 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11584 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11585 (grub_video_fbblit_replace_index_RGB888): Likewise.
11586 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11587 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11588 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11589 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11590 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11591 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11592 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11593 Disable.
11594 (grub_video_fbblit_blend_XXX565_1bit):
11595 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11596 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11597 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11598 void *.
11599 * grub-core/video/fb/video_fb.c (common_blitter)
11600 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11601 (grub_video_fb_create_render_target_from_pointer)
11602 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11603 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11604 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11605 definition.
11606 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11607
ace96609
VS
116082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11611 HH22 and HM10 relocations.
11612
fd261d73
VS
116132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11616
e59b7857
VS
116172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11620 allocation succeeded.
11621
9b4baaa4
VS
116222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11625 argument a u8 pointer. All users updated.
11626 Handle unaligned buffers.
11627
dc713193
VS
116282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11631 add_part to workaround compiler bug.
11632
30dd48c2
VS
116332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11636
0c6087a8
VS
116372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11640 Reserve alignment invariants.
11641 (grub_multiboot_load): Likewise.
11642 (retrieve_video_parameters): Likewise.
11643 (grub_multiboot_make_mbi): Likewise.
11644
c2e77777
VS
116452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11648 incorrect pointer.
11649
b70b6d11
VS
116502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11653 (grub_pata_pio_write): Likewise.
11654
02a2bf83
VS
116552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 Add noreturn attributes and remove unreachable code.
11658
11659 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11660 code.
11661 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11662 code. Mark as noreturn.
11663 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11664 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11665 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11666 unreachable code.
11667 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11668 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11669 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11670 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11671 * include/grub/kernel.h (grub_main): Mark as noreturn.
11672 * include/grub/reader.h (grub_rescue_run): Likewise.
11673
2019d09e
VS
116742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11677 redundant declaration.
11678
d1c501ee
VS
116792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11682 redundant declaration.
11683 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11684
61664420
VS
116852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11688 to ensure alignment.
11689 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11690 alignment. Ensure tmp alignment.
11691 (grub_cmd_hdparm): Ensure buf alignment.
11692 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11693 to ensure alignment.
11694 (grub_ata_dumpinfo): Ensure text alignment.
11695 (grub_atapi_identify): Preserve alignment invariant.
11696 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11697
0d51ee20
VS
116982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11701 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11702 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11703 * include/grub/misc.h (grub_reboot)
11704 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11705 (grub_halt) [__mips__]: Likewise.
11706
753ef8c1
VS
117072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11710 Remove redundant declaration.
11711 (grub_mmap_get_post64): Likewise.
11712 (grub_mmap_get_upper): Likewise.
11713 (grub_mmap_get_lower): Likewise.
11714
85c85365
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11718 uint32_t * to ensure alignment.
11719 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11720
a23f2cc4
VS
117212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11722
93018f64
VS
11723 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11724 uint16_t * to ensure alignment.
11725 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11726 alignment.
11727
117282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11731 to ensure alignment.
11732 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11733
58acccd6
VS
117342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11737 Handle unaligned pointers.
11738 (u32at): Likewise.
11739 (u64at): Likewise.
11740 (fixup): Use byte access instead of v16at.
11741 (find_attr): Fix imporper usage of v32at.
11742 (read_data): Likewise.
11743 (list_file): Handle byte-swapping and unaligned strings.
11744 (grub_ntfs_label): Likewise.
11745
9b05cad7
VS
117462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11749 as it's not necessarily aligned.
11750
b3950b84
VS
117512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11754 redundant declaration.
11755 (grub_serial_init): Likewise.
11756 (grub_terminfo_init): Likewise.
11757
fcd232b7
VS
117582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11761 function.
11762 (ZAP_HASH_IDX): Likewise.
11763 (ZAP_LEAF_HASH_SHIFT): Likewise.
11764 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11765 (LEAF_HASH): Likewise.
11766 (ZAP_LEAF_NUMCHUNKS): Likewise.
11767 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11768 alignment invariants. Return pointer. All users updated.
11769 (ZAP_LEAF_ENTRY): Make into inline function.
11770 (NBBY): Removed.
11771 (xor): LIkewise.
11772 (xor_out): Use grub_crypto_xor.
11773 (dnode_get_path): Use grub_get_unaligned.
11774 (nvlist_find_value): Likewise.
11775 (grub_zfs_nvlist_lookup_uint64): Likewise.
11776 (grub_zfs_nvlist_lookup_string): Likewise.
11777 (get_nvlist_size): Likewise.
11778 (grub_zfs_open): Likewise.
11779 (fill_fs_info): Likewise.
11780 (grub_zfs_dir): Likewise.
11781 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11782 alignment invariants.
11783 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11784 necessarily aligned.
11785
f138623a
VS
117862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11789
564840dc
VS
117902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11793 arithmetic to conserve alignment invariants.
11794
9b40df20
VS
117952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11798 redundant declaration.
11799 (grub_efiemu_mm_obtain_request): Likewise.
11800 (grub_efiemu_prepare): Likewise.
11801
d1c930f9
VS
118022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11805 to match types.
11806
4c5f3056
VS
118072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11810 case of aunaligned recptr.
11811 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11812 alignment.
11813 (grub_hfsplus_btree_search): Handle unaligned index.
11814
728cba91
VS
118152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11818 to get freetag and skip.
11819
eb561f31
VS
118202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11823 array.
11824 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11825 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11826
20993fbb
VS
118272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11830 name for checksum and fix allocation algorithm.
11831
1f313b94
VS
118322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * include/grub/types.h (grub_properly_aligned_t): New type.
11835 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11836 (grub_get_unaligned16): Add explicit casts.
11837 (grub_get_unaligned32): Likewise.
11838 (grub_get_unaligned64): Likewise.
11839 (grub_set_unaligned16): New function.
11840 (grub_set_unaligned32): Likewise.
11841
47ae27ec
VS
118422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11845
78c2cd1c
VS
118462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11849 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11850 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11851
53072f9b
VS
118522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11855 conditionals.
11856
055dc239
VS
118572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11860 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11861
496bd074
VS
118622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 Unify and improve RAID and crypto xor.
11865
11866 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11867 changed to grub_crypto_xor
11868 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11869 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11870 Use bigger types when possible.
11871
ef6e4335
VS
118722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/disk/raid.c (scan_devices): Fix condition.
11875
5d048bf2
VS
118762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11879 Make name a const ptr.
11880
ee533335
VS
118812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11884 first argument a const pointer.
11885 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11887 proto.
11888 (grub_children_iterate): Likewise.
11889 (grub_machine_mmap_iterate): Remove redundant declaration.
11890
cc8f3668
VS
118912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11894 (grub_cmd_acpi) [!x86]: Disable EBDA.
11895
c5fc563a
VS
118962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 Enable UTF8 in gnulib regexp.
11899
11900 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11901 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11902 (isupper): Use grub_isupper.
11903 (isascii): New inline function.
11904 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11905 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11906 * grub-core/normal/charset.c (grub_utf8_process): New function.
11907 (grub_utf8_to_utf16): Use grub_utf8_process.
11908 (grub_encode_utf8_character): New function.
11909 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11910 * include/grub/charset.h (grub_utf8_process): New declaration.
11911 (grub_encode_utf8_character): Likewise.
11912 * include/grub/misc.h (grub_islower): New inline function.
11913 (grub_isupper): Likewise.
11914 (grub_strchrsub): Moved down to fix the definitions.
11915
0af2346f
VS
119162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11919 specification.
11920
74dbd244
VS
119212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * include/grub/loader.h (grub_loader_register_preboot_hook):
11924 Use struct preboot * and not void * for handle. All users updated.
11925 (grub_loader_unregister_preboot_hook): Likewise.
11926
1bc8f60d
VS
119272011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11930 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11931 UTF-16-BE. All users updated.
11932 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11933 (grub_hfsplus_iterate_dir): Likewise.
11934 (grub_hfsplus_label): Likewise.
11935
48d6e456
VS
119362011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11939
bf3a3857
VS
119402011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 Add missing const qualifiers.
11943
11944 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11945 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11946 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11947 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11948 (grub_lvm_check_flag): Likewise.
11949 * grub-core/efiemu/i386/coredetect.c
11950 (grub_efiemu_get_default_core_name): Likewise
11951 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11952 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11953 * grub-core/fs/ntfs.c (fixup): Likewise.
11954 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11955 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11956 (fzap_lookup): Likewise.
11957 (zap_lookup): Likewise.
11958 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11959 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11960 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11961 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11962 (grub_freebsd_add_meta_module): Likewise.
11963 (grub_cmd_freebsd_module): Likewise.
11964 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11965 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11966 (grub_xnu_writetree_get_size): Likewise.
11967 (grub_xnu_writetree_toheap_real): Likewise.
11968 (grub_xnu_find_key): Likewise.
11969 (grub_xnu_create_key): Likewise.
11970 (grub_xnu_create_value): Likewise.
11971 (grub_xnu_register_memory): Likewise.
11972 (grub_xnu_check_os_bundle_required): Likewise.
11973 (grub_xnu_scan_dir_for_kexts): Likewise.
11974 (grub_xnu_load_kext_from_dir): Likewise.
11975 * grub-core/normal/color.c (color_list): Likewise.
11976 * grub-core/normal/completion.c (current_word): Likewise.
11977 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11978 * grub-core/term/serial.c (grub_serial_find): Likewise.
11979 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11980 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11981 Likewise.
11982 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11983 (grub_freebsd_add_meta_module): Likewise.
11984 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11985 * include/grub/net.h (grub_net_card_driver): Likewise.
11986 (grub_net_card): Likewise.
11987 (grub_net_app_protocol): Likewise.
11988 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11989 * include/grub/serial.h (grub_serial_find): Likewise.
11990 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11991 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11992 (grub_xnu_create_value): Likewise.
11993 (grub_xnu_find_key): Likewise.
11994 (grub_xnu_scan_dir_for_kexts): Likewise.
11995 (grub_xnu_load_kext_from_dir): Likewise.
11996
11997 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11998 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11999 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12000 Moved from here ...
12001 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12002
112b4837
CW
120032011-11-28 Colin Watson <cjwatson@ubuntu.com>
12004
12005 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12006
49e891ac
VS
120072011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12010 (read_device): Fix size calculation.
12011
fd258e5c
RM
120122011-11-25 Robert Millan <rmh@gnu.org>
12013
12014 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12015 (find_root_device_from_libzfs): Add zpool output parser to be used
12016 as fallback when libzfs isn't available.
12017
78845dc2
SG
120182011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12019
12020 * po/Makefile.in.in: Add missing escape-continuation.
12021
adac5211
VS
120222011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12025
10b64f1c
VS
120262011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12029
bb416954
VS
120302011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12033
bdfe9eeb
VS
120342011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12037
581ffa8a
VS
120382011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * grub-core/lib/adler32.c: Add missing license specification.
12041 * grub-core/lib/crc64.c: Likewise.
12042 * grub-core/loader/i386/pc/plan9.c: Likewise.
12043 * grub-core/partmap/plan.c: Likewise.
12044
2536cf64
LK
120452011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12046
12047 Add facility to debug GRUB with gdb under qemu.
12048
12049 * grub-core/gdb_grub.in: New file.
12050 * grub-core/gmodule.pl.in: Likewise.
12051 * grub-core/Makefile.core.def (gmodule.pl): New script.
12052 (gdb_grub): Likewise.
12053
bc108a4a
VS
120542011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/grub-mount.c (argp_parser): Accept relative pathes.
12057 * util/grub-fstest.c (argp_parser): Likewise.
12058
111c1778
VS
120592011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 Plan9 support.
12062
12063 * Makefile.util.def (libgrubmods): Add
12064 grub-core/partmap/plan.c.
12065 * docs/grub.texi: Notice Plan9 support.
12066 * grub-core/Makefile.core.def (plan9): New module.
12067 (part_plan): Likewise.
12068 * grub-core/loader/i386/pc/plan9.c: New file.
12069 * grub-core/partmap/plan.c: Likewise.
12070 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12071 define.
12072 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12073 * include/grub/mm.h (grub_extend_alloc): New inline function.
12074
c30be3b6
VS
120752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 Make Reed-Solomon faster by using power of generator representation of
12078 GF(256)*.
12079
12080 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12081 (gf_double_t): Likewise.
12082 (gf_invert): Removed.
12083 (gf_powx): New array.
12084 (gf_powx_inv): Likewise.
12085 (scratch): Move higher.
12086 (gf_reduce): Removed.
12087 (gf_mul): Use powx.
12088 (gf_invert): Likewise.
12089 (init_inverts): Replaced with ...
12090 (init_powx): ...this. All users updated.
12091 (pol_evaluate): Replace multiplications with additions.
12092 (rs_encode): Likewise.
12093 (gauss_eliminate): Call gf_invert.
12094 (grub_reed_solomon_add_redundancy): Call init_powx.
12095 (grub_reed_solomon_recover): Call init_powx unconditionally.
12096
fa5aeffc
VS
120972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12100
a346b81c
VS
121012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12104 disk->partiton for safety.
12105
d89ee414
VS
121062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12109 Fix a memory leak.
12110 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12111
91ee7b6d
VS
121122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12115
91e5a33d
VS
121162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12119
9edd7be2
VS
121202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 Fix spaces handling in proc/self/mountinfo.
12123
12124 * util/getroot.c (unescape): New function.
12125 (grub_find_root_device_from_mountinfo): Use unescape.
12126
ba102053
VS
121272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 Support ZFS embedding.
12130
12131 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12132 (grub_zfs_fs): Register grub_zfs_embed.
12133
aa94b870
VS
121342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 Fix MIPS compilation.
12137
12138 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12139 * include/grub/offsets.h: Rename decompressor fields from
12140 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12141 * util/grub-mkimage.c (image_targets): Use new names.
12142
5fbdac14
VS
121432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Defer multiboot device parsing until we're in compressed part.
12146
12147 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12148 bsd_part. setdevice has fallen into disuse.
12149 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12150 (bsd_part): Likewise.
12151 (boot_dev): New variable.
12152 (multiboot_trampoline): Don't parse multiboot device.
12153 Pass multiboot device in %edx.
12154 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12155 grub_boot_device.
12156 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12157 Likewise.
12158 * grub-core/kern/i386/pc/startup.S: Save edx.
12159 (grub_boot_drive): Removed.
12160 (grub_install_dos_part): Likewise.
12161 (grub_install_bsd_part): Likewise.
12162 (grub_boot_device): New variable.
12163 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12164 (grub_install_bsd_part): Likewise.
12165 (grub_boot_drive): Likewise.
12166 (grub_boot_device): New variable.
12167 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12168 Removed.
12169 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12170 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12171 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12172 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12173 * util/grub-install.in: Remove redundant condition.
12174
691cbb58
VS
121752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 Fix bug introduced by previous commit.
12178
12179 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12180
60240b8b
VS
121812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Use decompressors framework on i386-pc. It increases core size
12184 by 46 bytes but improves compatibility and maintainability.
12185
12186 * grub-core/Makefile.core.def (lzma_decompress): New image.
12187 (kernel): Add i386_pc_ldflags.
12188 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12189 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12190 to real_to_prot, prot_to_real and device info.
12191 * include/grub/offsets.h: Renamed decompressor offsets.
12192 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12193 (image_target_desc): Remove raw_size and rename decompressor fields.
12194 (compress_kernel): Handle lzma.
12195 (generate_image): Handle decompressors on i386-pc.
12196
e9d3421c
VS
121972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * configure.ac: Add -fno-asynchronous-unwind-tables.
12200
2b23074a
VS
122012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Move assembly code to C by using intwrap. It increases core size
12204 by 88 bytes but improves compatibility and maintainability.
12205
12206 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12207 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12208 ... here. Translated to C.
12209 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12210 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12211 ... here. Translated to C.
12212 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12213 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12214 ... here. Translated to C.
12215 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12216 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12217 ... here. Translated to C.
12218 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12219 * grub-core/term/i386/pc/console.c (grub_console_cls):
12220 ... here. Translated to C.
12221 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12222 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12223 ... here. Translated to C.
12224 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12225 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12226 Translated to C.
12227 * grub-core/term/i386/pc/console.c (int10_9): New function.
12228 (grub_console_putchar): Likewise.
12229 * include/grub/i386/pc/console.h: Removed the not anymore shared
12230 functions.
12231
678f4b67
VS
122322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 Move grub_chainloader_real_boot out of the kernel.
12235
12236 * grub-core/Makefile.am: Remove machine/loader.h.
12237 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12238 Removed.
12239 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12240 variable.
12241 (grub_relocator16_keep_a20_enabled): Likewise.
12242 (grub_relocator16_boot): Fill new variables.
12243 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12244 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12245 relocator.
12246 (grub_chainloader_unload): Likewise.
12247 (grub_chainloader_cmd): Likewise.
12248 * include/grub/i386/pc/loader.h: Removed.
12249 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12250 and esi. All initialisers updated.
12251
4626edf6
VS
122522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
122532011-11-12 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * Makefile.util.def (grub-mount): New util.
12256 * .bzrignore: Add grub-mount.
12257 * configure.ac: Check for fuse and enable grub-mount if available.
12258 * docs/man/grub-mount.h2m: New file.
12259 * util/grub-mount.c: Likewise.
12260
10f0117b
VS
122612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/commands/efi/fixvideo.c: Gettextize.
12264 * grub-core/commands/hashsum.c: Likewise.
12265 * grub-core/commands/i386/cmostest.c: Likewise.
12266 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12267 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12268 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12269 * grub-core/commands/lsmmap.c: Likewise.
12270 * grub-core/commands/menuentry.c: Likewise.
12271 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12272 * grub-core/commands/setpci.c: Likewise.
12273 * grub-core/loader/i386/bsd.c: Likewise.
12274 * grub-core/loader/i386/linux.c: Likewise.
12275 * util/getroot.c: Likewise.
12276 * util/grub-editenv.c: Likewise.
12277 * util/grub-fstest.c: Likewise.
12278 * util/grub-mkfont.c: Likewise.
12279 * util/grub-mkimage.c: Likewise.
12280 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12281 * util/grub-pe2elf.c: Likewise.
12282 * util/grub-probe.c: Likewise.
12283 * util/grub-setup.c: Likewise.
12284 * util/ieee1275/ofpath.c: Likewise.
12285 * util/misc.c: Likewise.
12286 * util/raid.c: Likewise.
12287
566f779b
RM
122882011-11-11 Robert Millan <rmh@gnu.org>
12289
12290 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12291 __attribute__((unused)) from `os_dev', which *is* being used.
12292
b50787de
VS
122932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12296 forgotten define.
12297 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12298 GRUB_IA64_DL_GOT_ALIGN.
12299 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12300 GRUB_IA64_DL_TRAMP_ALIGN.
12301
119d11c8
VS
123022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 Replace grub_fatal with normal errors in i386 linux loader.
12305
12306 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12307 (allocate_pages): Check find_efi_mmap_size return value.
12308 (grub_e820_add_region): Return error.
12309 (grub_linux_boot): Check mmap return value.
12310
6e0632e2
VS
123112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * grub-core/commands/acpihalt.c: Gettextized.
12314 * grub-core/commands/cacheinfo.c: Likewise.
12315 * grub-core/commands/cmp.c: Likewise.
12316 * grub-core/commands/efi/loadbios.c: Likewise.
12317 * grub-core/commands/gptsync.c: Likewise.
12318 * grub-core/commands/ieee1275/suspend.c: Likewise.
12319 * grub-core/commands/legacycfg.c: Likewise.
12320 * grub-core/commands/memrw.c: Likewise.
12321 * grub-core/commands/minicmd.c: Likewise.
12322 * grub-core/commands/parttool.c: Likewise.
12323 * grub-core/commands/time.c: Likewise.
12324 * grub-core/commands/videoinfo.c: Likewise.
12325 * grub-core/disk/geli.c: Likewise.
12326 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12327 * grub-core/disk/luks.c: Likewise.
12328 * grub-core/disk/lvm.c: Likewise.
12329 * grub-core/font/font_cmd.c: Likewise.
12330 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12331 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12332 * grub-core/gfxmenu/view.c: Likewise.
12333 * grub-core/kern/emu/hostdisk.c: Likewise.
12334 * grub-core/kern/emu/main.c: Likewise.
12335 * grub-core/kern/emu/misc.c: Likewise.
12336 * grub-core/kern/emu/mm.c: Likewise.
12337 * grub-core/kern/mips/arc/init.c: Likewise.
12338 * grub-core/kern/mips/loongson/init.c: Likewise.
12339 * grub-core/kern/partition.c: Likewise.
12340 * grub-core/lib/i386/halt.c: Likewise.
12341 * grub-core/lib/mips/arc/reboot.c: Likewise.
12342 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12343 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12344 * grub-core/loader/i386/xnu.c: Likewise.
12345 * grub-core/loader/multiboot.c: Likewise.
12346 * grub-core/net/bootp.c: Likewise.
12347 * grub-core/net/net.c: Likewise.
12348 * grub-core/normal/term.c: Likewise.
12349 * grub-core/partmap/bsdlabel.c: Likewise.
12350 * grub-core/parttool/msdospart.c: Likewise.
12351 * grub-core/term/gfxterm.c: Likewise.
12352 * grub-core/term/terminfo.c: Likewise.
12353 * grub-core/video/i386/pc/vbe.c: Likewise.
12354 * util/grub-menulst2cfg.c: Likewise.
12355 * util/grub-mkdevicemap.c: Likewise.
12356 * util/grub-mklayout.c: Likewise.
12357 * util/grub-mkrelpath.c: Likewise.
12358 * util/grub-script-check.c: Likewise.
12359 * util/ieee1275/grub-ofpathname.c: Likewise.
12360 * util/resolve.c: Likewise.
12361
073aa7a9
VS
123622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Support %1$d syntax.
12365
12366 * tests/printf_unit_test.c: New file.
12367 * Makefile.util.def (printf_test): New test.
12368 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12369
c76b5417
VS
123702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12373 fix.
12374
df067ad1
VS
123752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12378 dprintf.
12379 * grub-core/font/font.c (grub_font_load): Likewise.
12380
5b289bc5
VS
123812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * util/grub-macho2img.c: Add comment concerning gettext.
12384 * grub-core/lib/legacy_parse.c: Likewise.
12385
c1860f87
VS
123862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12389 (grub_xvasprintf): Likewise.
12390
d35d0d37
VS
123912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Add const keyword to grub_env_get and gettextize week days.
12394
12395 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12396 (grub_read_hook_datetime): Return const char *.
12397 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12398 updated.
12399 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12400 Mark for gettext.
12401 (grub_get_weekday_name): Return const char *. Call gettext.
12402 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12403 char * and len as the argument. All users updated.
12404 (grub_script_argv_split_append): Receive const char *.
12405 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12406 * include/grub/env.h (grub_env_get): Likewise.
12407 (grub_env_read_hook_t): Return const char *.
12408 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12409 (grub_script_argv_split_append): Likewise.
12410
9aed8a71
VS
124112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12414
067fdf00
VS
124152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12418 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12419
a8bd9d39
VS
124202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12423 Fix prototype.
12424
f7ce5baf
VS
124252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Fix mips compilation.
12428
12429 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12430 normal decoder.
12431 (hashes): Use in embed decoder as well (for sizes).
12432 (dec_stream_header): Fix embed decompressor logic.
12433 (dec_stream_footer): Likewise.
12434
9bb182f3
VS
124352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12438 an error and not a fatal on unrecognised relocation types.
12439
63a9e6f6
VS
124402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12443 Issue error rather than printf on unknown arguments.
12444
4c458569
VS
124452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12448 Make buf a const.
12449
e2d22baf
VS
124502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12453 Fix module name.
12454
53dc8590
VS
124552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12458 leftover debug printf.
12459
6c189294
VS
124602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12463
f7688369
VS
124642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12467 A stylistic fix.
12468
11a775a3
VS
124692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12472
33f784e8
SL
124732011-11-10 Shea Levy <slevy@tieronedesign.com>
12474
12475 Allow all modules to perform serial IO
12476
12477 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12478 * include/grub/serial.h (grub_serial_port_configure): New inline
12479 function.
12480 (grub_serial_port_fetch): Likewise.
12481 (grub_serial_port_put): Likewise.
12482 (grub_serial_port_fini): Likewise.
12483 (grub_serial_find): New proto.
12484
f6276525
VS
124852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 Put symlink at the end of the node and fix a potential
12488 memory corruption.
12489
12490 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12491 Make symlink into an array.
12492 (set_rockridge): Set have_symlink and alloc_dirents.
12493 (grub_iso9660_read_symlink): Use new layout.
12494 (grub_iso9660_iterate_dir): Fix memory corruption.
12495 Use new layout.
12496 (grub_iso9660_dir): Set have_symlink.
12497 (grub_iso9660_open): Likewise.
12498
c3591189
VS
124992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 Remove local keyword.
12502
12503 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12504 (version_test_gt): Likewise.
12505 (version_find_latest): Likewise.
12506 (gettext_printf): Likewise.
12507 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12508
cb544caa
VS
125092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12512
45bd824d
VS
125132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Fix ZFS memory and resource leaks.
12516
12517 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12518 All users updated.
12519 Free type on exit.
12520 (fill_vdev_info): New parameter inserted. All users updated.
12521 (check_pool_label): Likewise.
12522 (scan_disk): Likewise.
12523 (scan_devices): Close non-inserted disks.
12524 (fzap_iterate): Free l.
12525 (unmount_device): Free children descripto memory.
12526
ad9a2f44
VS
125272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12530 argument (access out of bounds).
12531
6b68db81
VS
125322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12535 >= 6 drives.
12536
28840fda
VS
125372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12540 Fix declaration.
12541
8a5a3a5b
VS
125422011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Fix several memory leaks.
12545
12546 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12547 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12548 (grub_cpio_dir): Likewise.
12549 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12550 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12551 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12552 (grub_romfs_label): Likewise.
12553 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12554 (squash_unmount): New function.
12555 (grub_squash_dir): Fix memory leak.
12556 (grub_squash_open): Likewise.
12557 (grub_squash_read): Likewise.
12558 (grub_squash_mtime): Likewise.
12559 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12560 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12561 * util/grub-fstest.c (fstest): Likewise.
12562
57b01250
VS
125632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12566 avoid accessing beyond the array.
12567
19e81ba7
VS
125682011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12571
52b656c0
VS
125722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 Several AFFS fixes.
12575
12576 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12577 (GRUB_AFFS_FLAG_FFS): Removed.
12578 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12579 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12580 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12581 (grub_fshelp_node): Make block 32-bit.
12582 Add block_cache and last_block_cache.
12583 (grub_affs_read_block): Fill and use block cache.
12584 (grub_affs_read_file): Removed.
12585 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12586 boot block.
12587 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12588 safety.
12589 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12590 space.
12591 (grub_affs_close): Free block cache.
12592 (grub_affs_read): Use grub_fshelp_read_file directly.
12593
438a746a
VS
125942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12597 with no error set.
12598
49a45021
VS
125992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12602 used variable.
12603 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12604 Likewise.
12605
3ae17eb8
VS
126062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12609
12610 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12611 byteswap when needed.
12612
27610c38
VS
126132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 Fix FreeBSD compilation.
12616
12617 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12618 to avoid circular dependency.
12619 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12620 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12621 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12622
4a19b601
VS
126232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 Fix ZFS crypto error types.
12626
12627 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12628 (grub_gcm_decrypt): Likewise.
12629 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12630 from PBKDF2.
12631
958ee221
VS
126322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 Illumos support.
12635
12636 * Makefile.util.def (10_illumos): New script.
12637 * configure.ac: Set COND_HOST_ILLUMOS.
12638 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12639 Support Illumos calls.
12640 (find_partition_start) [__sun__]: Likewise.
12641 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12642 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12643 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12644 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12645 device.
12646 * util/grub-probe.c (probe) [__sun__]: Do character check.
12647 * util/grub.d/10_illumos.in: New file.
12648
cac14fb6
VS
126492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 Support escaped commas in hostdisk.
12652
12653 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12654 (find_grub_drive): Use unescape_cmp.
12655 (make_device_name): Escape commas.
12656
78e08dc3
VS
126572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12660
9f421dd1
VS
126612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12664 variable.
12665
ed64e9e2
VS
126662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 Support trampoline jumps on powerpc.
12669
12670 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12671 __ia64__ path.
12672 (grub_dl_load_segments): Set mod->sz.
12673 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12674 segments.
12675 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12676 (jump): Likewise.
12677 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12678 function.
12679 (trampoline): New struct.
12680 (trampoline_template): New const.
12681 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12682 * include/grub/dl.h (grub_dl): Add sz element.
12683 [__powerpc__]: Follow __ia64__.
12684 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12685 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12686 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12687 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12688
3084ede4
VS
126892011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 ZFS crypto support.
12692
12693 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12694 * grub-core/Makefile.core.def (zfscrypt): New module.
12695 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12696 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12697 it. All users updated.
12698 (grub_zfs_decrypt): New var.
12699 (grub_zfs_load_key): Likewise.
12700 (zio_checksum_functions): Add SHA256+MAC.
12701 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12702 (zio_read): Handle encrypted blocks.
12703 (zap_verify): Remove incorrect check.
12704 (fzap_iterate): Handle non-standard fzap.
12705 (zap_iterate): Likewise.
12706 (zap_iterate_u64): New function.
12707 (dnode_get_fullpath): Load keys.
12708 * grub-core/fs/zfs/zfscrypt.c: New file.
12709 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12710 (grub_crypto_ecb_encrypt): Make input const.
12711 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12712 (grub_crypto_ecb_encrypt): Make input const.
12713 (GRUB_CIPHER_AES): New macro.
12714 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12715 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12716 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12717 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12718 prefix. All users updated.
12719 (grub_zfs_add_key): New proto.
12720 (grub_zfs_decrypt): Likewise.
12721 (grub_zfs_load_key): Likewise.
12722 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12723 * util/grub-fstest.c (options): Add -K option.
12724 (argp_parser): Likewise.
12725
b632b404
VS
127262011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 Support zle compression on ZFS.
12729
12730 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12731 (decomp_table): Add zle.
12732 * include/grub/zfs/zio.h (zio_compress): Add zle.
12733
c7ba4f69
VS
127342011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 Support BtrFS embedding.
12737
12738 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12739 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12740 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12741 * util/grub-setup.c (setup): Use fs embedding if available.
12742 Add additional sanity check.
12743
455377d9
VS
127442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * util/grub-install.in: Fix condition for config_opt.
12747
c2fd16ca
VS
127482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 Support third redundancy strip on raidz3.
12751
12752 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12753 Return error on singularity. All users updated.
12754 (read_device): Don't stop on 3rd failure on raidz3.
12755
8622923b
VS
127562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 Support case-insensitive ZFS subvolumes.
12759
12760 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12761 All users updated.
12762 (zap_hash): Likewise.
12763 (name_cmp): New function.
12764 (zap_leaf_array_equal): New parameter case_insensitive.
12765 All users updated.
12766 (zap_leaf_lookup): Likewise.
12767 (fzap_lookup): Likewise.
12768 (zap_lookup): Likewise.
12769 (dnode_get_path): New parameter case_insensitive. Retrieve case
12770 sensitiviness of a volume. All users updated.
12771 (dnode_get_fullpath): New parameter case_insensitive.
12772 All users updated.
12773 (grub_zfs_dir): Set info.case_insensitiveness.
12774
95f2e860
VS
127752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Support second redundancy strip on raidz(2,3).
12778
12779 * grub-core/fs/zfs/zfs.c (powx): New array.
12780 (powx_inv): Likewise.
12781 (poly): New const.
12782 (xor_out): New function.
12783 (gf_mul): Likewise.
12784 (recovery): Likewise.
12785 (read_device): Use second redundancy strip.
12786
11ee4389
VS
127872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 Use a power of generator representation of GF(256) multiplication group
12790 to save space time and complexity.
12791
12792 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12793 (raid6_table2): Likewise.
12794 (powx): New array.
12795 (powx_inv): Likewise.
12796 (poly): New const.
12797 (grub_raid_block_mul): Replace with ...
12798 (grub_raid_block_mulx): ...this.
12799 (grub_raid6_init_table): Rewritten.
12800 (grub_raid6_recover): Use power of generator representation.
12801
09e2763f
VS
128022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12805 for the right device.
12806
8bec9a28
VS
128072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12810 expected by grub-mkimage and it's more clear since there is no implicit
12811 padding.
12812
dbd3a32e
VS
128132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12816 disk.
12817 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12818
182c872a
PMH
128192011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12820
12821 * util/grub-mkrescue.in: Fix handling xorriso option.
12822
1e51cabd
VS
128232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12826 NULL.
12827
9cc3581d 128282011-11-03 crocket <crockabiscuit@gmail.com>
12829
12830 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12831
158dc1ea
VS
128322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 XZ CRC64 and SHA256 support.
12835
12836 * Makefile.util.def (libgrubmods): Add crc64.c.
12837 * grub-core/Makefile.core.def (crc64): New module.
12838 * grub-core/lib/crc64.c: New file.
12839 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12840 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12841 Fix the type.
12842 (MAX_HASH_SIZE): New define.
12843 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12844 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12845 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12846 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12847 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12848 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12849 Handle non-crc32 hashes.
12850 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12851 (dec_stream_header): Handle non-crc32 hashes.
12852 (dec_stream_footer): Likewise.
12853 (dec_block_header): Likewise.
12854 (dec_main): Likewise.
12855 (xz_dec_init): Likewise.
12856 (xz_dec_reset): Likewise.
12857 (xz_dec_end): Likewise.
12858 * util/import_gcry.py: Add CRC64 line.
12859
9d9b3d2f
VS
128602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12863 as well.
12864
7d0ac931
VS
128652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 Make reiserfs label retrieval similar to other *_label functions.
12868
12869 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12870 (REISERFS_MAX_LABEL_LENGTH): Removed.
12871 (REISERFS_LABEL_OFFSET): Likewise.
12872 (grub_reiserfs_label): Rewritten.
12873
128742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12877 field.
12878
cf5ba824
VS
128792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12882
17744004
VS
128832011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12886 drive failure on both raidz and raidz2.
12887
aca5aefc
VS
128882011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Fix RAIDZ(2) for >= 5 devices.
12891
12892 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12893 asize argument. All users updated.
12894
ce8ca56e
VS
128952011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 Fix RAIDZ(2).
12898
12899 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12900 (fill_vdev_info_real): Set ashift.
12901 (read_device): Rewrite RAIDZ part based on reverse engineering.
12902
7c01e783
VS
129032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12906 don't report potentially unavialiable fields in debug output.
12907 (find_path): Fix double-free and memory leak.
12908
ce109e84
VS
129092011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Read label on UFS1.
12912
12913 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12914 (grub_ufs_fs): Always set .label.
12915
87661123
VS
129162011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 Use shifts in UFS.
12919
12920 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12921 (grub_ufs_data): New field log2_blksz.
12922 (grub_ufs_read_file): Use shifts.
12923 (grub_ufs_mount): Check block size and logarithm it.
12924
46bc1dc2
VS
129252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12928 long symlinks.
12929
19ee2987
VS
129302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Handle symlinks and long names on tar and cpio.
12933
12934 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12935 (ATTR_FILE): Likewise.
12936 (ATTR_DIR): Likewise.
12937 (ATTR_LNK): Likewise.
12938 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12939 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12940 L and K entries.
12941 (grub_cpio_mount): Zero-fill data.
12942 (handle_symlink): New function.
46bc1dc2
VS
12943 (grub_cpio_dir): Handle symlinks.
12944 (grub_cpio_open): Likewise.
12945 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12946
c83a08d8
VS
129472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 Fix iso9660 filename limitations and fix memory leaks.
12950
12951 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12952 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12953
45cdd3ea
VS
129542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Fix JFS file name length limitations.
12957
12958 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12959 (grub_jfs_diropen): Fix maximum filename length.
12960 (grub_jfs_getent): Fix filename length.
12961 (grub_jfs_lookup_symlink): Fix size checks.
12962
94ef05c2
VS
129632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12966 string.
12967
785ab8c7
VS
129682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12969
eb0b6b45
VS
12970 Leverage BFS implementation to read AFS.
12971
12972 * Makefile.util.def (libgrubmods): Add afs.c.
12973 * grub-core/Makefile.core.def (afs): New module
12974 * grub-core/fs/afs.c: New file.
12975 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12976
129772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12980
c4a1628f
VS
129812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * grub-core/fs/bfs.c: Run indent.
12984
5825b379
VS
129852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 BFS implementation based on the specification.
12988
12989 * grub-core/fs/bfs.c: New file.
12990 * Makefile.util.def (libgrubmods): Add bfs.c.
12991 * grub-core/Makefile.core.def (bfs): New module.
12992
42b2a706
VS
129932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 * util/grub-fstest.c (cmd_cp): Clarify error message.
12996 (cmd_cmp): Likewise.
12997
61b99bfc
YB
129982011-10-30 Yves Blusseau <blusseau@zetam.org>
12999
13000 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13001 and befs_be.
13002
faba3d16
VS
130032011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 Remove afs and befs because of copyright problem.
13006
13007 * grub-core/fs/afs.c: Removed.
13008 * grub-core/fs/afs_be.c: Removed.
13009 * grub-core/fs/befs.c: Removed.
13010 * grub-core/fs/befs_be.c: Removed.
13011 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13012 * grub-core/Makefile.core.def (afs): Removed.
13013 (afs_be): Likewise.
13014 (befs): Likewise.
13015 (befs_be): Likewise.
13016
c39224b0
VS
130172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 Prefer rockridge over Joliet.
13020
13021 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13022 to ...
13023 (set_rockridge): ... here.
13024 (grub_iso9660_mount): Check rockridge on the primary label when
13025 discovering. Ignore Joliet if Rockridge is present.
13026
e551115a
VS
130272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 Use shifts in nilfs2.
13030
13031 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13032 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13033 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13034 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13035 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13036 (grub_nilfs2_entries_per_block): Replaced with ...
13037 (grub_nilfs2_log_entries_per_block_log): ... this.
13038 (grub_nilfs2_blocks_per_group): Replaced with ...
13039 (grub_nilfs2_blocks_per_group_log): ... this.
13040 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13041 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13042 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13043 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13044 (grub_nilfs2_palloc_entry_offset): Replaced ...
13045 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13046 (grub_nilfs2_dat_translate): Use shifts.
13047 (grub_nilfs2_read_inode): Likewise.
13048 (GRUB_MOD_INIT): Ensure that logs are correct.
13049
564dd58c
VS
130502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 Use shifts in minix filesystem.
13053
13054 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13055 (GRUB_MINIX_ZONE2SECT): Likewise.
13056 (grub_minix_data): Replace block_size with log_block_size.
13057 (grub_minix_read_file): Use shifts.
13058 (grub_minix_mount): Check block size and take a logarithm.
13059
ed9ba06d
VS
130602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Use shifts in squash4.
13063
13064 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13065 (squash_mount): Check block size and take logarithm.
13066 (direct_read): Use shifts.
13067
ad03fe76
VS
130682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 Correct befs block counting logic.
13071
13072 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13073 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13074 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13075 (grub_afs_read_inode): Use block_shift.
13076 (RANGE_SHIFT): New definition.
13077 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13078 unexpected conditions, use shifts and appropriate types.
13079 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13080
6563f63d
VS
130812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/disk/raid.c (scan_devices): Check partition.
13084 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13085
5b1ae25f
VS
130862011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 Support BFS (befs) UUID.
13089
13090 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13091 (grub_afs_small_data_element_header): New struct.
13092 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13093 (grub_afs_read_attribute) [MODE_BFS]: New function.
13094 (grub_afs_iterate_dir): Allocate for complete inode.
13095 (grub_afs_mount): Likewise.
13096 (grub_afs_uuid) [MODE_BFS]: New function.
13097 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13098
f8d82408
VS
130992011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13102 (zfs_unmount): Fix memory leak.
13103
5773fb64
VS
131042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Support NTFS reparse points.
13107
13108 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13109 (symlink_descriptor): New struct.
13110 (grub_ntfs_read_symlink): New function.
13111 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13112 (grub_ntfs_open): Likewise.
13113
91c3fdde
VS
131142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13117
3be82e10
VS
131182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 fstest xnu_uuid subcommand.
13121
13122 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13123 grub-core/commands/xnu_uuid.c.
13124 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13125 (fstest): Handle xnu_uuid.
13126 (options): Document xnu_uuid.
13127 (argp_parser): Parse xnu_uuid.
13128
8e32442e
VS
131292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13132 -l argument. Add newline at the end if printing.
13133 (GRUB_MOD_INIT): Document -l.
13134
52a05075
VS
131352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13138
1869edb5
VS
131392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 ZFS multi-device and version 33 support.
13142
13143 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13144 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13145 (grub_zfs_data): Add multidev-ice-related fields.
13146 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13147 (dva_get_offset): Make dva const.
13148 (zfs_fetch_nvlist): New function.
13149 (fill_vdev_info_real): Likewise.
13150 (fill_vdev_info): Likewise.
13151 (check_pool_label): Likewise.
13152 (scan_disk): Likewise.
13153 (scan_devices): Likewise.
13154 (read_device): Likewise.
13155 (read_dva): Likewise.
13156 (zio_read_gang): Use read_dva.
13157 (zio_read_data): Likewise.
13158 (zap_leaf_lookup): Add missing endian conversion.
13159 (zap_verify): Add missing endian conversion. All users updated.
13160 (fzap_lookup): Likewise.
13161 (fzap_iterate): Likewise.
13162 (dnode_get_path): Handle SA bonus.
13163 (nvlist_find_value): Make input const. All users updated.
13164 (unmount_device): New function.
13165 (zfs_unmount): Use unmount_device.
13166 (zfs_mount): Use scan_disk.
13167 (zfs_mtime): New function.
13168 (grub_zfs_open): Handle system attributes.
13169 (fill_fs_info): Likewise.
13170 (grub_zfs_dir): Likewise.
13171 (grub_zfs_fs): Add mtime.
13172 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13173 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13174 (SA_MTIME_OFFSET): Likewise.
13175 (SA_SYMLINK_OFFSET): Likewise.
13176 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13177 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13178 (fstest): Support zfsinfo.
13179 (argp_parser): Likewise.
13180
186b4028
VS
131812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13184 error.
13185
131862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13187
13188 ZFS fixes.
13189
13190 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13191 sharing the same block. Iterate over correct number of indices.
13192 (dnode_get_path): Handle symlinks correctly.
13193
c0584900
VS
131942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13197
67e2bd71
VS
131982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 Read label on HFS+.
13201
13202 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13203 (grub_hfsplus_btree_search): Fix types.
13204 (grub_hfsplus_label): Implement.
13205
e9cc6b7b
VS
132062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13209
19832ddb
VS
132102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13213
66b40850
VS
132142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 Fix symlink handling on iso9660.
13217
13218 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13219 All users updated.
13220 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13221 (grub_iso9660_read_symlink): Moved most of code ...
13222 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13223
db821363
VS
132242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13227 Use union to avoid breaking strict-aliasing rules.
13228
e1211949
VS
132292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Support multi-extent iso files.
13232
13233 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13234 Add node.
13235 (grub_fshelp_node): Revamp. All users updated.
13236 (FLAG_*): New enum.
13237 (read_node): New function.
13238 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13239 All users updated.
13240 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13241 (get_node_size): New function.
13242 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13243 entries.
13244 Fix memory leak on . and ..
13245 (grub_iso9660_read): Use read_node.
13246 (grub_iso9660_close): Free node.
13247
d4888031
VS
132482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 Fix tar 4G limit and handle paths containing dot.
13251
13252 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13253 (canonicalize): New function.
13254 (grub_cpio_find_file): Use canonicalize. Store offs in
13255 grub_disk_addr_t.
13256 (grub_cpio_dir): Use grub_disk_addr_t.
13257 (grub_cpio_open): Likewise.
13258
9f12e664
VS
132592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13262
13263 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13264 unused flags.
13265 (grub_squash_inode): Add long_file and block_size.
13266 (grub_squash_cache_inode): New struct.
13267 (grub_squash_dirent): Make types into enum.
13268 (SQUASH_TYPE_LONG_REGULAR): New type.
13269 (grub_squash_frag_desc): Add field size.
13270 (SQUASH_BLOCK_FLAGS): New enum.
13271 (grub_squash_data): Use grub_squash_cache_inode.
13272 (grub_fshelp_node): Make ino_chunk 64-bit.
13273 (read_chunk): Minor argument change. All users updated.
13274 (squash_mount): Use correct le_to_cpu.
13275 (grub_squash_open): Handle LONG_REGULAR.
13276 (direct_read): New function.
13277 (grub_squash_read_data): Handle blocks correctly.
13278
9f326fba
VS
132792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13282
f4d9b64b
VS
132832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13286
5bbd28b8
VS
132872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 Fix 2G limit on ZFS.
13290
13291 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13292 types.
13293 (uberblock_verify): Likewise.
13294 (dmu_read): Likewise.
13295 (grub_zfs_read): Likewise. Remove invalid cast.
13296
68c72069
VS
132972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13300 (grub_jfs_blkno): Fix incorrect shift.
13301 (grub_jfs_read_file): Use more appropriate types.
13302
6e536dc8
VS
133032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Support triple indirect on minix2 and minix3.
13306
13307 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13308 Declare triple_indir_zone.
13309 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13310 indirect.
13311
e0864e7a
VS
133122011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 Minix FS fixes.
13315
13316 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13317 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13318 Rename ctime to mtime. All users updated.
13319 (grub_minix_get_file_block): Fix types and double indirect computations.
13320
89481cab
VS
133212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13324 if no label is found.
13325 (grub_fat_iterate_dir): Fix file size type.
13326 (grub_fat_iterate_dir): Likewise.
13327
f646e143
VS
133282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13331 save some space.
13332 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13333 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13334
534d769e
VS
133352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13338
e084ba18
VS
133392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 * util/import_gcry.py: Accept space between # and include.
13342
3471ecdf
VS
133432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13346
124df5f6
VS
133472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13350
13351 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13352 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13353 yylex_strncpy.
13354 * grub-core/script/yylex.l: Add fine-grained #pragma.
13355
4defb8d5
VS
133562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13359 New inline function.
13360 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13361 Likewise.
13362 (memset) [GRUB_UTIL]: Likewise.
13363 (memcmp) [GRUB_UTIL]: Likewise.
13364
4e94ae65
VS
133652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13368 inline function rather than a define.
13369
18c575e5
VS
133702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * util/grub-setup.c: Add missing include.
13373
f8bc22a8
VS
133742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * util/ieee1275/grub-ofpathname.c: Add missing include.
13377
3ce69fc9
VS
133782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13381 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13382 Likewise.
13383
d1e293bb
VS
133842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13387 grub_memcmp usage.
13388
7a5c54a4
VS
133892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * util/grub-install.in: Add datarootdir as per automake manual
13392 suggestion.
13393 * util/grub-mknetdir.in: Likewise.
13394
133952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13396
13397 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13398 suggestion.
13399 * util/grub.d/10_kfreebsd.in: Likewise.
13400 * util/grub.d/10_linux.in: Likewise.
13401 * util/grub.d/10_netbsd.in: Likewise.
13402 * util/grub.d/10_windows.in: Likewise.
13403 * util/grub.d/20_linux_xen.in: Likewise.
13404
766f7d08
VS
134052011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 Remove redundant grub_kernel_image_size.
13408
13409 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13410 _edata and _start.
13411 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13412 the small code. It moves it only by few bytes but simplifies the code.
13413 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13414 _start.
13415 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13416 (grub_kernel_image_size): Removed.
13417 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13418 (grub_kernel_image_size): Removed.
13419 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13420 compiled with Apple toolchain.
13421 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13422 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13423 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13424 (grub_total_module_size): Likewise.
13425 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13426 Removed.
13427 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13428 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13429 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13430 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13431 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13432 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13433 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13434 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13435 Removed.
13436 (grub_total_module_size): Removed.
13437 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13438 (image_targets): Likewise.
13439 Set .compressed_size to no field on sparc.
13440 (generate_image): Remove kernel_image_size handling.
13441
fcf1d672
SJ
134422011-10-19 Szymon Janc <szymon@janc.net.pl>
13443
13444 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13445 NULL pointer dereference.
13446
de9c615e
VS
134472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13450 done with a dedicated section.
13451
13452 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13453 Ensure the correct position of boot_path.
13454 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13455 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13456 other fields.
13457 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13458 * include/grub/boot.h: Removed. All references removed.
13459 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13460 Removed.
13461 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13462
e55599dc
VS
134632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13466 name.
13467
36dd20ad
VS
134682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13471
f8f72eb8
VS
134722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13475 Don't add the bogus brackets.
13476
a374751b
VS
134772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 ExFAT support.
13480
13481 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13482 * grub-core/Makefile.core.def (exfat): New module.
13483 * grub-core/fs/exfat.c: New file.
13484 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13485 (GRUB_FAT_ATTR_*): Make into an enum.
13486 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13487 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13488 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13489 (GRUB_FAT_MAXFILE): Removed.
13490 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13491 (grub_current_fat_bpb_t): New type.
13492 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13493 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13494 (grub_fat_dir_node_t): New type.
13495 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13496 (fat_log2) [MODE_EXFAT]: Removed.
13497 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13498 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13499 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13500 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13501 (grub_fat_label) [MODE_EXFAT]: New function.
13502 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13503 reserved_first_sector to 0.
13504
544c2487
VS
135052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 Move grub_reboot out of the kernel.
13508
13509 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13510 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13511 * grub-core/lib/efi/reboot.c: ... here.
13512 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13513 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13514 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13515 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13516 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13517 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13518 * grub-core/lib/ieee1275/reboot.c: ... here.
13519 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13520 * grub-core/lib/mips/arc/reboot.c: ... here.
13521 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13522 * grub-core/lib/mips/loongson/reboot.c: ...here.
13523 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13524 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13525 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13526 * include/grub/i386/reboot.h: New file.
13527 * include/grub/mips/loongson/ec.h: Fix includes.
13528 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13529 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13530 * grub-core/lib/i386/reboot.c: New file.
13531
a97501d2
VS
135322011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 Make grub_prefix into module to fix the arbitrary limit and save
13535 some space.
13536
13537 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13538 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13539 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13540 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13541 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13542 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13543 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13544 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13545 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13546 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13547 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13548 * include/grub/ia64/efi/kernel.h: Removed.
13549 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13550 (grub_prefix): Removed.
13551 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13552 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13553 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13554 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13555 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13556 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13557 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13558 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13559 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13560 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13561 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13562 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13563 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13564 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13565 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13566 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13567 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13568 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13569 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13570 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13571 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13572 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13573 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13574 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13575 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13576 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13577 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13578 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13579 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13580 from module.
13581 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13582 prefix_end.
13583 (image_targets): Likewise.
13584 (generate_image): Put prefix as a module.
13585
39705fad
VS
135862011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 Replace grub_module_iterate with FOR_MODULES.
13589
13590 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13591 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13592 (grub_efi_modules_addr): ...this.
13593 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13594 (grub_efi_init): Set grub_modbase.
13595 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13596 (grub_modbase): New variable.
13597 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13598 (grub_modbase): New variable.
13599 (grub_machine_init): Set grub_modbase.
13600 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13601 (grub_modbase): New variable.
13602 (grub_machine_init): Set grub_modbase.
13603 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13604 (grub_modbase): New variable.
13605 (grub_machine_init): Set grub_modbase.
13606 * grub-core/kern/main.c (grub_module_iterate): Remove.
13607 (grub_modules_get_end): Use grub_modbase.
13608 (grub_load_modules): Use FOR_MODULES.
13609 (grub_load_config): Likewise.
13610 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13611 (grub_modbase): New variable.
13612 (grub_machine_init): Set grub_modbase.
13613 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13614 (grub_modbase): New variable.
13615 (grub_machine_init): Set grub_modbase.
13616 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13617 Removed.
13618 (grub_modbase): New variable.
13619 (grub_machine_init): Set grub_modbase.
13620 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13621 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13622 (grub_module_iterate): Likewise.
13623 (grub_modbase): New variable declaration.
13624 (FOR_MODULES): New macro.
13625
2afb7f6c
VS
136262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13629 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13630
366e34fa
VS
136312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 Fix few obvious type discrepancies.
13634
13635 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13636 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13637 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13638 variable.
13639 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13640 and connected types.
13641 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13642 offset.
13643 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13644 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13645 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13646 and connected types.
13647
177b960e
VS
136482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 Fix python 3.x incompatibilities.
13651
13652 * gentpl.py: Put brackets around print strings.
13653 * util/import_gcry.py: Open explicitly as utf-8.
13654 Use in instead of has_key.
13655
3b619ae1
VS
136562011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13659 (GRUB_XFS_INO_AGBITS): Make into inline function.
13660 (GRUB_XFS_INO_INOINAG): Likewise.
13661 (GRUB_XFS_INO_AG): Likewise.
13662 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13663 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13664 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13665 (GRUB_XFS_EXTENT_SIZE): Likewise.
13666 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13667 (GRUB_XFS_NEXT_DIRENT): Likewise.
13668 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13669 (grub_xfs_read_file): Fix offset type.
13670
8bcebcb8
RM
136712011-10-15 Robert Millan <rmh@gnu.org>
13672
13673 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13674
0017e5ef
RM
136752011-10-15 Robert Millan <rmh@gnu.org>
13676
13677 Fix build problem on FreeBSD and GNU/kFreeBSD.
13678
13679 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13680
d8919552
VS
136812011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13684
13685 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13686 types.
13687 (grub_hfsplus_btree_recoffset): Likewise.
13688 (grub_hfsplus_btree_recptr): Likewise.
13689 (grub_hfsplus_find_block): Likewise.
13690 (grub_hfsplus_btree_search): Likewise.
13691 (grub_hfsplus_read_block): Likewise.
13692 (grub_hfsplus_read_file): Likewise.
13693 (grub_hfsplus_mount): Likewise.
13694 (grub_hfsplus_btree_iterate_node): Likewise.
13695 (grub_hfsplus_btree_search): Likewise.
13696 (grub_hfsplus_iterate_dir): Likewise.
13697 (grub_hfsplus_read): A small code simplification.
13698
c81296b6
VS
136992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * grub-core/kern/emu/hostdisk.c
13702 (convert_system_partition_to_system_disk): Don't assume that children
13703 of mapper nodes are mapper nodes.
13704
0eb8ffb1
VS
137052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13708 * include/grub/misc.h (grub_isxdigit): New function.
13709 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13710 switched to grub_isxdigit.
13711 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13712 number starting with a letter.
13713
a98f4a08
RM
137142011-10-09 Robert Millan <rmh@gnu.org>
13715
13716 LVM support for FreeBSD and GNU/kFreeBSD.
13717
13718 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13719 GNU/kFreeBSD.
13720 (LVM_DEV_MAPPER_STRING): Move from here ...
13721 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13722 * util/getroot.c: Include `<grub/util/lvm.h>'.
13723 (grub_util_get_dev_abstraction): Enable
13724 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13725 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13726 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13727 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13728 support it.
13729 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13730 GNU/kFreeBSD.
13731 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13732 when LVM abstraction is required for ${GRUB_DEVICE}.
13733
050e8e90
SJ
137342011-10-06 Szymon Janc <szymon@janc.net.pl>
13735
13736 Add support for LZO compression in GRUB:
13737 - import of minilzo library,
13738 - LZO decompression for btrfs,
13739 - lzop files decompression.
13740
13741 * grub-core/io/lzopio.c: New file.
13742 * grub-core/lib/adler32.c: Likewise.
13743 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13744 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13745 * grub-core/lib/minilzo/minilzo.c: Likewise.
13746 * grub-core/lib/minilzo/minilzo.h: Likewise.
13747 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13748 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13749 grub-core/lib/minilzo/minilzo.c to common.
13750 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13751 cflags in cppflags.
13752 * grub-core/Makefile.core.def (btrfs): Likewise.
13753 * grub-core/Makefile.core.def (lzopio): New module.
13754 (adler32): Likewise.
13755 * grub-core/fs/btrfs.c: Include minilzo.h.
13756 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13757 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13758 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13759 (grub_btrfs_lzo_decompress): New function.
13760 (grub_btrfs_extent_read): Add support for LZO compression type.
13761 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13762 (GRUB_USHRT_MAX): Likewise.
13763 (GRUB_UINT_MAX): Likewise.
13764 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13765 (UINT_MAX): Likewise.
13766 (CHAR_BIT): Likewise.
13767 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13768 grub-core/lib/posix_wrap/limits.h
13769 (UCHAR_MAX): Likewise.
13770 * include/grub/file.h (grub_file_filter_id): New compression filter
13771 GRUB_FILE_FILTER_LZOPIO.
13772 * include/grub/file.h (grub_file_filter_id): Set
13773 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13774 * include/grub/types.h (grub_get_unaligned16): New function.
13775 (grub_get_unaligned32): Likewise.
13776 (grub_get_unaligned64): Likewise.
13777 * util/import_gcry.py (cryptolist): Add adler32.
13778
0eb8ffb1
VS
137792011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13782 in perspective decreases the complexity of build system and fixes
13783 compilation right now.
13784
ce79cc99 137852011-10-01 Ales Nesrsta <starous@volny.cz>
13786
13787 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13788 (fixed problem related to using UHCI with coreboot).
13789
8667a314
BC
137902011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13791
13792 * gentpl.py: Use Autogen macros so that the output template file
13793 (Makefile.tpl) size is reduced.
13794
fc5efcc0
MK
137952011-09-29 Mads Kiilerich <mads@kiilerich.com>
13796
13797 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13798 extra_dist.
13799
d1ab689d
ML
138002011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13801
13802 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13803 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13804
c05de032
ML
138052011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13806
13807 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13808 _fullpath.
13809
cca7ccd8
ML
138102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13811
13812 Remove extra declaration of sleep for mingw32.
13813
13814 * util/misc.c (sleep) [__MINGW32__]: Removed.
13815 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13816
e0b0dc83
GS
138172011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13818
13819 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13820 type and packname.
13821 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13822 Resurrected.
13823 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13824 (grub_netbsd_btinfo_bootwedge): New struct.
13825 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13826 New function.
13827 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13828
91a1a164
TH
138292011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13830
13831 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13832 loader.
13833
2ded951e
AB
138342011-09-28 Andreas Born <futur.andy@googlemail.com>
13835
13836 Fix incorrect identifiers in bash-completion.
13837
13838 * util/bash-completion.d/grub-completion.bash.in
13839 (_grub_mkpasswd-pbkdf2): Rename to ...
13840 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13841 (_grub_script-check): Rename to ...
13842 (_grub_script_check): ... this. All users updated.
13843
69915030
VS
138442011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13847 Return 0 if disk isn't biosdisk.
13848
20fd15f9
GS
138492011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13850
13851 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13852 on NetBSD.
13853 * Makefile.util.def (grub-fstest): Likewise.
13854
1a7d7db9
GS
138552011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13856
13857 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13858 Get sector size from disk label.
13859
2221ab6c
CW
138602011-09-05 Colin Watson <cjwatson@ubuntu.com>
13861
13862 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13863 */README* as well as README*.
13864 Reported by: Axel Beckert.
13865
ca51c4a0
VS
138662011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13869 case of less than 256 MiB of RAM.
13870
ab80f326
VS
138712011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/commands/wildcard.c (make_regex): Handle @.
13874
4155e697
VS
138752011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13878
ab178c08
SJ
138792011-08-21 Szymon Janc <szymon@janc.net.pl>
13880
13881 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13882 AC_LANG_CONFTEST macros.
13883
7dc3c686
SJ
138842011-08-20 Szymon Janc <szymon@janc.net.pl>
13885
13886 Add grub-fstest option to uncompress data for commands.
13887
13888 * util/grub-fstest.c (uncompress): New var.
13889 (options): New option -u.
13890
fe8d4a7b
SJ
138912011-08-20 Szymon Janc <szymon@janc.net.pl>
13892
13893 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13894 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13895
a5219af1
SJ
138962011-08-20 Szymon Janc <szymon@janc.net.pl>
13897
13898 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13899 file type was not recognized correctly (not gzip or corrupted).
13900
f87abff5
VS
139012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13904 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13905
d94497ea
VS
139062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13909 loongson.
13910 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13911 video_radeon_fuloong2e.
13912 * grub-core/video/radeon_fuloong2e.c: New file.
13913 * include/grub/video.h (grub_video_id_t): Add new ID
13914 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13915
0d1fd011
VS
139162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13919 define.
13920 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13921 that PRID matches the detected subplatform and reset the subplatform
13922 if it doesn't.
13923
84beb0ee
VS
139242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13927
1227c133
VS
139282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 Fix PCI iterating on functions >= 4.
13931
13932 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13933 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13934 Removed.
13935 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13936 (grub_pci_read): Fix bitmask.
13937 (grub_pci_read_word): Likewise.
13938 (grub_pci_read_byte): Likewise.
13939 (grub_pci_write): Likewise.
13940 (grub_pci_write_word): Likewise.
13941 (grub_pci_write_byte): Likewise.
13942
9594c689
VS
139432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13946 can still be specified in TARGET_CFLAGS)
13947
14a2562c
VS
139482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13951
13952 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13953 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13954 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13955 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13956 (FULOONG): Rename to ...
13957 (FULOONG2F): ... this. All users updated.
13958 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13959 (machtype_fuloong2f_str): ... this.
13960 (machtype_fuloong2e_str): New string.
13961 Check for machtype_fuloong2e_str.
13962 * grub-core/loader/mips/linux.c (loongson_machtypes)
13963 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13964 * grub-core/term/serial.c (loongson_defserial)
13965 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13966 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13967 loongson_defserial.
13968 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13969 Rename to ...
13970 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13971 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13972 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13973 to IMAGE_FULOONG2F_FLASH. All users updated.
13974 (image_targets): Rename images.
13975 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13976
b526cbb6
SJ
139772011-08-19 Szymon Janc <szymon@janc.net.pl>
13978
13979 Make enable of disk cache statistics code configurable.
13980
13981 * configure.ac: --enable-cache-stats added.
13982 * config.h.in (DISK_CACHE_STATS): New define.
13983 * grub-core/Makefile.core.def (cacheinfo): New command.
13984 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13985 * grub-core/commands/cacheinfo.c: New file.
13986 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13987 moved to cacheinfo.c.
13988 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13989 debug code.
13990 * include/grub/disk.h: Likewise.
13991
fb739ccd
SJ
139922011-08-19 Szymon Janc <szymon@janc.net.pl>
13993
13994 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13995 * grub-core/Makefile.am: Likewise.
13996
2bba8cfd
VS
139972011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14000 non-zero pull.
14001
43526629
VS
140022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14005 All users updated.
14006 (grub_jfs_lookup_symlink): Use correct starting inode.
14007
5c144cc8
VS
140082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * util/grub-setup.c (main): Add missing gcry initialisation.
14011
b1257f65
VS
140122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Don't accept text modes on EFI when booting Linux.
14015
14016 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14017 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14018
828bc390
ML
140192011-08-15 Mario Limonciello <mario_limonciello@dell.com>
140202011-08-15 Colin Watson <cjwatson@ubuntu.com>
14021
14022 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14023 use of "/path/.." as in grub-install for EFI as well as handling
14024 symlinks correctly.
14025 Fixes Debian bug #637768.
14026
5f60ccac
CW
140272011-08-15 Colin Watson <cjwatson@ubuntu.com>
14028
14029 * util/grub-probe.c: Remove duplicate #include.
14030
6dc212f9
RM
140312011-08-10 Robert Millan <rmh@gnu.org>
14032
14033 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14034
14035 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14036 function.
14037 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14038 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14039
66816d85
RM
140402011-08-03 Robert Millan <rmh@gnu.org>
14041
14042 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14043 la_array as packed.
14044 Reported by: Zachary Bedell
14045
20168fca
CW
140462011-07-26 Colin Watson <cjwatson@ubuntu.com>
14047
14048 * configure.ac: The Loongson port requires grub-mkfont due to its
14049 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14050 be built.
14051
303b6246
CW
140522011-07-26 Colin Watson <cjwatson@ubuntu.com>
14053
14054 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14055 processing arguments (otherwise help2man fails when GRUB has not yet
14056 been installed).
14057
6795300e
VS
140582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14059
41aa28ea
VS
14060 New script grub-mkstandalone.
14061
14062 * Makefile.util.def (grub-mkstandalone): New script.
14063 * docs/man/grub-mkstandalone.h2m: New file.
14064 * util/grub-mkstandalone.in: Likewise.
14065
140662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 Support ATA disks with 4K sectors.
6795300e
VS
14069
14070 * include/grub/ata.h (grub_ata): New member log_sector_size.
14071 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14072 (grub_ata_identify): Read sector size.
14073 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14074
92227597
VS
140752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * util/grub-install.in: Don't use uhci outside of x86.
14078
c77069f5
VS
140792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * util/grub-mkrescue.in: Add missing quotes.
14082
140832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14084
14085 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14086 dereference.
14087
583168a2
VS
140882011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14091
6be1c01f
VS
140922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * include/grub/video.h: add missing EXPORT_FUND on
14095 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14096
a1167439
VS
140972011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * include/grub/mips/kernel.h: Fix define conflict.
14100
bf66054f
VS
141012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14104 all four ways.
14105
8fc4fa45
CW
141062011-07-21 Colin Watson <cjwatson@ubuntu.com>
14107
14108 Preferred resolution detection for VBE.
14109
14110 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14111 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14112 the Flat Panel extension, in line with the X.org VESA driver.
14113 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14114 New function.
14115 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14116 (grub_vbe_bios_read_edid): Likewise.
14117 (grub_vbe_get_preferred_mode): Likewise.
14118 (grub_video_vbe_setup): When the mode is "auto", try to get the
14119 preferred mode from VBE, and use the largest mode that is no larger
14120 than the preferred mode (some BIOSes expose a preferred mode that is
14121 not in their mode list!). If this fails, fall back to 640x480 as a
14122 safe conservative choice.
14123 (grub_video_vbe_get_edid): New function.
14124 (grub_video_vbe_adapter): Add get_edid.
14125 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14126 (struct grub_video_adapter): Add get_edid.
14127 (grub_video_edid_checksum): Add prototype.
14128 (grub_video_edid_preferred_mode): Likewise.
14129 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14130 structure.
14131
14132 * grub-core/commands/videoinfo.c (print_edid): New function.
14133 (grub_cmd_videoinfo): Print EDID if available.
14134
14135 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14136 is more appropriate on a wider range of platforms than 640x480.
14137 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14138 documentation.
14139
ca5572a9
VS
141402011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14143
e4bcf625
VS
141442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * po/POTFILES.in: Regenerate.
14147
c4edd548
VS
141482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14151 incorrect memory usage.
14152
16a2bab0
VS
141532011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * util/grub-install.in: Source grub-mkconfig_lib.
14156
2e418de6
VS
141572011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 Remove getroot.c from core on emu platform.
14160
14161 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14162 kern/emu/raid.c.
14163 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14164 useless.
14165 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14166 * util/getroot.c (get_win32_path): ... here.
14167 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14168 * util/getroot.c (fini_libzfs): ... here.
14169 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14170 * util/getroot.c (grub_get_libzfs_handle): ... here.
14171 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14172 Moved from here...
14173 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14174 * grub-core/kern/emu/misc.c
14175 (grub_make_system_path_relative_to_its_root): Moved from here...
14176 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14177 * grub-core/kern/emu/getroot.c: Moved from here ...
14178 * util/getroot.c: ... here. All users updated.
14179 * grub-core/kern/emu/raid.c: Moved from here ...
14180 * util/raid.c: ... here. All users updated.
14181
def9832a
VS
141822011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * po/POTFILES.in: Regenerate.
14185
cd8fe79a
VS
141862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 Fix compilation on GNU/Linux.
14189
14190 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14191 Disable geli.
14192 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14193 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14194 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14195
a251b719
VS
141962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
141972011-07-07 Michael Gorven <michael@gorven.za.net>
141982011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14199
14200 LUKS and GELI support.
14201
14202 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14203 grub-core/disk/luks.c, grub-core/disk/geli.c,
14204 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14205 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14206 grub-core/lib/arg.c.
14207 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14208 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14209 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14210 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14211 (grub-bin2h): Add libgcry.a.
14212 (grub-mkimage): Likewise.
14213 (grub-mkrelpath): Likewise.
14214 (grub-script-check): Likewise.
14215 (grub-editenv): Likewise.
14216 (grub-mkpasswd-pbkdf2): Likewise.
14217 (grub-pe2elf): Likewise.
14218 (grub-fstest): Likewise.
14219 (grub-mkfont): Likewise.
14220 (grub-mkdevicemap): Likewise.
14221 (grub-probe): Likewise.
14222 (grub-ofpath): Likewise.
14223 (grub-mklayout): Likewise.
14224 (example_unit_test): Likewise.
14225 (grub-menulst2cfg): Likewise.
14226 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14227 * grub-core/Makefile.core.def (cryptodisk): New module.
14228 (luks): Likewise.
14229 (geli): Likewise.
14230 * grub-core/disk/AFSplitter.c: New file.
14231 * grub-core/disk/cryptodisk.c: Likewise.
14232 * grub-core/disk/geli.c: Likewise.
14233 * grub-core/disk/luks.c: Likewise.
14234 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14235 grub_util_is_lvm.
14236 (grub_util_get_dm_abstraction): New function.
14237 (grub_util_follow_gpart_up): Likewise.
14238 (grub_util_get_geom_abstraction): Likewise.
14239 (grub_util_get_dev_abstraction): Use new functions.
14240 (grub_util_pull_device): Pull GELI and LUKS.
14241 (grub_util_get_grub_dev): Handle LUKS and GELI.
14242 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14243 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14244 (follow_geom_up): Removed.
14245 (grub_util_fd_seek): New function.
14246 (open_device): Use grub_util_fd_seek.
14247 (nread): Rename to ..
14248 (grub_util_fd_read): ... this. All users updated.
14249 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14250 (grub_crypto_cbc_decrypt): Likewise.
14251 (grub_crypto_hmac_write): Likewise.
14252 (grub_crypto_hmac_buffer): Likewise.
14253 (grub_password_get): Extend to util.
14254 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14255 New member modname.
14256 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14257 * include/grub/cryptodisk.h: New file.
14258 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14259 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14260 LUKS and GELI.
14261 (grub_util_follow_gpart_up): New proto.
14262 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14263 (grub_util_fd_read): Likewise.
14264 (grub_cryptodisk_cheat_mount): Likewise.
14265 (grub_util_cryptodisk_print_uuid): Likewise.
14266 (grub_util_get_fd_sectors): Likewise.
14267 * util/grub-fstest.c (mount_crypt): New var.
14268 (fstest): Mount crypto if requested.
14269 (options): New option -C.
14270 (argp_parser): Parse -C.
14271 (main): Init and fini gcry.
14272 * util/grub-install.in: Support cryptodisk install.
14273 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14274 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14275 cryptodisk.
14276 (prepare_grub_to_access_device): Likewise.
14277 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14278 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14279 (probe_cryptodisk_uuid): New function.
14280 (probe_abstraction): Likewise.
14281 (probe): Use new functions.
14282 * util/import_gcry.py: Create Makefile.utilgcry.def.
14283 Add modname member.
14284
9bfdcbbc
VS
142852011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14286
14287 Lazy device scanning.
14288
14289 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14290 (grub-setup): Remove util/raid.c.
14291 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14292 * grub-core/disk/lvm.c (scan_depth): New variable.
14293 (grub_lvm_iterate): Rescan if necessary.
14294 (find_lv): New function based on grub_lvm_open.
14295 (grub_lvm_open): Use find_lv. Rescan on error.
14296 (is_node_readable): New function.
14297 (is_lv_readable): Likewise.
14298 (grub_lvm_scan_device): Skip already found disks.
14299 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14300 Stop if searched device is found and readable.
14301 * grub-core/disk/raid.c (inscnt): New variable.
14302 (scan_depth): Likewise.
14303 (scan_devices): New function based on grub_raid_register. Abort if
14304 looked for device is found.
14305 (grub_raid_iterate): Rescan if needed.
14306 (find_array): NEw function based on -grub_raid_open.
14307 (grub_raid_open): Use find_array and rescan.
14308 (insert_array): Set became_readable_at.
14309 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14310 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14311 New function.
14312 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14313 (grub_util_pull_device): New function.
14314 (grub_util_get_grub_dev): Call grub_util_pull_device.
14315 * util/raid.c: Moved to ..
14316 * grub-core/kern/emu/raid.c: ... here.
14317 (grub_util_raid_getmembers): New parameter "bootable".
14318 All users updated. Support 1.x.
14319 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14320 All users updated.
14321 * include/grub/disk.h (grub_disk_pull_t): New enum.
14322 (grub_disk_dev): Change iterate prototype.
14323 All users updated.
14324 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14325 New proto.
14326 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14327 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14328 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14329 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14330 All users updated.
14331 * include/grub/util/raid.h: Removed.
14332
1c358e59
VS
143332011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * po/POTFILES.in: Regenerate.
14336
abee94ed
VS
143372011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 Unify sparc init with other ieee1275.
14340
14341 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14342 instead of kern/sparc64/ieee1275/init.c.
14343 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14344 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14345 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14346 grub/machine/kernel.h.
14347 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14348 (grub_claim_heap) [__sparc__]: Use sparc version.
14349 (grub_machine_init): Moved args parsing to
14350 (grub_parse_cmdline): ...this.
14351 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14352 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14353 New definition.
14354 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14355
14356 Move BOOTP to separate file.
14357
14358 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14359 * grub-core/net/net.c: Move all BOOTP functions to
14360 * grub-core/net/bootp.c: ... here.
14361
14362 Use frame interface on PXE.
14363
14364 * grub-core/Makefile.core.def (pxecmd): Removed.
14365 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14366 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14367 * grub-core/i386/pc/pxe.c: Moved from here ...
14368 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14369 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14370 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14371
14372 EFI network support.
14373
14374 * grub-core/Makefile.core.def (efinet): New module.
14375 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14376 here...
14377 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14378 All users updated.
14379 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14380 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14381 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14382 * grub-core/net/drivers/efi/efinet.c: New file.
14383 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14384 (grub_efi_net_config): New extern var.
14385
14386 Various cleanups and bugfixes.
14387
14388 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14389 error.
14390 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14391 disk declared as partition.
14392 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14393 leak on failure.
14394 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14395 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14396 (grub_debug_zalloc): Likewise.
14397 (grub_debug_realloc): Likewise.
14398 (grub_debug_memalign): Likewise.
14399 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14400 Check that target is IPv4.
14401 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14402 local-mac-address as fallback.
14403 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14404 memory leak.
14405 * grub-core/net/ip.c (ipchksum): Rename to ...
14406 (grub_net_ip_chksum): ... this. All users updated.
14407 (grub_net_recv_ip_packets): Special handling for DHCP.
14408 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14409
14410 Unify prefix handling
14411
14412 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14413 (grub_machine_get_bootlocation): ... this.
14414 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14415 (grub_machine_get_bootlocation): ... this.
14416 (grub_prefix): New variable.
14417 (prefix): Removed.
14418 (root_dev): New variable.
14419 (dir): Likewise.
14420 (main): Use new variables.
14421 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14422 Revamped into ...
14423 (grub_machine_get_bootlocation): ... this.
14424 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14425 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14426 (grub_machine_get_bootlocation): ... this.
14427 (grub_machine_set_prefix): Removed.
14428 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14429 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14430 Revamped into ...
14431 (grub_machine_get_bootlocation): ... this.
14432 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14433 (grub_set_prefix_and_root): ... this. All users updated.
14434 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14435 Revamped into ...
14436 (grub_machine_get_bootlocation): ... this.
14437 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14438 (grub_machine_get_bootlocation): New proto.
14439 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14440
14441 Less intrusive and more reliable seek on network implementation.
14442
14443 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14444 (grub_file_seek): Don't call grub_file_net_seek.
14445 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14446 (grub_net_fs_read_real): .. this.
14447 (grub_net_seek_real): Use net->offset.
14448 (grub_net_fs_read): Seek if necessary.
14449
14450 Unify IEEE1275 netwotk config with the other platforms.
14451
14452 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14453 New variable.
14454 (grub_machine_get_bootlocation): Support network.
14455 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14456 Support type and device parsing.
14457 (grub_ieee1275_get_device_type): New function.
14458 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14459 into ...
14460 (grub_ieee1275_net_config_real): ... this.
14461 (grub_ofnet_probecards): Removed.
14462 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14463 * include/grub/ieee1275/ofnet.h: Removed.
14464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14465 extern var.
14466 (grub_ieee1275_get_device_type): New function.
14467
14468 Unify network device closing across platforms and make more robust.
14469
14470 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14471 grub_grubnet_fini.
14472 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14473 already.
14474 * grub-core/net/net.c (grub_net_network_level_interface_register):
14475 Update num_ifaces.
14476 (grub_net_card_unregister): Close all interfaces.
14477 (receive_packets): Don't poll if no iterfaces are registered.
14478 Open if necessary.
14479 (grub_net_fini_hw): New function.
14480 (grub_net_restore_hw): Likewise.
14481 (fini_hnd): New variable.
14482 (GRUB_MOD_INIT): Register preboot hook.
14483 (GRUB_MOD_FINI): Run and unregister preboot hook.
14484
14485 Poll network cards when idle.
14486
14487 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14488 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14489 * grub-core/net/net.c (receive_packets): Save last poll time.
14490 (grub_net_poll_cards_idle_real): New function.
14491 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14492 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14493 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14494
14495 Rename ofnet interfaces.
14496
14497 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14498 (grub_ofnet_findcards): Use ofnet_%s names.
14499
14500 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14501
14502 Cleanup socket opening.
14503
14504 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14505 (grub_net_fs_close): Likewise.
14506 (grub_net_fs_read_real): Use eof member.
14507 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14508 (+grub_net_udp_close): New inline function.
14509
14510 * include/grub/net/tftp.h: Moved to the top of ...
14511 * grub-core/net/tftp.c: ... here.
14512 * include/grub/net/ip.h: Moved mostly to the top of ...
14513 * grub-core/net/ip.c: ... here.
14514 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14515 * grub-core/net/ethernet.c: ... here.
14516
14517 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14518
14519 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14520 FS name.
14521
14522 * include/grub/net/ip.h (ipv4_ini): Removed.
14523 (ipv4_fini): Likewise.
14524
14525 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14526 (grub_net_send_ip_packets): Likewise.
14527
cf1337aa
VS
145282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14531 grub_read_cmos prototype.
14532
93c06ff9
VS
145332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 VGA text support in qemu-mips
14536
14537 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14538 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14539 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14540 text.
14541 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14542 * grub-core/kern/vga_init.c: ... this.
14543 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14544 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14545 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14546 Adjust.
14547 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14548 GRUB_MACHINE_PCI_IO_BASE.
14549
748ccabe
VS
145502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 MIPS qemu flash support.
14553
14554 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14555 magic.
14556 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14557 (grub_machine_init): Probe memory if its size isn't known.
14558 * util/grub-mkimage.c (image_targets): Add flash targets.
14559 (generate_image): Handle flash targets.
14560
d7345994
VS
145612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 MIPS qemu at_keyboard support.
14564
14565 * gentpl.py (videoinkernel): Add qemu-mips.
14566 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14567 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14568 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14569 modules.
14570 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14571 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14572 * grub-core/term/serial.c (grub_serial_register)
14573 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14574
a07a81b3
VS
145752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 CMOS support on sparc.
14578
14579 * gentpl.py (cmos): Add powerpc and sparc.
14580 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14581 powerpc and sparc.
14582 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14583 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14584 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14585 grub_set_datetime_cmos.
14586 * grub-core/lib/ieee1275/cmos.c: New file.
14587 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14588 (find_rtc): Set no_ieee1275_rtc on error.
14589 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14590 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14591 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14592 fail. Move value to argument. All users updated
14593 (grub_cmos_write): Likewise.
14594 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14595 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14596 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14597 grub_get_datetime_cmos and grub_set_datetime_cmos.
14598
77546584
GS
145992011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14600
14601 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14602 sourcing grub-mkconfig_lib.
14603 * util/update-grub_lib.in: Likewise.
14604 * util/grub.d/00_header.in: Likewise.
14605 * util/grub.d/10_hurd.in: Likewise.
14606 * util/grub.d/10_kfreebsd.in: Likewise.
14607 * util/grub.d/10_linux.in: Likewise.
14608 * util/grub.d/10_netbsd.in: Likewise.
14609 * util/grub.d/10_windows.in: Likewise.
14610 * util/grub.d/20_linux_xen.in: Likewise.
14611 * util/grub.d/30_os-prober.in: Likewise.
14612
54894791
CW
146132011-06-28 Colin Watson <cjwatson@ubuntu.com>
14614
14615 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14616 default_bg_color rather than black.
14617 (grub_gfxterm_fullscreen): Likewise.
14618 (grub_gfxterm_background_color_cmd): Save new background color in
14619 default_bg_color.
14620
8d5d8444
VS
146212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14624
5afeb5bd
VS
146252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14628 mismerge.
14629
ba7df45e
VS
146302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14631
14632 Chainloading on coreboot support.
14633
14634 * grub-core/Makefile.core.def (chain): Add coreboot.
14635 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14636
d0b526b2
VS
146372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14640 if it happens.
14641
5ff1d945
VS
146422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Implement time command.
14645
14646 * grub-core/Makefile.core.def (time): New module.
14647 * grub-core/commands/time.c: New file.
14648 * grub-core/script/parser.y: Remove "time" keyword.
14649 * grub-core/script/yylex.l: Likewise.
14650
5ebaad7e
VS
146512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14654
bdea3798
VS
146552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14658 when handling leftovers.
14659
b28c5655
VS
146602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14663 so that help2man doesn't fail.
14664
b6f945dc
VS
146652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14668 type in pointers on sparc64.
14669 (get_card_packet): Likewise.
14670
f9b75e8a
CW
146712011-06-27 Colin Watson <cjwatson@ubuntu.com>
14672
14673 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14674 with `*'.
14675 (grub_cmd_videoinfo): Fetch current video mode.
14676
1e3d9b86
VS
146772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14680 because of underlying system restrictions.
14681
efff4b1c
VS
146822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14685 necessary.
14686
9fc9ce37
VS
146872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 Coreboot video support.
14690
14691 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14692 (vbe): Likewise.
14693 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14694 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14695 here ...
14696 * grub-core/kern/i386/int.S: ... here.
14697 * grub-core/video/i386/pc/vbe.c: Updated includes.
14698 * grub-core/video/i386/pc/vga.c: Likewise.
14699 * include/grub/i386/coreboot/memory.h
14700 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14701 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14702 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14703 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14704 Disable interrupts.
14705 * include/grub/i386/pc/vga.h: Removed. All users updated.
14706
41bec7fe
VS
147072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14710 definitions for dprintf.
14711 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14712
ca80309d
VS
147132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14716 prototype.
14717 (get_card_packet): Likewise.
14718
9e322ce8
YB
147192011-06-26 Yves Blusseau <blusseau@zetam.org>
14720
14721 Display the path of the file when file is not found
14722
14723 * grub-core/fs/fat.c: Display the filename when file is not found.
14724 * grub-core/fs/fshelp.c: Likewise.
14725 * grub-core/fs/hfs.c: Likewise.
14726 * grub-core/fs/jfs.c: Likewise.
14727 * grub-core/fs/minix.c: Likewise.
14728 * grub-core/fs/ufs.c: Likewise.
14729 * grub-core/fs/btrfs.c: Likewise.
14730 * grub-core/commands/i386/pc/play.c: Likewise.
14731
cbf597af
SJ
147322011-06-26 Szymon Janc <szymon@janc.net.pl>
14733
14734 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14735 pointer checks before calling grub_free().
14736 * grub-core/commands/wildcard.c (match_devices): Likewise.
14737 * grub-core/commands/wildcard.c (match_files): Likewise.
14738 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14739 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14740 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14741 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14742 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14743 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14744 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14745 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14746 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14747
6295b32f
P
147482011-06-25 Patrick <p55@mailinator.com>
14749
14750 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14751
77c0840b
VS
147522011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14755 (grub_pxe_send): Likewise.
14756 (GRUB_MOD_INIT): Fix types.
14757
40ea05de
SJ
147582011-06-24 Szymon Janc <szymon@janc.net.pl>
14759
14760 * grub-core/io/xzio.c: Fix code style issues
14761
90162423
MRA
147622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
147632011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14764
14765 Network infrastructure.
14766 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14767
14768 * include/grub/net/arp.h: New file.
90162423
MRA
14769 * include/grub/net/device.h: Likewise.
14770 * include/grub/net/ethernet.h: Likewise.
14771 * include/grub/net/ip.h: Likewise.
14772 * include/grub/net/netbuff.h: Likewise.
14773 * include/grub/net/tftp.h: Likewise.
14774 * include/grub/net/udp.h: Likewise.
14775 * include/grub/ieee1275/ofnet.h: Likewise.
14776 * include/grub/emu/export.h: Likewise.
14777 * include/grub/net.h: Likewise.
14778 * grub-core/net/arp.c: Likewise.
14779 * grub-core/net/ethernet.c: Likewise.
14780 * grub-core/net/ip.c: Likewise.
14781 * grub-core/net/udp.c: Likewise.
14782 * grub-core/net/tftp.c: Likewise.
14783 * grub-core/net/netbuff.c: Likewise.
14784 * grub-core/net/net.c: Likewise.
14785 * grub-core/net/drivers/emu/emunet.c: Likewise.
14786 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14787 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14788 export.h.
14789 * grub-core/Makefile.core.def (net): New module.
14790 (tftp): Likewise.
14791 (ofnet): Likewise.
14792 (emunet): Likewise.
14793 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14794 network protocols.
14795 * grub-core/kern/device.c (grub_net_open) : New variable.
14796 (grub_device_open): Handle network device.
14797 (grub_device_close): Likewise.
14798 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14799 (grub_grubnet_fini): Likewise.
14800 (grub_file_seek): Seek in network device.
14801 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14802 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14803 network root.
14804 (grub_machine_fini): Call grub_grubnet_fini.
14805 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14806 network.
14807 (grub_ieee1275_get_aliasdevname): New function.
14808 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14809 Add unofficial Solaris network info.
14810 (grub_multiboot_make_mbi): Likewise.
14811 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14812 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14813 * include/grub/device.h (grub_fs): Removed.
14814 * include/grub/err.h (grub_err_t): Add network-related values.
14815 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14816 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14817 (grub_ieee1275_get_aliasdevname): New proto.
14818 * include/grub/net.h: Rewritten.
423a1849 14819
031f22a0
VS
148202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14823 names.
14824
4388ca72
VS
148252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14828 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14829 it truncates the output.
14830 Reported by: Ximin Luo.
14831
98e2f506
VS
148322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14835
2a5e94d8
VS
148362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14839 partmap before abstraction.
14840
535c1910
AK
148412011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14842
14843 * util/grub-mkconfig_lib.in: Add missing quotes.
14844
bc09e1a2
VS
148452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14848 old method if mountinfo would return /dev/root and /dev/root doesn't
14849 exist.
14850
290766fb
VS
148512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 ZFS zlib support
14854
14855 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14856 (decomp_table): Add zlib entries.
14857 (zio_read): USe 8 bits for compression function rather than 3.
14858 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14859
148602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/disk/ahci.c: Add missing license statements.
14863 * grub-core/fs/romfs.c: Likewise.
14864 * grub-core/lib/ia64/setjmp.S: Likewise.
14865 * grub-core/loader/i386/pc/freedos.c: Likewise.
14866 * grub-core/loader/ia64/efi/linux.c: Likewise.
14867 * grub-core/video/colors.c: Likewise.
14868 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14869
5ab3f48a
VS
148702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 AHCI support.
14873
14874 * grub-core/Makefile.core.def (ata_pthru): Removed.
14875 (ahci): New module.
14876 (pata): Likewise.
14877 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14878 on unload.
14879 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14880 readwrite.
14881 (grub_hdparm_do_check_powermode_cmd): Likewise.
14882 (grub_hdparm_do_smart_cmd): Likewise.
14883 (grub_hdparm_set_val_cmd): Likewise.
14884 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14885 * grub-core/disk/ahci.c: New file.
14886 * grub-core/disk/ata.c: Factor out the low-level part into ...
14887 * grub-core/disk/pata.c: ... here.
14888 * grub-core/disk/ata_pthru.c: Contents moved to ...
14889 * grub-core/disk/pata.c: ... here.
14890 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14891 (grub_scsi_iterate): Use grub_scsi_names.
14892 (grub_scsi_open): Likewise.
14893 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14894 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14895 (grub_ata_regs_t): New struct.
14896 (grub_disk_ata_pass_through_parms): Likewise.
14897 (grub_ata_device): Renamed to ...
14898 (grub_ata): ... this.
14899 (grub_ata_dev): New struct.
14900 Removed all low-level inline functions.
14901 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14902 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14903 iterate hooks and open. All users updated.
14904 * util/grub-install.in: Handle AHCI disk module.
14905
c31dc5f5
SJ
149062011-06-23 Szymon Janc <szymon@janc.net.pl>
14907
14908 Add support for DRI and RSTn markers in JPEG files.
14909
14910 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14911 (JPEG_MARKER_RST0): Likewise.
14912 (JPEG_MARKER_RST1): Likewise.
14913 (JPEG_MARKER_RST2): Likewise.
14914 (JPEG_MARKER_RST3): Likewise.
14915 (JPEG_MARKER_RST4): Likewise.
14916 (JPEG_MARKER_RST5): Likewise.
14917 (JPEG_MARKER_RST6): Likewise.
14918 (JPEG_MARKER_RST7): Likewise.
14919 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14920 (grub_jpeg_decode_dri): New function.
14921 (grub_jpeg_decode_sos): Move image data related part into
14922 grub_jpeg_decode_data function.
14923 (grub_jpeg_decode_data): New function.
14924 (grub_jpeg_reset): New function.
14925 (grub_jpeg_decode_jpeg): Handle new markers.
14926
fe12fd5b
VS
149272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * util/ieee1275/ofpath.c (check_sas): Close fd.
14930 (main): Free of_path.
14931 Reported by: David Volgyes <dvolgyes>.
14932
03147f46
VS
149332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14936 Reported by: David Volgyes <dvolgyes>.
14937
cad3237f
VS
149382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14941 file after stat.
14942 Reported by: David Volgyes <dvolgyes>.
14943
13548d26
VS
149442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14947
14948 Reported by: David Volgyes <dvolgyes>.
14949
e061a1b5
VS
149502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14953 Prevent memory leak.
14954
1abe47dc
VS
149552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14958 (main): Close file.
e061a1b5 14959 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14960
fbc62666
VS
149612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14964 to continue if allocation is failed.
14965
14966 Reported by: David Volgyes <dvolgyes>.
14967
e98c83e9
DV
149682011-06-23 David Volgyes <dvolgyes>
14969
14970 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14971 dereference.
14972
a199a8cd
VS
149732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 Fix spurious warning.
14976
14977 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14978 (acorn_partition_map_find): Use .bin member.
14979
e2d1dba0
VS
149802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14983 /dev/root as a valid device.
14984
8a5d6919
JM
149852011-06-23 Jim Meyering <meyering@redhat.com>
14986
e2d1dba0
VS
14987 Avoid NULL deref in grub_device_open.
14988
8a5d6919
JM
14989 * grub-core/kern/device.c (grub_device_open): Don't dereference
14990 a NULL pointer upon failed grub_env_get.
14991
f7db6f4a
VS
149922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Support non-512B sectors and agglomerate reads.
14995
14996 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14997 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14998 (disk_io_guid): Removed.
14999 (make_devices): Locate solely by BlockIO.
15000 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15001 (grub_efidisk_read): Use read_blocks.
15002 (grub_efidisk_write): Use write_blocks.
15003 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15004 log_sector_size.
15005 (get_safe_sectors): Handle non-512B sectors.
15006 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15007 sectors.
15008 (grub_biosdisk_write): Handle non-512B sectors.
15009 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15010 (grub_scsi_read): Remove special non-512B block handling (now handled
15011 one level up).
15012 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15013 and do sanity checks.
15014 (grub_disk_adjust_range): Handle non-512B sectors.
15015 (transform_sector): New function.
15016 (grub_disk_read_small): Likewise.
15017 (grub_disk_read): Rewritten.
15018 (grub_disk_write): Handle non-512B sectors.
15019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15020 log_sector_size.
15021 (open_device): Use log_sector_size.
15022 (grub_util_biosdisk_read): Likewise.
15023 (grub_util_biosdisk_write): Likewise.
15024 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15025 non-512B sectors.
15026 (pc_partition_map_embed): Likewise.
15027 * include/grub/disk.h (grub_disk): New field log_sector_size.
15028 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15029 (GRUB_DISK_CACHE_BITS): Increased to 6.
15030 * util/grub-fstest.c (fstest): New command testload.
15031 (argp_parser): Likewise.
15032
881ac815
RM
150332011-06-16 Robert Millan <rmh@gnu.org>
15034
15035 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15036 `ata' driver on kernel of FreeBSD 9.
15037
15038 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15039 (get_ataraid_disk_name): New functions.
15040 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15041 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15042 get_ataraid_disk_name() and get_ada_disk_name().
15043
1e9aef7d
CW
150442011-06-13 Colin Watson <cjwatson@ubuntu.com>
15045
15046 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15047 input format.
15048
351c7c8a
CW
150492011-05-29 Colin Watson <cjwatson@ubuntu.com>
15050
15051 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15052 `ftp.gnu.org' for `alpha.gnu.org'.
15053
6b4e6430
CW
150542011-05-27 Colin Watson <cjwatson@ubuntu.com>
15055
15056 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15057 partitions under /dev/disk/by-id/.
15058
c64db050
CW
150592011-05-27 Colin Watson <cjwatson@ubuntu.com>
15060
15061 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15062 after ten consecutive open failures. Scanning all the way up to
15063 10000 is excessive and can cause serious performance problems in
15064 some configurations.
15065 Fixes Ubuntu bug #787461.
15066
245f4aba
VS
150672011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15070 opening new one.
15071
f767c929
VS
150722011-05-21 Colin Watson <cjwatson@ubuntu.com>
150732011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Don't stat devices unless we have to.
15076
15077 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15078 dir == /dev/mapper.
15079 (grub_guess_root_device): Use already known os_dev if possible.
15080 * grub-core/kern/emu/hostdisk.c
15081 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15082 if device is known to be a dm one.
15083
f35fa3a6
CW
150842011-05-20 Colin Watson <cjwatson@ubuntu.com>
15085
15086 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15087 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15088 Reported by: Pawel Tecza.
15089
9a79fcf2
VS
150902011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15093 (lsefisystab): Likewise.
15094 (lssal): Likewise.
15095 (lsefimmap): Likewise.
15096 (hdparm): Enable on qemu-mips.
15097 (setjmp): Add ia64 nodist.
15098 (serial): Simplify tags.
15099
63e3eea9
CW
151002011-05-18 Colin Watson <cjwatson@ubuntu.com>
15101
15102 * Makefile.util.def (grub-ofpathname): Install manual page.
15103
09728256
CW
151042011-05-18 Colin Watson <cjwatson@ubuntu.com>
15105
15106 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15107
8b63a142
CW
151082011-05-18 Colin Watson <cjwatson@ubuntu.com>
15109
15110 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15111
e775d8ed
VS
151122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15115 into dprintf.
15116
bf947d36
VS
151172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 Use full 64-bit division.
15120
15121 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15122 (grub_divmod64): ... this.
15123 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15124 version.
15125
b84f26c5
CW
151262011-05-18 Colin Watson <cjwatson@ubuntu.com>
15127
15128 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15129 `source'.
15130
5626056f
CW
151312011-05-18 Colin Watson <cjwatson@ubuntu.com>
15132
15133 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15134 to avoid accidents when debugging with 'sh -x'.
15135 * grub-core/gensyminfo.sh.in: Likewise.
15136 * tests/example_scripted_test.in: Likewise.
15137 * tests/grub_cmd_regexp.in: Likewise.
15138 * tests/grub_script_blanklines.in: Likewise.
15139 * tests/grub_script_dollar.in: Likewise.
15140 * tests/grub_script_expansion.in: Likewise.
15141 * tests/grub_script_final_semicolon.in: Likewise.
15142 * tests/partmap_test.in: Likewise.
15143 * tests/util/grub-shell-tester.in: Likewise.
15144 * tests/util/grub-shell.in: Likewise.
15145
e2965f4a
CW
151462011-05-18 Colin Watson <cjwatson@ubuntu.com>
15147
15148 Move gfxmenu color handling to video, so that gfxterm can use it
15149 too.
15150
15151 * grub-core/gfxmenu/named_colors.c: Move to ...
15152 * grub-core/video/colors.c: ... here. Rename
15153 grub_gui_get_named_color to grub_video_get_named_color.
15154 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15155 * grub-core/video/colors.c (my_isxdigit): ... here.
15156 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15157 Move to ...
15158 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15159 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15160 to ...
15161 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15162
15163 * include/grub/gui.h (grub_gui_color_t): Move to ...
15164 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15165 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15166 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15167 * include/grub/gui.h (grub_gui_map_color): Move to ...
15168 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15169 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15170 to ...
15171 * include/grub/video.h (grub_video_get_named_color): ... here.
15172 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15173 * include/grub/video.h (grub_video_parse_color): ... here.
15174
15175 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15176 video/colors.c.
15177 (gfxmenu): Remove gfxmenu/named_colors.c.
15178 (video) [videomodules]: Add video/colors.c.
15179
15180 Add a background_color command.
15181
15182 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15183 function.
15184 (GRUB_MOD_INIT): Register background_color command.
15185 (GRUB_MOD_FINI): Unregister background_color command.
15186 (redraw_screen_rect): Allow blend/replace of text layer to be
15187 controlled independently from whether there is a background bitmap.
15188 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15189 changing bitmap.
15190
1e4b4390
VS
151912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15192
26618ff0
VS
15193 Patch BPB in ntldr and chainloader --bpb.
15194
1e4b4390
VS
15195 * grub-core/fs/fat.c: Include grub/fat.h.
15196 (grub_fat_bpb): Moved to ...
15197 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15198 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15199 grub/ntfs.h.
15200 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15201 Moved from here...
15202 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15203 here.
15204 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15205 New function.
15206 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15207 (GRUB_MOD_INIT): Show --bpb.
15208 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15209 * grub-core/normal/main.c (features): New variable.
15210 (GRUB_MOD_INIT): Set feature_* variables.
15211 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15212 proto.
15213 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15214
cf02731e
VS
152152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15218 for cleanness.
15219
e3a1073f
VS
152202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 FreeDOS direct loading support.
15223
15224 * docs/grub.texi (Supported OS): Add FreeDOS.
15225 * grub-core/Makefile.core.def (freedos): New module.
15226 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15227 variable.
15228 (grub_relocator16_boot): Handle %ebx.
15229 * grub-core/lib/i386/relocator16.S: Likewise.
15230 * grub-core/loader/i386/pc/freedos.c: New file.
15231
05caa461
VS
152322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 Long Linux command line support.
15235
15236 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15237 (maximal_cmdline_size): New variable.
15238 (allocate_pages): Use maximal_cmdline_size.
15239 (grub_cmd_linux): Set and use maximal_cmdline_size.
15240 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15241 (allocate_pages): Use maximal_cmdline_size.
15242 (grub_cmd_linux): Set and use maximal_cmdline_size.
15243 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15244 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15245 and cmdline_size.
15246
a2491e23
VS
152472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
152482011-05-18 Colin Watson <cjwatson@ubuntu.com>
15249
15250 Improve devmapper support
15251
15252 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15253 (grub_util_is_lvm): New function.
15254 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15255 than lvm if not dmraid.
15256 Handle mapped md nodes.
15257 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15258 (grub_util_device_is_mapped): ... this. Make always available. All users
15259 updated.
15260 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15261 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15262 dmraid nodes.
15263 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15264
6ad6223e
VS
152652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15268
15269 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15270 * grub-core/modinfo.sh.in: New file.
15271 * grub-core/Makefile.core.def (modinfo.sh): New script.
15272 * util/grub-mknetdir.in: Use modinfo.sh.
15273 * util/grub-mkrescue.in: Likewise.
15274
543a8f6e
VS
152752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15278 Fix potential usage of Elf32 instead of Elf64 when compiling on
15279 32-bit architecture. Add endianness macros while on it.
15280
4959e111
VS
152812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Use mipsel- rather than mips- in directories involving mipsel ports to
15284 allow both endiannesses coexist.
15285
15286 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15287 mips. All conditions adjusted.
15288 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15289 variable.
15290 * util/grub-install.in: Adjust conditions to take renaming into account.
15291 * util/grub-mkimage.c (image_targets): Likewise. New target
15292 mips-qemu_mips-elf for bigendian mips.
15293
35341bbc
VS
152942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 Avoid unnecessary copying on MIPS.
15297
15298 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15299 early if src == dest.
15300 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15301 compression is none.
15302
b772baed
VS
153032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 Reduce memory footprint on SGI by putting modules before the kernel
15306 as opposed to after.
15307
15308 * grub-core/Makefile.core.def (kernel): Increase linking address.
15309 (none_decompress): Likewise.
15310 (xz_decompress): Likewise.
15311 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15312 address.
15313 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15314 layout change.
15315 (grub_arch_modules_addr): New function.
15316 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15317 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15318 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15319 here.
15320 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15321 (grub_total_modules_size): ... this. Make global.
15322 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15323 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15324 New definition.
15325 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15326 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15327 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15328 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15329 * util/grub-mkimage.c (image_target_desc): New flag
15330 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15331 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15332 (generate_image): Handle images with modules before kernel.
15333
566a1917
VS
153342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 Prevent potential loss of memory map by overwrite on qemu-mips.
15337
15338 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15339 Save ram size in $s4.
15340 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15341 All users changed to grub_arch_memsize.
15342 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15343 Loongson.
15344 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15345 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15346 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15347 external variable.
15348
5d420cd9
CW
153492011-05-17 Colin Watson <cjwatson@ubuntu.com>
15350
15351 * .bzrignore: Remove grub-dumpbios.
15352
d064b830
CW
153532011-05-17 Colin Watson <cjwatson@ubuntu.com>
15354
15355 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15356 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15357 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15358 existing options which append).
15359 * docs/grub.texi (Simple configuration): Document new options.
15360 Reported by: Ian Jackson. Fixes Debian bug #617538.
15361
3ca2b466
CW
153622011-05-17 Colin Watson <cjwatson@ubuntu.com>
15363
15364 * util/grub-fstest.c (cmd_cat): New function.
15365 (fstest): Handle CMD_CAT.
15366 (options): Add cat.
15367 (argp_parser): Handle cat.
15368
24c9143a
CW
153692011-05-17 Colin Watson <cjwatson@ubuntu.com>
15370
15371 * Makefile.util.def (grub-bin2h): Don't install.
15372 * docs/man/grub-bin2h.h2m: Remove.
15373
90f7ac19
VS
153742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15377 place.
15378
8d4a5178
VS
153792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 Reenable qemu-mips port.
15382
15383 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15384 Fix small arc bug while on it.
15385 * gentpl.py: Handle qemu_mips.
15386 * grub-core/Makefile.am: Likewise.
15387 * grub-core/Makefile.core.def: Likewise.
15388 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15389 inappropriate includes.
15390 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15391 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15392 * grub-core/kern/main.c (grub_modules_get_end)
15393 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15394 * grub-core/kern/mips/qemu-mips: Moved to ..
15395 * grub-core/kern/mips/qemu_mips: ... this.
15396 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15397 (grub_machine_init): Call terminfo_init and serial_init.
15398 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15399 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15400 New variable.
15401 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15402 parameter passing.
15403 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15404 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15405 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15406 * include/grub/mips/qemu_mips/cmos.h: New file.
15407 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15408 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15409 Removed.
15410 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15411 Use correct mips-style address.
15412 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15413 (GRUB_TICKS_PER_SECOND): Removed.
15414 (grub_get_rtc): Likewise.
15415 (grub_cpu_idle): Likewise.
15416 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15417 New definition.
15418 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15419 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15420 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15421 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15422 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15423 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15424 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15425 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15426
400b9371
VS
154272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 SGI ARCS port.
15430
15431 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15432 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15433 platforms.
15434 * configure.ac: New target mips-arc.
15435 * gentpl.py: Likewise.
15436 * grub-core/Makefile.am: Likewise.
15437 * grub-core/Makefile.core.def: Likewise.
15438 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15439 (none_decompress): Likewise.
15440 (lsdev): New module.
15441 (datetime): Use lib/arc/datetime.c on ARC.
15442 (part_dvh): New module.
15443 * grub-core/commands/arc/lsdev.c: New file.
15444 * grub-core/disk/arc/arcdisk.c: Likewise.
15445 * grub-core/kern/mips/arc/init.c: Likewise.
15446 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15447 aligned addresses.
15448 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15449 support.
15450 (grub_arch_dl_relocate_symbols): Likewise.
15451 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15452 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15453 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15454 platforms.
15455 * grub-core/lib/arc/datetime.c: New file.
15456 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15457 pci.h on non-loongson.
15458 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15459 (grub_linux_boot): Set unused registers to 0.
15460 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15461 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15462 * grub-core/mmap/mips/uppermem.c: ...here.
15463 * grub-core/partmap/dvh.c: New file.
15464 * grub-core/term/arc/console.c: Likewise.
15465 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15466 (grub_terminfo_set_current): Add terminal "arc".
15467 (grub_terminfo_readkey): Support ARC sequences.
15468 * include/grub/arc/arc.h: New file.
15469 * include/grub/arc/console.h: Likewise.
15470 * include/grub/disk.h (grub_disk_dev_id): Add
15471 GRUB_DISK_DEVICE_ARCDISK_ID.
15472 * include/grub/mips/arc/kernel.h: New file.
15473 * include/grub/mips/arc/memory.h: Likewise.
15474 * include/grub/mips/arc/time.h: Likewise.
15475 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15476 * include/grub/mips/kernel.h (grub_halt): ... here.
15477 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15478 here...
15479 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15480 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15481 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15482 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15483 proto.
15484 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15485 from here ...
15486 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15487 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15488 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15489 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15490 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15491 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15492 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15493 (grub_phys_addr_t): Moved from here ...
15494 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15495 (grub_vtop): Moved from here ...
15496 * include/grub/mips/memory.h (grub_vtop): ... here.
15497 (grub_map_memory): Moved from here ...
15498 * include/grub/mips/memory.h (grub_map_memory): ... here.
15499 (grub_unmap_memory): Moved from here ...
15500 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15501 (grub_machine_mmap_iterate): Moved from here ...
15502 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15503 (grub_mmap_get_lower): Moved from here ...
15504 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15505 (grub_mmap_get_upper): Moved from here ...
15506 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15507 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15508 here ...
15509 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15510 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15511 here ...
15512 * include/grub/mips/time.h (grub_get_rtc): ... here.
15513 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15514 here ...
15515 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15516 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15517 here ...
15518 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15519 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15520 definition.
15521 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15522 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15523 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15524 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15525 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15526 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15527 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15528 (GRUB_MACHINE_LINK_ADDR): Likewise.
15529 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15530 to 6.
15531 * util/grub-install.in: Run dvhtool on ARC.
15532 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15533 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15534
c8ecc840
VS
155352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15538 blocks.
15539
153a4b55
VS
155402011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15543 after enabling port.
15544
ff44d107
VS
155452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 Skip incorrect USB devices.
15548
15549 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15550 configcnt == 0.
15551 * include/grub/usb.h (grub_usb_err_t): New enum value
15552 GRUB_USB_ERR_BADDEVICE.
15553
638dbe4f
VS
155542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 Fuloong video init support.
15557
15558 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15559 well.
15560 (grub_vga_read_arx): New function.
15561 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15562 definition.
15563 (framebuffer): New members io, mmioptr and mmiobase.
15564 (read_sis_cmd): New function.
15565 (write_sis_cmd): Likewise.
15566 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15567 rather than 640x400.
15568 * grub-core/video/sis315_init.c: New file.
15569
c3fc520c
VS
155702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15573 non-loongson.
15574 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15575 to grub_dl_register_symbol.
15576
67b1e5c9
VS
155772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 Fix compilation errors.
15580
15581 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15582 potentially unused.
15583 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15584 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15585 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15586 to loongson machines.
15587
b756f75f
VS
155882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 Several FS mtime support.
15591
15592 * grub-core/fs/affs.c (grub_affs_time): New struct.
15593 (grub_affs_file): New field mtime.
15594 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15595 type. Removed 'size'. New field 'di'. All users updated.
15596 (grub_affs_mount): Simplify checsum checking.
15597 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15598 (grub_affs_dir): Handle mtime.
15599 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15600 (grub_cpio_dir): Likewise.
15601 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15602 (grub_hfs_filerec): New field mtime.
15603 (grub_hfs_dir): Handle mtime.
15604 (grub_hfs_mtime): New function.
15605 (grub_hfs_fs): Register grub_hfs_mtime.
15606 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15607 (grub_iso9660_dir): New field mtime.
15608 (grub_fshelp_node): New field dirent.
15609 (iso9660_to_unixtime): New function.
15610 (iso9660_to_unixtime2): Likewise.
15611 (grub_iso9660_read_symlink): Use node->dirent.
15612 (grub_iso9660_iterate_dir): Likewise.
15613 (grub_iso9660_dir): Set mtime.
15614 (grub_iso9660_mtime): New function.
15615 (grub_iso9660_fs): Register grub_iso9660_mtime.
15616 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15617 (grub_jfs_inode): New fields atime, ctime and mtime.
15618 (grub_jfs_dir): Set mtime.
15619 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15620 * grub-core/fs/ntfs.c (list_file): Set mtime.
15621 (grub_ntfs_dir): Likewise.
15622 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15623 (grub_reiserfs_iterate_dir): Set mtime.
15624 (grub_reiserfs_dir): Likewise.
15625 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15626 (grub_fshelp_node): Likewise.
15627 (grub_sfs_iterate_dir): Set mtime.
15628 (grub_sfs_dir): Likewise.
15629 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15630 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15631 (grub_xfs_inode): New fields atime, mtime, ctime.
15632 (grub_xfs_dir): Set mtime.
15633 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15634 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15635 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15636
15637 Support UDF symlinks.
15638
15639 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15640 (grub_ufs_read_symlink): New function. All users updated.
15641
15642 Check amiga partmap checksum.
15643
15644 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15645 (grub_amiga_partition): Likewise.
15646 (amiga_partition_map_checksum): New function.
15647 (amiga_partition_map_iterate): Check checksum.
15648
5470225d
VS
156492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 ROMFS support.
15652
15653 * Makefile.util.def (libgrubmods.a): Add romfs.
15654 * grub-core/Makefile.core.def (romfs): New module.
15655 * grub-core/fs/romfs.c: New file.
15656
d4680a35
VS
156572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 Squashfs v4 support.
15660
15661 * Makefile.util.def (libgrubmods.a): Add squash4.
15662 * grub-core/Makefile.core.def (squash4): New module.
15663 * grub-core/fs/squash4.c: New file.
15664 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15665 disk_input_start, disk_input.
15666 (get_byte): Handle disk_input.
15667 (grub_zlib_disk_read): New function.
15668 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15669
bcb18e74
FZ
156702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
156712011-05-15 Feiran Zheng <famcool@gmail.com>
15672
15673 * Makefile.util.def (libgrubmods.a): Add minix3.
15674 * grub-core/Makefile.core.def (minix3): New module.
15675 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15676 (GRUB_MINIX_BSIZE): Removed.
15677 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15678 (grub_minix_ino_t): New type.
15679 (grub_minix_le_to_cpu_ino): New macro.
15680 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15681 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15682 (grub_minix_data): New field block_size.
15683 (grub_minix_read_file): Handle 64-bit correctly.
15684 * grub-core/fs/minix3.c: New file.
15685
32297d5f
TG
156862011-05-15 Tristan Gingold <gingold@free.fr>
156872011-05-15 Robert Millan <rmh.grub@aybabtu.com>
156882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 IA64 support.
15691
15692 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15693 * configure.ac: Add ia64-efi target.
15694 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15695 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15696 * gentpl.py: Add ia64_efi platform.
15697 Rename x86_efi to efi and Add ia64-efi. All users updated.
15698 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15699 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15700 Remove kern/generic/rtc_get_time_ms.c on EFI.
15701 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15702 kern/ia64/dl_helper.c on ia64-efi.
15703 Add kern/emu/cache.c on emu.
15704 (linux): Use on loader/ia64/efi/linux.c on ia64.
15705 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15706 whether symbol is a function.
15707 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15708 (grub_symbol): New field 'isfunc'.
15709 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15710 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15711 (grub_dl_load_segments): Place all sections into the same region.
15712 [__ia64__]: Create trampolines and got.
15713 [GRUB_MACHINE_EMU]: Call mprotect.
15714 (grub_dl_resolve_symbols): Resolve symbol type as well.
15715 [__ia64__]: Create function descriptors.
15716 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15717 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15718 (grub_get_rtc): New function.
15719 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15720 * grub-core/kern/emu/cache.S: Renamed to ...
15721 * grub-core/kern/emu/cache_s.S: ... this.
15722 [__ia64__]: Add a nop.
15723 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15724 [__ia64__]: New function.
15725 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15726 * grub-core/kern/ia64/dl.c: New file.
15727 * grub-core/kern/ia64/dl_helper.c: Likewise.
15728 * grub-core/kern/ia64/efi/init.c: New file.
15729 * grub-core/kern/ia64/efi/startup.S: Likewise.
15730 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15731 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15732 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15733 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15734 * grub-core/loader/ia64/efi/linux.c: New file.
15735 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15736 (GRUB_MOD_DEP): Likewise.
15737 (grub_dl) [__ia64__]: New fields got and tramp.
15738 (grub_dl): New field 'base'.
15739 (grub_dl_register_symbol): New argument isfunc. All users updated.
15740 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15741 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15742 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15743 (grub_ia64_dl_get_tramp_got_size): New proto.
15744 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15745 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15746 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15747 * include/grub/efi/api.h: Skip call wrappers on ia64.
15748 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15749 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15750 * include/grub/elf.h (ELF_ST_INFO): New definition.
15751 * include/grub/ia64/efi/kernel.h: New file.
15752 * include/grub/ia64/efi/memory.h: Likewise.
15753 * include/grub/ia64/efi/time.h: Likewise.
15754 * include/grub/ia64/kernel.h: Likewise.
15755 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15756 * include/grub/ia64/time.h: New file.
15757 * include/grub/ia64/types.h: Likewise.
15758 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15759 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15760 New protos.
15761 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15762 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15763 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15764 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15765 All users updated.
15766 (EFI64_HEADER_SIZE): New definition. All users updated.
15767 (image_targets): Add ia64-efi.
15768 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15769 jumpers_addr. All users updated.
15770 Create function descriptors.
15771 (count_funcs): New function.
15772 (unaligned_uint32): New struct.
15773 (MASK20): New definition.
15774 (MASK19): Likewise.
15775 (MASKF21): Likewise.
15776 (add_value_to_slot_20b): New function.
15777 (add_value_to_slot_21_real): Likewise.
15778 (add_value_to_slot_21): Likewise.
15779 (ia64_kernel_trampoline): New struct.
15780 (nopm): New variable.
15781 (jump): Likewise.
15782 (make_trampoline): New function.
15783 (relocate_addresses): Handle ia64.
15784 (make_reloc_section): Likewise.
15785 (load_image): Likewise.
15786
983b414d
VS
157872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15790 warning. Move variables before code while on it.
15791
5d063cdc
VS
157922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Fuloong support.
15795
15796 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15797 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15798 * grub-core/boot/mips/loongson/fuloong.S: New file.
15799 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15800 Explicitly init CS5536.
15801 [FULOONG]: Don't use serial until CS5536 is available.
15802 Set GPIO based on dumps.
15803 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15804 [FULOONG]: Handle GPIO and memory controller differences.
15805 Parse machine type in $a2.
15806 * grub-core/boot/mips/startup_raw.S: Determine and save the
15807 architecture.
15808 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15809 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15810 init on architecture type.
15811 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15812 SIS315E. Don't init at_keyboard on fuloong.
15813 (grub_halt): Support Fuloong.
15814 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15815 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15816 (loongson_machtypes): New array.
15817 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15818 type.
15819 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15820 config. All users updated. Handle CS5536 serial.
15821 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15822 default port on machine type. Register serial as inactive.
15823 * grub-core/video/sis315pro.c: New file.
15824 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15825 definition.
15826 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15827 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15828 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15829 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15830 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15831 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15832 to ...
15833 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15834 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15835 definition.
15836 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15837 (grub_arch_machine): New extern var.
15838 * include/grub/mips/loongson/serial.h
15839 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15840 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15841 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15842 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15843 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15844 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15845 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15846 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15847 * include/grub/term.h (grub_term_register_input_inactive): New inline
15848 function.
15849 (grub_term_register_output_inactive): Likewise.
15850 * include/grub/video.h (grub_video_driver_id): New value
15851 GRUB_VIDEO_DRIVER_SIS315PRO.
15852 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15853 New field "names". All users updated.
15854 New field value IMAGE_FULOONG_FLASH.
15855 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15856
6ada82d1
JU
158572011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15858
15859 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15860 and add some clarification.
15861
90c571a4
VS
158622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15865 platforms if kernel is compressed.
15866
de04eecf
VS
158672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15870 unused modules since currently referrence counter isn't reliable and
15871 there isn't much memory to recover there anyway.
15872
57688121
VS
158732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15876 rather than resetting it to allow modules to reference themselves
15877 in init.
15878
3d2c7e35
VS
158792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15882 counter on dependencies since grub_dl_unref already handles this.
15883
b25db218
VS
158842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15887 on error if not already done.
15888
25a45338
VS
158892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Fix few potential memory misusage.
15892
15893 * grub-core/font/font.c (load_font_index): Don't free char_index to
15894 avoid double free.
b25db218
VS
15895 (grub_font_load): Zero-fill font at alloc for safety.
15896 Close file on error.
15897 (free_font): Free bmp_idx.
25a45338 15898
0cac83df
VS
158992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 * docs/grub.texi (Installation): Fix several outdated claims.
15902
2217a143
VS
159032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Handle module_license on windows.
15906
15907 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15908 sections shifted.
15909 (insert_string): Make argument const char * instead of char *.
15910 (write_section_data): Handle long section names.
15911 Handle module_license.
15912
d4de6b01
VS
159132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15916 handle class-free menuentries.
15917 (grub_normal_add_menu_entry): Add a check to be sure.
15918
4c2a3b43
VS
159192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15922 PgUp and PgDown.
15923
85c6210f
VS
159242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * configure.ac: Bump version to 1.99.
15927
36084912
VS
159282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 Give ATA device a bit more time on first try in order to allow disks
15931 to spin up.
15932
15933 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15934 if dev->present is 1. Reset dev->present on failure.
15935 (grub_ata_device_initialize): Set dev->present to 1.
15936 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15937 (grub_ata_device): New member 'present'.
15938
bda0e219
VS
159392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * util/grub-mkimage.c (generate_image): Update hash.
15942
19e1c41b
VS
159432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 Flush caches on DMA memory.
15946
15947 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15948 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15949 (grub_dma_free): Likewise.
15950 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15951
91bbcc0c
VS
159522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15955 to avoid asm treating ld and sd as macros.
15956
60ddfad3
VS
159572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15960 decompressor.
15961
a298aa04
VS
159622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15965 grub_decompress_core since later would fail if grub_decompress_core
15966 is too far.
15967
9b44feca
VS
159682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15971 R_MIPS_JALR since it's used by newer compiler.
15972
56dbe7b4
VS
159732011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15976
52856af2
VS
159772011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15980 file_path to 0 for surety.
15981 (grub_chainloader_boot): Set exit_data to NULL.
15982 Unset the loader once done.
15983 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15984
9c9bfc6d
VS
159852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15988 unknown key into a dprintf.
15989
dd94a3df
VS
159902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15993 on first non-existant partition.
15994
fa68d99c
VS
159952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15998 openning fails.
15999 Reported by: Mark Korenberg.
16000
157effb7
VS
160012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16004 overflow.
16005
ea75312f
VS
160062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16009 before closing to ensure that it will be readable by grub-setup.
16010
072b5d31
VS
160112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16014 (devpath_1): Use MAKE_PIWG_PATH.
16015 (devpath_2): Likewise.
16016 (devpath_3): Likewise.
16017 (devpath_4): Likewise.
16018 (devpath_5): Likewise.
16019 (devpath_6): Likewise.
16020
16021 The appleldr.mod was checked that to be binary identical to previous
16022 version.
16023
7fae0051
Z
160242011-05-05 Zach <mikezackles>
16025
16026 Support 2010 Macbooks.
16027
16028 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16029 (devs): Add devpath_6.
16030
7c515bee
VS
160312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16034 /dev/random. /dev/urandom is good enough for our purposes (salting).
16035
ed660bd8
VS
160362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16039
ee5614b7
VS
160402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16041
16042 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16043 hexadecimal.
16044
664889a6
VS
160452011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16048 and not 0 on failure.
16049
bd405bbc
CW
160502011-05-03 Colin Watson <cjwatson@ubuntu.com>
16051
16052 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16053 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16054 disk; otherwise grub_fs_probe will not fall back to the next
16055 filesystem.
16056 (grub_pxefs_open): Likewise, for consistency.
16057 Reported and tested by: Ezekiel Grave.
16058
4ebff753
CW
160592011-05-03 Colin Watson <cjwatson@ubuntu.com>
16060
16061 * tests/partmap_test.in: Don't hardcode path to parted.
16062 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16063
8f942553
CW
160642011-05-01 Colin Watson <cjwatson@ubuntu.com>
16065
16066 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16067 of `ls' to find out which devices are available.
16068
3c62402d
VS
160692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16072 than source address for efi mmap buffer.
16073
723f63f2
VS
160742011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16077 wrong action on non-detecting the magic.
16078
68797f92
VS
160792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16082 already supplied by another part of the module (fixes compilation on
16083 FreeBSD).
16084
6be8715d
VS
160852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16088 match the one used by mdadm.
16089
e91dba5b
CW
160902011-04-21 Colin Watson <cjwatson@ubuntu.com>
16091
16092 * po/README: Add instructions for creating po/LINGUAS.
16093
c85140b3
CW
160942011-04-21 Colin Watson <cjwatson@ubuntu.com>
16095
16096 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16097 #551428.
16098
16099 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16100 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16101 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16102 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16103 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16104 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16105 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16106 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16107 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16108 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16109 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16110 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16111 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16112 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16113 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16114 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16115 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16116 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16117 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16118 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16119 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16120 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16121
92051871
CW
161222011-04-21 Colin Watson <cjwatson@ubuntu.com>
16123
16124 * grub-core/kern/emu/getroot.c
16125 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16126 test that was incorrectly reintroduced in r3214.
16127 Reported by: Ian Dall. Fixes Savannah bug #33133.
16128
b13f79a4
CW
161292011-04-21 Colin Watson <cjwatson@ubuntu.com>
16130
16131 Fix stack pointer handling in 16-bit relocator.
16132
16133 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16134 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16135 Fixes Ubuntu bug #683904.
16136
9b710a88
VS
161372011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * configure.ac: Bump version to 1.99~rc2.
16140
d97e7b59
VS
161412011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16144 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16145 * grub-core/lib/x86_64/setjmp.S: Likewise.
16146 * grub-core/lib/mips/setjmp.S: Likewise.
16147 * grub-core/lib/powerpc/setjmp.S: Likewise.
16148 * grub-core/lib/sparc64/setjmp.S: Likewise.
16149
0624551c
VS
161502011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16153 * grub-core/lib/efi/datetime.c: Likewise.
16154
e8f28d4c
VS
161552011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16158 New function.
16159 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16160 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16161 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16162
bba79a15
VS
161632011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16166 bitmap.
16167 (grub_gfxterm_term_init): Likewise.
16168
abc474ef
VS
161692011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 Take into account the decorations the computing menu entry width.
16172
16173 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16174 (grub_gfxmenu_create_box): Register get_border_width.
16175 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16176 if available.
16177 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16178 get_border_width.
16179
e74b3947
EP
161802011-04-18 Endres Puschner <code@e7p.de>
16181
16182 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16183 Don't skip first class.
16184
34faa595
VS
161852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16188 chunks.
16189 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16190
93a777e3
VS
161912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 Complete 64-bit division support.
16194
16195 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16196 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16197 * include/grub/misc.h (grub_divmod64): Rename to ...
16198 (grub_divmod64_full): ... this.
16199 (grub_divmod64): New inline function.
16200
a5102d94
VS
162012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16204
f3fb7b36
VS
162052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16208 performing the necessary test.
16209
9ac718b0
VS
162102011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16213 (kfreebsd.elf): Likewise.
16214 (pc-chainloader.elf): Likewise.
16215 (ntldr.elf): Likewise.
16216
50d2cc5a
VS
162172011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 Identify RAID by its UUID rather than (guessed) name.
16220
16221 * grub-core/disk/raid.c (ascii2hex): New function.
16222 (grub_raid_open): Accept mduuid/%s specification.
16223 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16224 (get_mdadm_uuid): ... this.
16225 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16226
e03f7bea
VS
162272011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16230 to negative size.
16231
e74c3112
CW
162322011-04-13 Colin Watson <cjwatson@ubuntu.com>
16233
16234 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16235 btrfs subvolume.
16236 * util/grub.d/20_linux_xen.in: Likewise.
16237
78fa584f
CW
162382011-04-13 Colin Watson <cjwatson@ubuntu.com>
16239
16240 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16241 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16242
16243 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16244 Build a list of relevant visible mounts using the mnt_id and
16245 parent_mnt_id fields, and then scan that list at the end.
16246
9d5f8162
CW
162472011-04-12 Colin Watson <cjwatson@ubuntu.com>
16248
16249 * docs/grub.texi (normal): New section.
16250 (normal_exit): New section.
16251 (Embedded configuration): Add reference to normal.
16252 (GRUB only offers a rescue shell): Likewise.
16253 * docs/grub-dev.texi (Error Handling): Fix typo.
16254
09a9d66f
CW
162552011-04-12 Colin Watson <cjwatson@ubuntu.com>
16256
16257 * NEWS: Drop obsolete entry about probe-only btrfs support.
16258
0c676933
CW
162592011-04-12 Colin Watson <cjwatson@ubuntu.com>
16260
16261 * util/import_gcry.py: Fix typo.
16262
ec9f5e0d
VS
162632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * NEWS: Add btrfs support.
16266
fe6b2cba
VS
162672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
162682011-04-11 Colin Watson <cjwatson@ubuntu.com>
16269
16270 BtrFS support. Written by me (Vladimir) with important bugfixes and
16271 even more important testing by Colin.
16272
16273 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16274 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16275 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16276 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16277 mem_input_off and mem_input. All users updated to accept in-RAM input.
16278 (gzio_seek): New function.
16279 (test_zlib_header): Likewise.
16280 (grub_gzio_read): Likewise.
16281 (grub_zlib_decompress): Likewise.
16282 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16283 Accept partial and non-virtual mounts.
16284 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16285 avoid receiving /dev/dm-X as device.
16286 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16287 Handle bind and partial mounts.
16288 * grub-core/lib/crc.c: New file.
16289 * include/grub/deflate.h: Likewise.
16290 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16291 proto.
16292 * include/grub/lib/crc.h: New file.
16293
e745cf0c
VS
162942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 Implement automatic module license checking according to new GNU
16297 guidelines.
16298
16299 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16300 (grub_dl_load_core): Use grub_dl_check_license.
16301 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16302 (GRUB_MOD_LICENSE): Likewise.
16303 (GRUB_MOD_DUAL_LICENSE): Likewise.
16304 All modules updated.
16305
2a9bc016
CW
163062011-04-11 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16309 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16310 loaders.
16311 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16312
8a3bc88e
VS
163132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16316
af869a4a
VS
163172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16320 failed.
16321
9ee8d94f
VS
163222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16325 parenthesis in the middle of the filename.
16326
b01abe3e
VS
163272011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16330 rather than trying to put initrd way too high.
16331 Reported by: Ryan Lortie <desrt@desrt.ca>
16332
335bda1e
VS
163332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16336 improperly removed string.
16337
5ca1a64d
VS
163382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16339
16340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16341 is_disk.
16342 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16343 (open_device) Likewise.
16344 (grub_util_biosdisk_close): Likewise.
d8ce9995 16345 Reported by: Mark Korenberg.
5ca1a64d 16346
cbac5b1e
AK
163472011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16348
16349 * util/grub-mkconfig_lib.in: Add missing quotes.
16350
088cdb65
CW
163512011-04-10 Colin Watson <cjwatson@ubuntu.com>
16352
16353 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16354 is NULL.
16355
8b8a81fa
VS
163562011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 Dynamically count the number of lines for the lower banner.
16359
16360 * grub-core/normal/menu_entry.c (per_term_screen): New member
16361 num_entries.
16362 (print_down): Use num_entries.
16363 (update_screen): Likewise.
16364 (grub_menu_entry_run): Set num_entries.
16365 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16366 num_entries.
16367 (grub_print_message_indented): Move real part to ...
16368 (grub_print_message_indented_real): ... here. Additional argument
16369 dry_run.
16370 (draw_border): Additional argument num_entries.
16371 (print_message): Additional argument dry_run.
16372 (print_entries): Receive menu viewer data.
16373 (grub_menu_init_page): New argment num_entries.
16374 (menu_text_set_chosen_entry): Use num_entries.
16375 (grub_menu_try_text): Likewise.
16376 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16377 All users updated.
16378 (grub_ucs4_count_lines): New function.
16379 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16380 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16381 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16382 (grub_term_border_height): Likewise.
16383 (grub_term_num_entries): Likewise.
16384
277f955b
VS
163852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16386
16387 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16388 Remove now unused string.
16389
536ce85a
CW
163902011-04-09 Colin Watson <cjwatson@ubuntu.com>
16391
16392 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16393 build system.
16394 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16395
16396 (Comment): Fix typo.
16397 (Getting started): General copy-editing.
16398 (Typical Development Experience): Likewise.
16399 (Error Handling): Likewise.
16400 (Video API): Likewise.
16401
2cf09e32
CW
164022011-04-09 Colin Watson <cjwatson@ubuntu.com>
16403
16404 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16405 throughout.
16406
1ec652f4
VS
164072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16410 directory.
16411
2c583728
CW
164122011-04-08 Colin Watson <cjwatson@ubuntu.com>
16413
16414 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16415 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16416 "development".
16417
d7a565e9
VS
164182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16421 grub_strcpy since the lines aren't necessarily 0-terminated.
16422
7c2e4909
VS
164232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16426 root on legacy.
16427
34c09785
VS
164282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16431 (GRUB_MOD_INIT): DEVICE isn't optional.
16432
6a6f8058
VS
164332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16436 word on new line if it's too long anyway. Fixes a hang.
16437
2e335e90
VS
164382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16441 const.
16442 * util/grub-setup.c (main): Reuse md device name if available.
16443 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16444 not GRUB name as argument.
16445 Based on patch by: Florian Wagner <fwagner>.
16446
10a7a867
VS
164472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16450 Place mbi on low memory for better compatibility.
16451
7a3d6cd9
VS
164522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16455
18dd6b47
VS
164562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
164572011-04-08 Colin Watson <cjwatson@ubuntu.com>
16458
16459 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16460 * conf/Makefile.common: Likewise.
18dd6b47 16461
3c0e3f14
VS
164622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16463
f7148863
VS
16464 * grub-core/normal/menu.c: Add missing include.
16465
164662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16469
6d1fa41f
MZ
164702011-04-08 Martin Zuther <mzuther@mzuther.de>
16471
16472 * util/grub-mkconfig.in: Ignore emacsen backup.
16473
478182a8
VS
164742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16477 on open.
16478 (grub_util_biosdisk_close): Likewise.
16479
72a89a54
VS
164802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16483 const attribute and use grub_isdigit.
16484
b5ebecfa
A
164852011-04-06 Andrey <dev_null@ukr.net>
16486
16487 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16488 gcc warning.
16489
7755f66e
VS
164902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16493 useful grub_dprintf's.
16494
461121ff
VS
164952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16498
2a961775
VS
164992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16502
adf594cc
VS
165032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 Output errors if theme loading failed.
16506
16507 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16508 grub_gfxterm_fullscreen on error paths to ...
16509 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16510 theme loading error.
16511
665900a3
VS
165122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16513
16514 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16515 space for older compilers.
16516 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16517
a562b479
VS
165182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16521 and report them as not RAID members since they are useless for GRUB.
16522 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16523
850e9373
VS
165242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 Increase LVM implementation robustness in order not to crash on
16527 configurations like pvmove. Previously code assumed that in some places
16528 only lvs or only pvs are used whereas it seems that they are used
16529 interchangeably.
16530
16531 * grub-core/disk/lvm.c (read_node): New function.
16532 (read_lv): Use read_node.
16533 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16534 Match volumes only at the end when all lvs are found. Take both
16535 pvs (first) and lvs (second) into account.
16536 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16537 mirror_* into node_*. All users updated.
16538 (grub_lvm_stripe): Merge this ...
16539 (grub_lvm_mirror): ... and this ...
16540 (grub_lvm_node): ... into this. All users updated.
16541
6f332153
VS
165422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16545 of function to allow further scanning for LVMs.
16546
829ea451
VS
165472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16550 on failed seek as it breaks open fd reusage.
16551
09ceb9a5
VS
165522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * util/grub-install.in: Add a recommendation to use --recheck before
16555 reporting bugs.
16556
67e11623
VS
165572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16560 are obtained.
16561
caee5efd
VS
165622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 GRUB developper manual based on existing Internals section and
16565 contributions by the various authors with active copyright assignment.
16566
16567 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16568 * docs/font_char_metrics.png: New file.
16569 * docs/font_char_metrics.txt: Likewise.
16570 * docs/grub-dev.texi: Likewise.
16571 * docs/grub.texi (Internals): Move from here ...
16572 * docs/grub-dev.texi: ... here.
16573
2cccc747
CW
165742011-04-01 Colin Watson <cjwatson@ubuntu.com>
16575
16576 Store the loopback device as data on loopback grub_disk structures,
16577 rather than the file it points to. This fixes use of freed memory
16578 if an existing loopback device is replaced.
16579
16580 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16581 disk->data, not dev->file.
16582 (grub_loopback_read): Adjust file assignment to match.
16583 Fixes Ubuntu bug #742967.
16584
186ae367
CW
165852011-04-01 Colin Watson <cjwatson@ubuntu.com>
16586
16587 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16588 when replacing an existing device.
16589
cfed2ad0
VS
165902011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16593 memory corruptions.
16594
16595 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16596 unsigned.
16597 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16598 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16599 (grub_jfs_read_inode): Likewise.
16600 (grub_jfs_opendir): Likewise. Remove now useless casts.
16601 (grub_jfs_getent): Likewise.
16602 Make ino a grub_uint32_t rather than int.
16603 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16604 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16605 division and module with bit operations.
16606 (grub_jfs_find_file): Make ino a grub_uint32_t.
16607 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16608
05d2ed32
CW
166092011-04-01 Colin Watson <cjwatson@ubuntu.com>
16610
16611 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16612 warning. (This was in fact always initialised before use, but GCC
16613 wasn't smart enough to prove that.)
16614 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16615
91dc6073
VS
166162011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16617
16618 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16619 stack alignment.
16620 (efi_wrap_1): Likewise.
16621 (efi_wrap_2): Likewise.
16622 (efi_wrap_3): Likewise.
16623 (efi_wrap_4): Likewise.
16624 (efi_wrap_5): Likewise.
16625 (efi_wrap_6): Likewise.
16626 (efi_wrap_10): Likewise.
16627 Based on information by: Red Hat/Peter Jones.
16628
a8afc1d1
CW
166292011-03-31 Colin Watson <cjwatson@ubuntu.com>
16630
16631 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16632 set-but-not-used variable.
16633
a826cc7d
CW
166342011-03-31 Colin Watson <cjwatson@ubuntu.com>
16635
16636 * docs/grub.texi (Simple configuration): Be more explicit about
16637 GRUB_DEFAULT, and add an example.
16638 Reported by: Leslie Rhorer.
16639
875b67ba
CW
166402011-03-30 Colin Watson <cjwatson@ubuntu.com>
16641
16642 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16643 shell".
16644
fd7cd914
AS
166452011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16646
16647 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16648 * util/grub.d/20_linux_xen.in: Likewise.
16649
090b1b6a
VS
166502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * util/grub.d/10_linux.in: Try alternative config filenames where
16653 we parse config file.
16654 * util/grub.d/20_linux_xen.in: Likewise.
16655
baad885c
AS
166562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16657
16658 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16659 * util/grub.d/20_linux_xen.in: Likewise.
16660
241e41f5
VS
166612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16662
16663 * grub-core/disk/raid.c (insert_array): Add few potentially
16664 useful grub_util_info.
16665 (grub_raid_register): Likewise.
16666
56445fb2
VS
166672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16670 Preserve partition number in mdadm code path.
16671
c871b1c6
VS
166722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16675 few potentially useful grub_util_info.
16676
5e631b4f
CW
166772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16680
2d5d0333
CW
166812011-03-30 Colin Watson <cjwatson@ubuntu.com>
16682
16683 * docs/grub.texi (default): Use @example rather than nested
16684 itemized lists to avoid breaking gendocs.
16685
3d7ed04e
CW
166862011-03-30 Colin Watson <cjwatson@ubuntu.com>
16687
16688 * docs/grub.texi (Future): Update.
16689
abf04200 166902011-03-30 Colin Watson <cjwatson@ubuntu.com>
16691
16692 * docs/grub.texi (Environment): New chapter.
16693 (Changes from GRUB Legacy): Link to "Environment block" section for
16694 details of limitations.
16695 (Simple configuration): Likewise. Link to documentation of gfxmode
16696 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16697 respectively.
16698 (Shell-like scripting): Note that normal variables are stored in the
16699 environment.
16700 (gettext): Link to documentation of lang and locale_dir.
16701 (list_env): New section.
16702 (load_env): New section.
16703 (save_env): New section.
16704
16705 (Reporting bugs): Fix typo.
16706
e1ad0edd
VS
167072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16710 the example.
16711
5d803174
VS
167122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * grub-core/term/at_keyboard.c (set_scancodes)
16715 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16716
2a2da1d0
CW
167172011-03-30 Colin Watson <cjwatson@ubuntu.com>
16718
16719 * docs/grub.texi (Menu-specific commands): Remove some semantics
16720 that were true in GRUB Legacy but not in GRUB 2.
16721 (submenu): New section.
16722 (false): New section.
16723 (read): New section.
16724 (true): New section.
16725
a7527639
CW
167262011-03-30 Colin Watson <cjwatson@ubuntu.com>
16727
16728 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16729
167302011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16731
16732 * docs/grub.texi (Simple configuration): Explain some of the
16733 current limitations of grub-mkconfig.
8a748df2 16734 Reported by: Leslie Rhorer.
e30af029 16735
fc858482
VS
167362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 Old macs search for boot.efi rather than for bootia32.efi.
16739
16740 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16741 * util/grub-mkrescue.in: Likewise.
16742 Suggested by: Peter Jones.
16743
e1eb511d
VS
167442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16747
70e75364
VS
167482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16751 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16752 (grub_lvm_mirror): New struct.
16753 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16754 (grub_lvm_iterate): Iterate only visible volumes.
16755 (grub_lvm_read): Factor out to ..
16756 (read_lv): ... this. Support mirrors.
16757 (grub_lvm_read): New wrapper function.
16758 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16759 stripped or mirrored.
16760
fc18f6a3
VS
167612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16764
5c650f4c
CW
167652011-03-29 Colin Watson <cjwatson@ubuntu.com>
16766
16767 * docs/grub.texi (loopback): New section.
16768
61d7156b
CW
167692011-03-29 Colin Watson <cjwatson@ubuntu.com>
16770
16771 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16772 removed -p option.
16773
994b8264
CW
167742011-03-29 Colin Watson <cjwatson@ubuntu.com>
16775
16776 * docs/grub.texi (BIOS installation): New section, partly based on
16777 previous text in other sections.
16778 (Installing GRUB using grub-install): Replace BIOS discussion with a
16779 cross-reference.
16780 (Images): Likewise.
16781
9e4d19e0
VS
167822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16785 [HAVE_DIOCGDINFO]: Add safety checks.
16786
a307c0b2
VS
167872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16790 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16791
b4db4f39
CW
167922011-03-29 Colin Watson <cjwatson@ubuntu.com>
16793
16794 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16795 real_sb->size is zero (e.g. RAID-0), get the disk size from
16796 real_sb->data_size instead.
16797 Fixes Ubuntu bug #743136.
16798
35e5f84c
VS
167992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16802 printf clauses for printing size and start.
16803
d2e29d81
VS
168042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16807 Reported and tested by: Timothy Nikkel.
16808
ed5587af
VS
168092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16812 (dirty_region_add_real): ... this.
16813 (dirty_region_add): Don't discard margin refresh when performing
16814 scheduled repaint.
16815
a1dc717c
VS
168162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/lib/relocator.c (allocate_regstart)
16819 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16820 terminals are capabple of malloc-free operation.
16821 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16822 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16823
9f3677d3
VS
168242011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16825
16826 * util/grub-setup.c: Copy the partition table zone if floppy support
16827 is disabled, even if no partition table is found.
16828
16829 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16830 during POST if an invalid partition table is contained in the PBR
16831 of the active partition when GRUB is installed to a partition.
16832
24148725
CW
168332011-03-28 Colin Watson <cjwatson@debian.org>
16834
16835 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16836 comment.
16837
f329eda7
CW
168382011-03-28 Colin Watson <cjwatson@debian.org>
16839
16840 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16841 to be specific about what kind of RAID device we're scanning for.
16842
c482ad98
SG
168432011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16844
16845 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16846 return freed string.
16847
5ee04984
VS
168482011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16849
16850 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16851
f4727da9
VS
168522011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 Use libgeom on FreeBSD to detect partitions.
16855
16856 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16857 (grub-mkrelpath): Likewise.
16858 (grub-script-check): Likewise.
16859 (grub-editenv): Likewise.
16860 (grub-mkpasswd-pbkdf2): Likewise.
16861 (grub-fstest): Likewise.
16862 (grub-mkfont): Likewise.
16863 (grub-mkdevicemap): Likewise.
16864 (grub-probe): Likewise.
16865 (grub-setup): Likewise.
16866 (grub-ofpathname): Likewise.
16867 (grub-mklayout): Likewise.
16868 (example_unit_test): Likewise.
16869 (grub-menulst2cfg): Likewise.
16870 * grub-core/Makefile.core.def (grub-emu): Likewise.
16871 (grub-emu-lite): Likewise.
16872 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16873 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16874 define HAVE_DIOCGDINFO.
16875 (follow_geom_up) [FreeBSD]: New function.
16876 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16877 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16878 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16879 unconditionally of HAVE_DIOCGDINFO.
16880
82fe6c75
VS
168812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 Fix FreeBSD compilation problem.
16884
16885 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16886 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16887
4c6c9431
CW
168882011-03-24 Colin Watson <cjwatson@ubuntu.com>
16889
16890 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16891 Switch back to page zero before loading a kernel, since some kernel
16892 drivers expect that.
16893 Thanks to: Felix Kuehling.
16894
c7064d94
VS
168952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16898 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16899 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16900
3f71cded
VS
169012011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16904 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16905
ef6de21a
VS
169062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16909 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16910 malloc is disabled.
16911
8bc66a2c
VS
169122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16915 for modules headers when counting the needed allocation size.
16916
5657722c
VS
169172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16920 if no ASCII character is found to prevent crash.
16921
41a85f55
AK
169222011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16923
16924 * grub-core/video/bitmap.c (match_extension): Ignore case.
16925
59e1e5f1
VS
169262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16929
bd4d051a
VS
169302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/script/parser.y: Declare "time" as valid argument.
16933
bae7fcc1
PJ
169342011-03-23 Peter Jones <pjones@redhat.com>
16935
16936 Fix incorrect assert failure reporting.
16937
16938 * grub-core/tests/example_functional_test.c (example_test): Add
16939 a failure comment.
16940 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16941 (failure_start): ...this. Check that malloc succeeded.
16942 Don't call xvasprintf. Return failure struct.
16943 (failure_append_vtext): New function.
16944 (failure_append_text): Likewise.
16945 (add_failure): Likewise.
16946 (grub_test_assert_helper): Likewise.
16947 * include/grub/test.h (grub_test_assert_helper): New declaration.
16948 (grub_test_assert): Macro rewritten.
16949
537dc9be
VS
169502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16953
fa3e01bf
VS
169542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16957
b1d28404
VS
169582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16961 into GRUB-style one.
16962
2e3e2e09
VS
169632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16966 error and not grub_errno.
16967 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16968
ed57e557
VS
169692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16972 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16973
d1611f01
VS
169742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 * grub-core/efiemu/i386/pc/cfgtables.c
16977 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16978 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16979 (grub_xnu_unlock): Likewise.
16980 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16981
7d4e39d6
VS
169822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16985 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16986 * grub-core/commands/hashsum.c (aliases): Likewise.
16987 * grub-core/commands/setpci.c (pci_registers): Likewise.
16988 * grub-core/disk/usbms.c (attach_hook): Likewise.
16989 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16990 (zio_checksum_table): Likewise.
16991 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16992 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16993 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16994 * grub-core/lib/relocator.c (leftovers): Likewise.
16995 (extra_blocks): Likewise.
16996 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16997 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16998 (modules_last): Likewise.
16999 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17000 (devices): Likewise.
17001 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17002 (modules_last): Likewise.
17003 * grub-core/normal/auth.c (users): Likewise.
17004 * grub-core/normal/context.c (initial_menu): Likewise.
17005 (current_menu): Likewise.
17006 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17007 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17008 (grub_serial_terminfo_input_template): Likewise.
17009 (grub_serial_terminfo_output_template): Likewise.
17010 (grub_serial_terminfo_input): Likewise.
17011 (grub_serial_terminfo_output): Likewise.
17012 (registered): Likewise.
17013 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17014
40fc4659
VS
170152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17018 grub_video_mode_type_t.
17019 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17020 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17021 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17022
2da48d28
VS
170232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * util/grub-install.in: Correct the x86-64 name as x86_64.
17026
9b43bf39
CW
170272011-03-11 Colin Watson <cjwatson@ubuntu.com>
17028
17029 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17030 initial chunk read from the kernel always includes GRUB's multiboot
17031 header, which is now outside the first sector.
17032
be1a7ce0
CW
170332011-03-09 Colin Watson <cjwatson@ubuntu.com>
17034
17035 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17036 cached mmap_size, so that this works correctly when called multiple
17037 times.
17038 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17039
83a3c48d
CW
170402011-03-09 Colin Watson <cjwatson@ubuntu.com>
17041
17042 * docs/grub.texi (Simple configuration): Tidy up formatting.
17043
57d75699
SJ
170442011-03-07 Szymon Janc <szymon@janc.net.pl>
17045
17046 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17047 Set-but-not-used variable removed.
17048
028501a0
VS
170492011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 Workaround yet another IEEE1275 bug.
17052
17053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17054 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17055 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17056 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17057 is set.
17058 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17059 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17060
d998657d
VS
170612011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17064 error.
17065
fee7cdd4
CW
170662011-02-11 Colin Watson <cjwatson@ubuntu.com>
17067
17068 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17069 empty, since in that case we can only generate either nothing or a
17070 syntactically invalid configuration file.
17071 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17072
97286eb5
CW
170732011-02-09 Colin Watson <cjwatson@ubuntu.com>
17074
17075 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17076 (Making a GRUB bootable CD-ROM): Likewise.
17077 (Invoking grub-mkrescue): New section.
17078 Reported by: Yann Dirson. Fixes Debian bug #612585.
17079
22b28eb3
CW
170802011-02-09 Colin Watson <cjwatson@ubuntu.com>
17081
17082 * util/grub-install.in: Remove unnecessary brackets from tr
17083 arguments.
17084 * util/grub.d/10_hurd.in: Likewise.
17085 * util/grub.d/10_kfreebsd.in: Likewise.
17086 * util/grub.d/10_linux.in: Likewise.
17087 * util/grub.d/20_linux_xen.in: Likewise.
17088 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17089
7e735e43
CW
170902011-02-08 Colin Watson <cjwatson@ubuntu.com>
17091
17092 * include/grub/file.h (not_easly_seekable): Rename to ...
17093 (not_easily_seekable): ... this. Update all users.
17094
800f1881
CW
170952011-01-28 Colin Watson <cjwatson@ubuntu.com>
17096
17097 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17098 grub-mkrescue.
17099
3281d3d6
VS
171002011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * util/grub-mkimage.c (generate_image): Refuse to create the images
17103 bigger than the actual flash (512K) in Loongson machines. 512K is also
17104 the biggest chip supported by them.
17105
3533413c
VS
171062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17109
73ae4f4f
VS
171102011-01-22 Anthony DeRobertis <anthony@derobert.net>
17111
17112 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17113 super_offset field.
17114
37f4f608
VS
171152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * util/grub-install.in: Ignore install device on platforms
17118 where it doesn't make sense. Always use UUIDs except on pc, efi and
17119 sparc64.
17120 Reported by: Daniel Kahn Gillmor.
17121
03a4ccb5
VS
171222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17125
ffc8f4d8
VS
171262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17129 (iterate_real): Don't rely on partition being non-NULL.
17130
80f23be7
VS
171312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17134 supported platforms. Put a compile time assert for this rather than
17135 generate a warning with 32-bit shift.
17136
5d4f4dd5
VS
171372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17140 logical expression more readable.
17141
e489601a
VS
171422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17145 even if some elements have a name.
17146 Reported by: Alexander GQ Gerasiov.
17147
96e0a6ea
CW
171482011-01-22 Colin Watson <cjwatson@ubuntu.com>
17149
17150 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17151 path unreadable if `grub-probe -t abstraction' fails, for example if
17152 memberlist fails on an LVM volume group.
17153 Reported by: Darius Jahandarie.
17154
81431e2b
CW
171552011-01-22 Colin Watson <cjwatson@ubuntu.com>
17156
17157 * docs/grub.texi (Simple configuration): Document
17158 GRUB_PRELOAD_MODULES.
17159
5e79d66a
CW
171602011-01-17 Colin Watson <cjwatson@ubuntu.com>
17161
17162 * .bzrignore: Remove nonexistent grub-pbkdf2.
17163
646ada34
VS
171642011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17165
17166 * configure.ac: Bump version to 1.99~rc1.
17167
04360337
VS
171682011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17171 for safety.
17172
46c9db88
VS
171732011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17176 module.
17177
171782011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17179
17180 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17181
4fbf1852
VS
171822011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17185 diskdevid.
17186
f1632d4d
VS
171872011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 Fix compilation on cygwin.
17190
17191 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17192 -R .drectve on cygwin.
17193 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17194 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17195 (COND_CYGWIN): New condition.
17196 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17197 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17198 not @TARGET_OBJ2ELF@.
17199 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17200 type to determine whether aux is to be used.
17201
0b5e127b
VS
172022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17205 realpath'ed device string.
17206 Handle floppy (somewhat).
17207 Issue error in unknown case rather than garbage.
17208 Reported by: Axel Beckert.
17209
173b71e9
VS
172102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 * util/grub.d/00_header.in (load_video): Handle the case when no video
17213 drivers available.
17214 Thanks to: Axel Beckert.
17215
f8f479db
VS
172162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17217
17218 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17219 variable. Fixes problem on big endian platforms.
17220
8fc0a245
VS
172212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17222
17223 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17224 It doesn't work well there.
17225
b8494fbe
VS
172262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17229 warning.
17230 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17231 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17232 counter.
17233
b44a558c
VS
172342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 Use alias->path rather than buggy "canon".
17237
17238 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17239 (ofdisk_hash_add): New argument curcan. All users updated.
17240
51fa856c
CW
172412011-01-11 Colin Watson <cjwatson@ubuntu.com>
17242
17243 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17244
9da068a5
VS
172452011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17248 loadmask before doing any calculations. Use correct type for offset.
17249 (grub_linux_load64): Likewise.
17250
86205c94
CW
172512011-01-11 Colin Watson <cjwatson@ubuntu.com>
17252
17253 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17254 with NULL.
17255 (console_grub_equivalences_unshift): Likewise.
17256 Reported by: Daniel Dehennin.
17257
4531a206
VS
172582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17261 (set_env_limn_ro): Likewise.
17262 (GRUB_MOD_INIT): Likewise.
17263 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17264 ARRAY_SIZE while on it.
17265 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17266 * grub-core/normal/context.c (grub_env_export): Move from here ...
17267 * grub-core/kern/env.c (grub_env_export): ... here.
17268 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17269 prefix.
17270 * grub-core/kern/main.c (grub_main): Export root and prefix.
17271 * include/grub/env.h (grub_env_export): Export.
17272 Reported by: Seth Goldberg.
17273
45146057
VS
172742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17277 Take into account space used by ELF sections and multiboot palette.
17278 Reported by: Grégoire Sutre.
17279
f093110b
VS
172802011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * BUGS: New file.
17283
3395fe52
VS
172842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 Pass more appropriate video id to Linux.
17287
17288 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17289 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17290 fill have_vga.
17291 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17292 shift params->lfb_size.
17293 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17294
c2fa6cbb
VS
172952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17298
b3ff6ff0
VS
172992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17302 separator and pass bootpath/devid even if only one of them is available.
17303 Reported by: Seth Goldberg.
17304
ae67942e
VS
173052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17308 implementations bug on them.
17309
17310 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17311 memory.
17312 (filter_memory_map): Likewise.
17313
d570097a
VS
173142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17317 Reported by: nebuchadnezzar.
17318
a508e776
VS
173192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17322 Reported by: nebuchadnezzar.
17323
dcb883b1
VS
173242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 Submenu default support.
17327
17328 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17329 auto_boot. All users updated.
17330 Declared static.
17331 Handle chosen and default with submenus.
17332 (grub_menu_execute_with_fallback): Declared static.
17333 Don't notify failure if autobooted. Upper level does it.
17334 (menuentry_eq): New function.
17335 (get_entry_number): Use menuentry_eq.
17336 (show_menu): New parameter "autobooted". All users updated.
17337 (grub_show_menu): Likewise.
17338 * include/grub/normal.h (grub_show_menu): Likewise.
17339 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17340 (grub_menu_execute_with_fallback): Likewise.
17341
6fef99b4
VS
173422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * util/grub-mklayout.c (usage): Update help text.
17345
47a77af5
VS
173462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17349
ce6bb3ee
VS
173502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * util/grub-menulst2cfg.c (main): Trim the line.
17353
db87be2a
VS
173542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17357 (grub_machine_init): Don't check amount of low memory as reportedly
17358 INT 12h can be broken and if low memory is too low we wouldn't have
17359 gotten into grub_machine_init anyway.
17360
c49849cc
VS
173612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17362
17363 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17364 (grub_machine_mmap_iterate): Take low memory into account
17365
b1969b30
VS
173662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17369 badfs.
17370 Reported by: TiCPU.
17371
cf0eaf13
VS
173722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17375 members errors.
17376
1f060f39
GS
173772011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17378
17379 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17380 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17381
a21e5672
GS
173822011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17383
17384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17385 openbsd and netbsd types being in part_bsd module.
17386
c88172fa
VS
173872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17390 (_FILE_OFFSET_BITS): Likewise.
17391 Reported by: Seth Goldberg.
17392
53798c4b
GS
173932011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17394
17395 * configure.ac: Check for libdevmapper header.
17396
e7121b69
VS
173972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17400 avoid aliasing.
17401 (fzap_lookup): Likewise.
17402 (dnode_get): Likewise.
17403 (make_mdn): Likewise.
17404 (zfs_mount): Likewise.
17405 (fzap_iterate): Use temporary pointer to avoid aliasing.
17406 (grub_zfs_read): Likewise.
17407 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17408 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17409 pointers to avoid aliasing.
17410 (grub_cmd_xnu_kernel64): Likewise.
17411 (grub_xnu_load_driver): Likewise.
17412
fc836af9
VS
174132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17416 aliasing warning.
17417 (grub_cmd_terminal_output): Likewise.
17418 Reported and tested by: Grégoire Sutre.
17419
f9f37648
VS
174202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17423 warning.
17424 Reported and tested by: Grégoire Sutre.
17425
ec1dfd63
VS
174262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * configure.ac: Do CPU substitution even if it's specified explicitly.
17429 Reported and tested by: Alain Greppin.
17430
9462775a
VS
174312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17434 Reported and tested by: Alain Greppin.
17435
0fd48e35
VS
174362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 Satisfy some bison versions need for inttypes.h.
17439
17440 * grub-core/lib/posix_wrap/inttypes.h: New file.
17441 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17442 (int16_t): Likewise.
17443 (int32_t): Likewise.
17444 (int64_t): Likewise.
17445 Reported and tested by: Alain Greppin.
17446
43f1bc83
VS
174472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17450 Silence spurious warning.
17451 Reported and tested by: Alain Greppin.
17452
64d1f041
SJ
174532011-01-07 Szymon Janc <szymon@janc.net.pl>
17454
17455 * docs/grub.texi (Support automatic decompression): Update with xz
17456 decompression support.
17457
25953e10
SJ
174582011-01-07 Szymon Janc <szymon@janc.net.pl>
17459
17460 Improve loaders' kernel command line handling.
17461
17462 * grub-core/lib/cmdline.c: New file.
17463 * include/grub/lib/cmdline.h: Likewise.
17464 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17465 grub_create_loader_cmdline to create kernel command line.
17466 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17467 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17468 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17469 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17470 (linux): Add lib/cmdline.c on common.
17471
e72d259f
VS
174722011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17475 inopos might be unaligned.
17476
c0cf26da
VS
174772011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17480 endian transformations.
17481 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17482 Based on report by: Doug Nazar.
17483
0ca09e6c
DN
174842011-01-07 Doug Nazar <nazard.michi@gmail.com>
17485
17486 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17487 array->members[i].start_sector.
17488 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17489
014b6806
VS
174902011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17491
17492 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17493 Reported and tested by: Grégoire Sutre.
17494
415502c2
CW
174952011-01-06 Colin Watson <cjwatson@ubuntu.com>
17496
17497 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17498 avoid causing test failures by clearing the screen.
17499
71b6a2b7
CW
175002011-01-06 Colin Watson <cjwatson@ubuntu.com>
17501
17502 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17503 Fix prefix check to handle the case where dir ends with a slash
17504 (most significantly, "/" itself).
17505 Reported by: Michael Vogt.
17506
b3f8d28a
VS
175072011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 Run terminfo_cls on initing terminfo output to clear the screen and
17510 move the cursor to (0,0).
17511
17512 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17513 Call grub_terminfo_output_init.
17514 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17515 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17516 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17517
4c3e4f37
VS
175182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17521 only when needed.
17522
488f71f1
VS
175232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17526 CTRL.
17527
18a38098
VS
175282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 The E820 type 5 is BADRAM, not EXEC_CODE.
17531
17532 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17533 (GRUB_E820_BADRAM): New define.
17534 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17535 into reserved. Propagate BADRAM.
17536 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17537 (GRUB_E820_BADRAM): New define.
17538
9eae2084
VS
175392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17542 Ignore the memory post-4G.
17543 (grub_relocator_firmware_alloc_region): Additional debug statement.
17544
ebc71d28
VS
175452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17548 names.
17549 Reported by: David Pravec.
17550
446fa400
VS
175512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17552
17553 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17554 BIOSes.
17555
a0159f37
VS
175562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17559 Prevent overflow.
17560 (grub_reed_solomon_recover): Likewise.
17561
e5146ca1
VS
175622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17565
175662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17567
17568 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17569 variable.
17570
5b1bdf12
CW
175712011-01-04 Colin Watson <cjwatson@ubuntu.com>
17572
17573 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17574 descriptions of extract_legacy_entries_source and
17575 extract_legacy_entries_configfile.
17576 Reported by: Seung Soo, Ha.
17577
99d925aa
CW
175782011-01-03 Colin Watson <cjwatson@ubuntu.com>
17579
17580 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17581 on devices that do not implement function 0.
17582
4af0504b
DV
175832011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17584
17585 * grub-core/fs/hfsplus.c: Make parent unsigned.
17586 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17587 overflows.
17588 (grub_hfsplus_cmp_extkey): Likewise
17589
469ee10a
VS
175902011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * util/grub-install.in: Correctly use bootloader_id and not
17593 GRUB_DISTRIBUTOR on efibootmgr line.
17594
323a8e9c
VS
175952011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17598
1b394975
IC
175992010-12-31 Ian Campbell <ijc@hellion.org.uk>
17600
17601 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17602 Xen and reorder menu item wording to make it clearer that this entry
17603 will launch Xen. Print separate messages when loading Xen and
17604 Linux.
17605
275bff5f
VS
176062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17609 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17610 loop in case of incorrect amiga partmap.
17611
307806cb
VS
176122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17615 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17616 Reported by:EHeM.
17617
b12b923e
VS
176182010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17621 spurious warning.
17622 Reported by: crocket
17623
14b48a19
VS
176242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17627 Preload EFIemu.
17628 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17629
693db2df
VS
176302010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17633 is loaded
17634 (grub_cmd_xnu_kextdir): Likewise.
17635 (grub_cmd_xnu_splash): Likewise.
17636
c7638645
VS
176372010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Avoid using Reed-Solomon with 0 redundancy.
17640
17641 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17642 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17643 or 0 redundancy.
17644 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17645 (grub_reed_solomon_recover): Likewise.
17646
25dd4780
VS
176472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 Don't use disk subsystem in freebsd_boot.
17650
17651 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17652 (freebsd_biosdev): Likewise.
17653 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17654 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17655
0b2db943
VS
176562010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 Handling of files of unknown size is currently limited. They can't be
17659 used e.g. for initrd or modules. Moreover gzip handling of not
17660 easily seekable files is buggy. Disable unknown file size for now. May
17661 be inefficient but works.
17662
17663 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17664 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17665
5c408d0f
MP
176662010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17667
17668 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17669 floppy probe.
17670
190a011a
JD
176712010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17672
17673 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17674
022d01b8
SL
176752010-12-25 Shea Levy <shlevy>
17676
17677 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17678
c4855fdc
VS
176792010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17682 Windows Server 2008.
17683 Reported by: Devin Giddings.
17684
0354b867
VS
176852010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17688 writing an error message because of async power management.
17689 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17690 (grub_reboot): Likewise.
17691
ab66c69f
JU
176922010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17693
17694 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17695 keep unit tests from failing when they shouldn't.
17696
1426ef35
CW
176972010-12-21 Colin Watson <cjwatson@ubuntu.com>
17698
17699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17700 previous patch increased the size of the RS code by 20 bytes (at
17701 least with gcc-4.4), so increase this by 20 bytes to match.
17702 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17703
20641b6b
CW
177042010-12-21 Colin Watson <cjwatson@ubuntu.com>
17705
17706 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17707 scratch area. Make sure to initialise chosen in standalone mode as
17708 well as non-standalone.
17709 Reported by: Robert Hooker and Andy Whitcroft.
17710 Tested by: Andy Whitcroft.
17711
d060ad60
CW
177122010-12-21 Colin Watson <cjwatson@ubuntu.com>
17713
17714 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17715 constructing a new unescaped string and passing it to grub_xputs in
17716 one go, rather than passing characters to grub_printf one at a time.
17717
b889cfad
CW
177182010-12-21 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17721 initialising utf16.
17722
4e01b6c8
CW
177232010-12-21 Colin Watson <cjwatson@ubuntu.com>
17724
17725 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17726 comment. Add an extra layer of quotation, requiring the output of
17727 this function to be used in a printf format string.
17728 (gettext_printf): New function.
17729 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17730 Extract translatable strings from here-documents and use a temporary
17731 variable instead, so that xgettext can find them.
17732 * util/grub.d/10_kfreebsd.in: Likewise.
17733 * util/grub.d/10_linux.in: Likewise.
17734 * util/grub.d/20_linux_xen.in: Likewise.
17735
17736 * po/grub.d.sed: New file.
17737 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17738 arguments. Set c-format flags on all strings extracted from
17739 util/grub.d/ (xgettext refuses to include these itself for strings
17740 it extracted from a shell file, but these really are c-format).
17741
5318fe98
VS
177422010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17745 Avoid next pointing to nowhere.
17746
6c85b743
VS
177472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17750 rather than assuming than rootblock is exactly in the middle.
17751 (grub_affs_label): Likewise.
17752
a2a08a35
VS
177532010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17756 reserved_first_sector to 0.
17757 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17758 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17759 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17760
7059d1ec
VS
177612010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 Fix handling of UTF-16 UDF labels.
17764
17765 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17766 (read_string): .. here.
17767 (grub_udf_label): Use read_string.
17768
30aff4cb
BC
177692010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17770
17771 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17772 editor under argument scope.
17773 Reported by: Jordan Uggla
17774
5cf86f4b
VS
177752010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17778
32570200
CW
177792010-12-18 Colin Watson <cjwatson@ubuntu.com>
17780
17781 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17782 line, and other keys scroll an entire page (previous handling was
17783 for \r and \n to scroll a page and other keys to scroll two lines).
17784
e1dffcf2
VS
177852010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17786
17787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17788 Set ptrdest to correct get_physical_target_address rather than
17789 incorrect get_virtual_current_address.
17790
b04298cf 177912010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17792
17793 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17794 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17795
5367ecd3
CW
177962010-12-10 Colin Watson <cjwatson@ubuntu.com>
17797
17798 * .bzrignore: Ignore grub-core/rs_decoder.S.
17799
1fb430f8
CW
178002010-12-10 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17803 .mo/.mo.gz opening sequence to ...
17804 (grub_mofile_open_lang): ... here.
17805 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17806 * util/grub.d/00_header.in (grub_lang): Include country part of
17807 locale.
17808 Reported by: Mario Limonciello.
17809
a94a6671
RM
178102010-12-09 Robert Millan <rmh@gnu.org>
17811
17812 * NEWS: Document addition of ZFS support.
17813
24b7938b
CW
178142010-12-04 Colin Watson <cjwatson@ubuntu.com>
17815
17816 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17817 rather than `/ 2', as the latter requires -Wa,--divide which would
17818 require bumping our minimum binutils version.
17819
bddc3ef6
BC
178202010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17821
17822 * util/grub-script-check.c (main): Print script line number on
17823 error.
17824
bf78d5b2
RM
178252010-12-01 Robert Millan <rmh@gnu.org>
17826
17827 * grub-core/fs/zfs/zfs.c: New file.
17828 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17829 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17830 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17831 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17832
17833 * include/grub/zfs/dmu.h: Likewise.
17834 * include/grub/zfs/dmu_objset.h: Likewise.
17835 * include/grub/zfs/dnode.h: Likewise.
17836 * include/grub/zfs/dsl_dataset.h: Likewise.
17837 * include/grub/zfs/dsl_dir.h: Likewise.
17838 * include/grub/zfs/sa_impl.h: Likewise.
17839 * include/grub/zfs/spa.h: Likewise.
17840 * include/grub/zfs/uberblock_impl.h: Likewise.
17841 * include/grub/zfs/vdev_impl.h: Likewise.
17842 * include/grub/zfs/zap_impl.h: Likewise.
17843 * include/grub/zfs/zap_leaf.h: Likewise.
17844 * include/grub/zfs/zfs.h: Likewise.
17845 * include/grub/zfs/zfs_acl.h: Likewise.
17846 * include/grub/zfs/zfs_znode.h: Likewise.
17847 * include/grub/zfs/zil.h: Likewise.
17848 * include/grub/zfs/zio.h: Likewise.
17849 * include/grub/zfs/zio_checksum.h: Likewise.
17850
17851 * Makefile.util.def: Build ZFS into libgrubmods.
17852 * grub-core/Makefile.core.def: Build zfs.mod.
17853
3f0f3831
SJ
178542010-11-30 Szymon Janc <szymon@janc.net.pl>
17855
17856 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17857 variable.
17858 * grub-core/commands/wildcard.c (match_files): Likewise.
17859
3a4253b2
RM
178602010-11-30 Robert Millan <rmh@gnu.org>
17861
17862 * grub-core/loader/i386/bsd.c
17863 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17864 whether kernel is loaded using grub_loader_is_loaded(), rather
17865 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17866 certain error conditions.
17867
8c317b27
RM
178682010-11-30 Robert Millan <rmh@gnu.org>
17869
c5c9cd3e
RM
17870 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17871 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17872
49d3ab46
VS
178732010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 Avoid using tricks for initialising endian variables.
17876
17877 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17878 Make const.
17879 (GRUB_MOD_INIT): Don't byte-swap.
17880 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17881 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17882 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17883 (grub_swap_bytes32_compile_time): Likewise.
17884 (grub_cpu_to_le32_compile_time): Likewise.
17885 (grub_cpu_to_le16_compile_time): Likewise.
17886
f420a804
VS
178872010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 * util/grub-setup.c (setup): Stop recommending --force. People who
17890 understand the dangers of blocklists are able to find this option
17891 anyway and the ones who don't shouldn't use it anyway.
17892
4e7db17b
RM
178932010-11-26 Robert Millan <rmh@gnu.org>
17894
17895 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17896 Update all users.
17897
9be57a0d
CW
178982010-11-26 Colin Watson <cjwatson@ubuntu.com>
17899
17900 Fix LVM-on-RAID probing.
17901
17902 * util/grub-probe.c (probe): Remember which disk was detected as
17903 RAID (perhaps an LVM physical volume). Use that disk's raidname
17904 rather than that of the top-level disk.
17905
2c7859b3 179062010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17907
d7647bb6
BC
17908 Fix cmdline argument quotes for setparams command of menuentry
17909 definitions.
7e623b0d
BC
17910
17911 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17912 quotes for arguments.
f866fe80 17913 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17914 grub_strchrsub function instead.
f866fe80 17915
7955bea0 17916 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17917
74f72a64
CW
179182010-11-24 Colin Watson <cjwatson@ubuntu.com>
17919
17920 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17921 effort by skipping "." and ".." entries up-front.
17922 Suggested by: Michael Lazarev.
17923
5a407278
CW
179242010-11-24 Colin Watson <cjwatson@ubuntu.com>
17925
17926 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17927 ldflags to ldadd, to fix link line ordering.
17928 (none_decompress): Likewise.
17929
3030d8ec
CW
179302010-11-24 Colin Watson <cjwatson@ubuntu.com>
17931
17932 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17933 platforms.
17934 (grub-emu-lite): Remove kern/emu/cache.S.
17935
b7fbac12
CW
179362010-11-23 Colin Watson <cjwatson@ubuntu.com>
17937
17938 * util/deviceiter.c (compare_devices): If the by-id link for a
17939 device couldn't be resolved, fall back to sorting by the by-id link
17940 rather than segfaulting.
17941 Reported and tested by: Daniel Mierswa.
17942
5225f328
CW
179432010-11-23 Colin Watson <cjwatson@ubuntu.com>
17944
17945 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17946 ldflags, to fix link line ordering.
17947
038b3ce8
CW
179482010-11-23 Colin Watson <cjwatson@ubuntu.com>
17949
17950 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17951 linkers are picky about this.
17952
bf16e98e
CW
179532010-11-23 Colin Watson <cjwatson@ubuntu.com>
17954
17955 * grub-core/Makefile.am (command.lst): Adjust sed expression
17956 ordering so that extended and priority commands aren't treated as
17957 ordinary commands.
17958
7242bab6
CW
179592010-11-23 Colin Watson <cjwatson@ubuntu.com>
17960
17961 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17962 Remove byte-swapping function calls, which are not valid in
17963 structure initialisers.
17964 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17965 non-const.
17966 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17967 grub_gpt_partition_type_bios_boot.
17968
14e8b279
CW
179692010-11-22 Colin Watson <cjwatson@ubuntu.com>
17970
17971 Fix test program build on GNU/kFreeBSD.
17972
17973 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17974 $(LIBNVPAIR)' library dependencies.
17975
e6f63338 179762010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17977
17978 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17979
cf8ffc38
CW
179802010-11-22 Colin Watson <cjwatson@ubuntu.com>
17981
17982 * util/grub-install.in: Remove excessive quoting that broke
17983 installations to RAID devices.
17984
7f8b0fd7
VS
179852010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17988 bootloader version instead of 0.
17989
dfd240b1
VS
179902010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17993 warning.
17994
7b61e609
VS
179952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17998 retrieve the metadat sector if size isn't known.
17999 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18000
9dfe92d0
RM
180012010-11-18 Robert Millan <rmh@gnu.org>
18002
18003 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18004 with grub_memcmp().
18005
41cc919e
VS
180062010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18009 arrow.
18010 Reported by: Jordan Uggla.
18011
1afcc914
VS
180122010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 Make better UTF compliant.
18015
18016 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18017 sequences as incorrect.
18018 (grub_is_valid_utf8): Likewise.
18019 (grub_utf8_to_ucs4): Likewise.
18020 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18021 (grub_ucs4_to_utf8_alloc): Likewise.
18022 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18023
f1808884
VS
180242010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 Make legacy_source behave like source.
18027
18028 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18029 grub_show_menu.
18030 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18031
24ec575b
CW
180322010-11-16 Colin Watson <cjwatson@debian.org>
18033
18034 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18035 (-Wunused implies -Wunused-parameter, but not vice versa).
18036
72b7c7aa
CW
180372010-11-16 Colin Watson <cjwatson@ubuntu.com>
18038
18039 * configure.ac: Make error messages less confusing by testing for
18040 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18041 accepted, but produces a diagnostic if something else is wrong).
18042
e98937aa
VS
180432010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18046 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18047 (now unused).
18048 (grub_keyboard_controller_init)
18049 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18050 read the initial state since controller isn't inited yet.
18051
f6bbabc3
VS
180522010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18055 allocate_regbeg may need to create new chunk header.
18056
22e7dbb2
VS
180572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 Fix quoting in legacy parser.
18060
18061 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18062 single quotes.
18063 (grub_legacy_parse): Likewise.
18064 Reported by: Jordan Uggla.
18065 Tested by: Jordan Uggla.
18066
03f80960
VS
180672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 Don't add -lgcc on i386 and x86_64.
18070
18071 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18072 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18073 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18074
779dc15b
VS
180752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 * configure.ac: Add -Wno-trampolines when supported.
18078
d20a3b37
MV
180792010-11-14 Modestas Vainius <modax@debian.org>
18080
18081 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18082 fakeraid.
18083
e5360933
GC
180842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18085
18086 Add generic logical block size support for UDF.
18087
18088 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18089 (GRUB_UDF_BLKSZ): Removed.
18090 (struct grub_udf_data): New field "lbshift" to hold the logical block
18091 size of the file system in log2 format. All users updated.
18092 (sblocklist): Change type to unsigned.
18093 (grub_udf_mount): Change type of "sblklist" to unsigned.
18094 Move AVDP search before VRS recognition, because the latter requires
18095 knowledge of the logical block size, which is detected during the
18096 former.
18097 Detect and validate logical block size during AVDP search, adding
18098 support for block sizes 512, 1024 and 4096.
18099 Make VRS recognition independent of block size.
18100
cb0229c5
GC
181012010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18102
18103 Properly handle deleted files on UDF.
18104
18105 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18106 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18107 set.
18108
406858a8
GC
181092010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18110
18111 Support reading files larger than 2 GiB.
18112
18113 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18114 "offset" to grub_off_t.
18115 (grub_udf_read_file): Likewise for parameter "pos".
18116
130da6a7
VS
181172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18120 unavailable.
18121 (Simple configuration): Refer to Changes from GRUB Legacy about
18122 save_env availability.
18123
65e93f6b
VS
181242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 * util/grub-install.in: Ignore empty partition table detection
18127 instead of trying to include part_ module.
18128
1fd08bf1
VS
181292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18132 LVM on RAID support.
18133
de1a024f
VS
181342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 Properly define WORDS_BIGENDIAN in wrapped environments.
18137
18138 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18139 definition.
18140 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18141
18142 Reported by: Manoel Rebelo Abranches.
18143 Tested by: Manoel Rebelo Abranches.
18144
bc5dd0b9
VS
181452010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 * util/grub-mkconfig.in: Fix quoting.
18148
58c184be
VS
181492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 Support big ext2 files.
18152
18153 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18154 (grub_ext2_read_block): Support triple indirect blocks.
18155 (grub_ext2_read_file): Use 64-bit types and read size_high.
18156 (grub_ext2_open): Read size_high.
18157 Reported by: Ximin Luo.
18158 Tested by: Manoel Rebelo Abranches.
18159
5f0c02b3
VS
181602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * util/grub-install.in: Handle filenames containing spaces.
18163 Reported by: Jordan Uggla.
18164 Tested by: Jordan Uggla.
18165
4417aae6
VS
181662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 * util/grub-mkconfig.in (grub_script_check): New variable.
18169 Use grub_script_check instead of grub-script-check.
18170 Reported by: Barry Jackson.
18171
7625a68e
VS
181722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * docs/grub.texi (menu): Correct the order.
18175 Reported by: D. Hugh Redelmeier.
18176
10001ac5
VS
181772010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18180 jump.
18181
9c4cf53b
MRA
181822010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18183
10001ac5
VS
18184 * include/grub/elfload.h (grub_elf32_size): New parameter.
18185 All users updated.
9c4cf53b
MRA
18186 Return maximum segments alignment.
18187 (grub_elf64_size): Likewise.
18188 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18189 Return maximum segments alignment.
18190 (grub_elf64_size): Likewise.
18191 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18192 (grub_linux_claimmap_iterate): New function. Uses the
18193 "available" property in the "memory" node for memory allocation
18194 for kernel in the PowerPC loader.
9c4cf53b
MRA
18195 (grub_linux_load32): Correctly find linux entry point offset.
18196 (grub_linux_load64): Likewise.
18197
d2bf06bf
RM
181982010-11-07 Robert Millan <rmh@gnu.org>
18199
18200 On mips-yeeloong, build with -march=loongson2f when this flag is
18201 available (GCC >= 4.4).
18202 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18203 `-march=mips3'.
18204 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18205 or otherwise add -march=mips3.
18206
898c99a2
BC
182072010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18208
87220a68
BC
18209 Suppress shell expansion on echo '*' and echo "*" like cases.
18210 Reported by: Jordan Uggla.
898c99a2
BC
18211
18212 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18213 string arguments before shell expansion.
18214 * tests/grub_cmd_echo.in: New testcases.
18215
4f9b406a
RM
182162010-11-07 Robert Millan <rmh@gnu.org>
18217
18218 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18219 transition.
18220
80c6d25e
VS
182212010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * grub-core/kern/emu/hostdisk.c
18224 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18225
4a1a0153
VS
182262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18229 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18230 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18231
34706ddc
VS
182322010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18235
6972dea9
VS
182362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * util/grub-install.in: Replace useless recomendation to pass
18239 --modules with a recomendation to report a bug.
18240
9c693bd6
VS
182412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 Properly register serial terminfo.
18244 Reported by: Jordan Uggla
18245
18246 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18247 const.
18248 (grub_serial_terminfo_output_template): Likewise.
18249 (grub_cmd_serial): Register "serial" with terminfo.
18250 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18251 grub_serial_terminfo_output.
18252
6c9e4c0c
RM
182532010-11-05 Robert Millan <rmh@gnu.org>
18254
18255 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18256 needed).
18257
b9b3839f
RM
182582010-11-05 Robert Millan <rmh@gnu.org>
18259
18260 On Yeeloong, pass machine type information to Linux.
18261
18262 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18263 (LOONGSON_MACHTYPE): New macro, set to
18264 "machtype=lemote-yeeloong-2f-8.9inches".
18265 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18266 additional argument to Linux.
18267
1a3aaff4
RM
182682010-11-04 Robert Millan <rmh@gnu.org>
18269
18270 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18271 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18272 (its SATA disks are detected as slaveless IDE master drives on
18273 kFreeBSD).
18274 Reported by Carsten Aulbert.
18275
a75f4f62
CW
182762010-11-02 Colin Watson <cjwatson@ubuntu.com>
18277
18278 * util/bin2h.c (main): Fix spelling error in generated output.
18279
33b4b0c6
GS
182802010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18281
18282 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18283
2b36fbf4
VS
182842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18287 vga= option is supplied.
18288
74aaf558
VS
182892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18292 * util/grub.d/10_kfreebsd.in: Likewise.
18293 * util/grub.d/10_linux.in: Likewise.
18294 * util/grub.d/20_linux_xen.in: Likewise.
18295
6428dec3
VS
182962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18297
18298 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18299 argument as an argument to no-argument option.
18300
f8729d98
VS
183012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 * util/grub.d/10_linux.in: Add missing load_video with explicit
18304 GRUB_GFXPAYLOAD_LINUX.
18305
89d68fa6
VS
183062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18309
3a1197cd
VS
183102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18313 elements with invlid index.
18314 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18315 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18316 members.
18317 * include/grub/raid.h (grub_raid_member): New struct.
18318 (grub_raid_array): Transform devices and start_sector into usage of
18319 grub_raid_member. All users updated
18320 (allocated_devs): New member.
18321
71574288
VS
183222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18325 is modified
18326
8d40ec65
BC
183272010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18328
18329 NetBSD build fix for getline function conflict from gnulib.
18330
18331 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18332 components that depend on gnulib headers.
18333 (libgrubmods.a): Renamed from earlier libgrub.a.
18334 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18335
95b9257e
VS
183362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18339 install rather than creating a broken install.
18340
26c53dc6
VS
183412010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * util/grub-setup.c (argp): Remove misleading example of installing to
18344 a partition.
18345
4171b3c5
VS
183462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * util/grub-setup.c (setup): Clarify the error message.
18349
18568d18
VS
183502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18353
4f6a2e21
VS
183542010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/kern/emu/misc.c
18357 (grub_make_system_path_relative_to_its_root)
18358 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18359
183602010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18361
18362 * grub-core/kern/emu/misc.c
18363 (grub_make_system_path_relative_to_its_root): Revert r2882.
18364
e138c458
VS
183652010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18368 useless field head. All users updated.
18369 (free_subchunk): Correct handling of IN_REGION subchunk.
18370
0cbcdf0e
CW
183712010-10-22 Colin Watson <cjwatson@ubuntu.com>
18372
18373 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18374 (Supported kernels): Likewise.
18375
b65ea155
GS
183762010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18377
18378 Make mktemp invocations portable.
18379
18380 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18381 exit if mktemp fails.
18382 * tests/grub_script_blockarg.in: Likewise.
18383 * tests/partmap_test.in: Likewise.
18384 * tests/util/grub-shell-tester.in: Likewise.
18385 * tests/util/grub-shell.in: Likewise.
18386 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18387 * Makefile.am: Likewise, and chain shell commands with `&&'
18388 instead of ';'.
18389 * util/grub-mkrescue.in: Use the same explicit template as above, and
18390 exit if mktemp fails.
18391
05f43cdd
BC
183922010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18393
18394 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18395 Linux kernel, reported by Dennis Schridde.
18396
800e6a9b
SJ
183972010-10-17 Szymon Janc <szymon@janc.net.pl>
18398
18399 * grub-core/normal/auth.c (grub_auth_check_authentication):
18400 Set-but-not-used variable removed.
18401
d82df574
VS
184022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18405 32-bit linux protocol.
18406
7bced458
VS
184072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18410 cursor shape for sanity.
18411
5b027690
VS
184122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * docs/grub.texi (Installation): Document buggy BIOS install.
18415
ba5f65cf
VS
184162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * docs/grub.texi (Installation): Indent.
18419
fdf2ec9c
VS
184202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * util/grub-setup.c (setup): New parameter allow_floppy.
18423 (arguments): New member allow_floppy.
18424 (argp_parser): Handle --allow-floppy.
18425 (main): Pass allow_floppy.
18426 * util/grub-install.in: New option --allow-floppy passed though to
18427 grub-setup.
18428
861dfd4c
VS
184292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * util/grub-install.in: Handle partitionless disks.
18432
f77a8c24
VS
184332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 * util/grub-setup.c (setup): Don't clean blocklists before readability
18436 verfification.
18437
27d9ee32
VS
184382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 * docs/grub.texi (Installation): Document embedding zone. Remove
18441 obsolete grub-install example.
18442
6bdda8f8
SJ
184432010-10-16 Szymon Janc <szymon@janc.net.pl>
18444
18445 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18446 Set-but-not-used variable ifdef'ed.
18447 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18448 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18449 variable removed.
18450 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18451 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18452 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18453 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18454 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18455 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18456 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18457 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18458 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18459 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18460 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18461 Likewise.
18462
e19b016b
VS
184632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18466 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18467 enum value.
18468
6c8d3002
VS
184692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18470
18471 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18472 synonym to _S5_. Needed for some DSDTs.
18473
c32b51c9
VS
184742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 Userspace ACPI parser debugging.
18477
18478 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18479 headers and add relevant defines. Don't include standard headers.
18480 (main) [GRUB_DSDT_TEST]: New function.
18481 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18482 Don't declare functions.
18483
fbfbeb39
VS
184842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 Remove dead grub_efi_mm_fini.
18487
18488 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18489 (ALLOCATED_PAGES_SIZE): Likewise.
18490 (MAX_ALLOCATED_PAGES): Likewise.
18491 (allocated_pages): Likewise.
18492 (grub_efi_allocate_pages): Don't record allocated pages.
18493 (grub_efi_free_pages): Likewise.
18494 (grub_efi_mm_init): Likewise.
18495 (grub_efi_mm_fini): Removed.
18496
65f7ed7c
VS
184972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18500 (grub_efi_mm_init): Take into account the memory map size increase.
18501
24977b44
VS
185022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18505 (serial_hw_put): Wait based on real time rather than port reads. Don't
18506 roken ports.
18507 * include/grub/serial.h (grub_serial_port): New field broken.
18508
1eb01cd2
RM
185092010-10-16 Robert Millan <rmh@gnu.org>
18510
18511 * grub-core/kern/emu/misc.c
18512 (grub_make_system_path_relative_to_its_root): Fix premature return
18513 when processing non-root ZFS filesystems.
5f8b440b 18514 Reported by Sergio Talens-Oliag.
1eb01cd2 18515
2d5fed60
RM
185162010-10-15 Robert Millan <rmh@gnu.org>
18517
18518 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18519 guarantee compressed ones are processed first.
18520
d0f4c1ea
VS
185212010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18524 grub_efiemu_autocore.
18525
d87c681f
VS
185262010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18529 rather than 0x1b.
18530 (grub_console_getkey): Use correct jae opcode rather than ja.
18531
219b3564
RM
185322010-10-12 Robert Millan <rmh@gnu.org>
18533
18534 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18535 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18536 variable. All references updated.
18537
18538 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18539
20c6bb7e
VS
185402010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 Correctly distinguish mdraid flavours.
18543
18544 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18545 (insert_array): New argument raid.
18546 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18547 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18548 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18549
74baff84
VS
185502010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18553 handling of special keys.
18554
3ef068df 185552010-10-02 Aleš Nesrsta <starous@volny.cz>
18556
c7980ad9
VS
18557 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18558 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18559
a9455194 185602010-10-02 Aleš Nesrsta <starous@volny.cz>
18561
c7980ad9
VS
18562 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18563 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18564 users updated.
a9455194 18565 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18566 Use right endpoint when querying descriptor.
a9455194 18567
441cfe65
VS
185682010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 Clear out 0x80 color bit on EFI.
18571 Tested by: decoder
18572 Reported by: decoder and meta tech.
18573
18574 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18575 (grub_console_setcolorstate): Clear out 0x80 bit.
18576 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18577 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18578 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18579
bf26bcc4
VS
185802010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18583 Set to "auto".
18584
6e3c515d
VS
185852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18588 mo_file after freeing.
18589
e6d983ba
VS
185902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18593
74ccb5b5
VS
185942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18597 flags.
18598
17821956
VS
185992010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18600
18601 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18602 usage.
18603
ee74fa48
VS
186042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18607
18608 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18609 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18610 and terminfo.h when needed.
18611 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18612 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18613 (terminfo): Enable only on terminfokernel.
18614 (extcmd): Likewise.
18615 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18616 * include/grub/lib/arg.h: Likewise.
18617 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18618 incorrect usage of ->.
18619
aa438e68
VS
186202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18623 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18624
57994012
VS
186252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18626
18627 Fix coreboot compilation.
18628
18629 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18630 Take VBE info into account even if only text is supported.
18631 (fill_vbe_info): Take into account the case when only VGA text
18632 is supported.
18633 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18634 on coreboot, multiboot and qemu.
18635
2a406611
VS
186362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18639 debug messages.
18640 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18641
d33613fc
VS
186422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18645 parameters.
18646
44a1b432
VS
186472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18650 if they were BSD-style.
18651
edde54e6
VS
186522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 * grub-core/boot/i386/pc/lnxboot.S: Replace
18655 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18656 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18657
b65830fa
VS
186582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 Write embedding zone using Reed-Solomon.
18661
18662 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18663 * grub-core/Makefile.am (rs_decoder.S): New target.
18664 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18665 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18666 (multiboot): Move to RS part.
18667 (post_reed_solomon): New label.
18668 (grub_boot_drive): Move to non-RS part since it's modified in memory
18669 on boot.
18670 Include rs_decoder.S.
18671 * grub-core/lib/reed_solomon.c: New file.
18672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18673 New definition.
18674 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18675 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18676 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18677 * include/grub/partition.h (grub_partition_map): Change prototype of
18678 embed to allow returning additional sectors.
18679 * include/grub/reed_solomon.h: New file.
18680 * util/grub-setup.c (setup): Handle Reed-Solomon.
18681
0b4b227f
CW
186822010-09-28 Colin Watson <cjwatson@ubuntu.com>
18683
18684 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18685 i386 and x86-64 definedness tests.
18686
f772623b
YB
186872010-09-27 Yves Blusseau <blusseau@zetam.org>
18688
18689 Fix generation of kernel_syms.lst
18690
18691 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18692 ASM_PREFIX
18693
8e57a6ca
RM
186942010-09-26 Robert Millan <rmh@gnu.org>
18695
18696 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18697
18698 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18699 the pool is an array of devices, iterate through it and return the
18700 first device that passes a stat() test (instead of blindly returning
18701 the first one).
18702
f9130836
RM
187032010-09-26 Robert Millan <rmh@gnu.org>
18704
18705 Build fixes for GNU/kFreeBSD.
18706
18707 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18708 to programs that require ZFS conversion.
18709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18710 kernels that don't have FLOPPY_MAJOR.
18711
96510faf
BC
187122010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18713
18714 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18715
449333eb
BC
187162010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18717
18718 Fix grub-emu build.
18719
18720 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18721 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18722 mdraid09 and mdraid1x.
18723
e1fd1939
CW
187242010-09-24 Colin Watson <cjwatson@ubuntu.com>
18725
18726 Re-enable grub-extras.
18727
18728 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18729 avoid confusing Automake. Run autogen only twice, once for the top
18730 level and once for grub-core. Add Makefile.util.def and
18731 Makefile.core.def from extra modules to the appropriate autogen
18732 invocations. If Makefile.common exists in an extra module, include
18733 it in both Makefile.util.am and grub-core/Makefile.core.am;
18734 similarly, include any Makefile.util.common file in Makefile.util.am
18735 and any Makefile.core.common file in grub-core/Makefile.core.am.
18736 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18737 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18738 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18739 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18740
18741 * gentpl.py (gvar_add): Turn GVARS into a set.
18742 (global_variable_initializers): Sort global variables on output.
18743 (vars_init): New function.
18744 (first_time): Likewise.
18745 (library): Ensure that non-global variable initialisations are
18746 emitted before the first time we emit code for a library block.
18747 Append to variables rather than setting them. Only emit
18748 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18749 each conditional path.
18750 (program): installdir() emits an Autogen macro, so must be passed to
18751 var_add rather than gvar_add.
18752 (data): Likewise.
18753 (script): Likewise.
18754 (rules): New function, centralising handling for different target
18755 types. Set up Guile association lists for first_time and vars_init,
18756 and send most output to a diversion so that variable initialisations
18757 can be emitted first.
18758 (module_rules): Use new rules function.
18759 (kernel_rules): Likewise.
18760 (image_rules): Likewise.
18761 (library_rules): Likewise.
18762 (program_rules): Likewise.
18763 (script_rules): Likewise.
18764 (data_rules): Likewise.
18765
18766 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18767
18768 * .bzrignore: Add contrib and grub-core/contrib. Remove
18769 grub-core/Makefile.gcry.am.
18770
1d12cf29
YB
187712010-09-24 Yves Blusseau <blusseau@zetam.org>
18772
18773 * grub-core/lib/LzFind.c: Add missing include.
18774 * grub-core/lib/LzmaEnc.c: Likewise.
18775 * grub-core/script/lexer.c: Likewise.
18776 * grub-core/script/yylex.l: Likewise.
18777 * util/grub-macho2img.c: Likewise.
18778 * util/grub-menulst2cfg.c: Likewise.
18779 * util/grub-mklayout.c: Likewise.
18780 * util/grub-mkpasswd-pbkdf2.c
18781 * util/grub-mkrelpath.c: Likewise.
18782 * util/resolve.c: Likewise.
18783
dd363028
BC
187842010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18785
18786 * Makefile.util.def (example_unit_test): Add
18787 grub-core/gnulib/libgnu.a.
18788
f5a109e2
GS
187892010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18790
18791 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18792
6d0fa83c
VS
187932010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 Support xz compression on yeeloong.
18796
18797 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18798 * configure.ac: Check for LZMA.
18799 * grub-core/Makefile.core.def (xz_decompress): New target.
18800 (none_decompress): Likewise.
18801 * grub-core/boot/decompressor/minilib.c: New file.
18802 * grub-core/boot/decompressor/none.c: Likewise.
18803 * grub-core/boot/decompressor/xz.c: Likewise.
18804 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18805 * grub-core/kern/mips/cache_flush.S: Likewise.
18806 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18807 * grub-core/kern/mips/startup.S: Move first stage to ...
18808 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18809 nomacro.
18810 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18811 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18812 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18813 Allocate statically.
18814 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18815 Allocate statically or use scratch. Don't check CRC32.
18816 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18817 Allocate statically. Don't check CRC32.
18818 * include/grub/decompressor.h: New file.
18819 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18820 Removed.
18821 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18822 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18823 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18824 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18825 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18826 * util/grub-mkimage.c (grub_compression_t): New type.
18827 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18828 (image_target_desc): New field default_compression.
18829 (image_targets): Adjust yeeloong targets.
18830 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18831 (compress_kernel): New parameter comp.
18832 (generate_image): Likewise. Handle new compression case.
18833 (options): New option --compression
18834 (help): Likewise.
18835 (main): Handle new option.
18836
1b655af6
GS
188372010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18838
18839 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18840
8f03f0b5
CW
188412010-09-22 Colin Watson <cjwatson@ubuntu.com>
18842
18843 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18844 typo in __i386__ conditional.
18845
7835dfd3
VS
188462010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18849 include.
18850
e255597e
VS
188512010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18852
6d0fa83c 18853 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18854
18855 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18856 new tags as supported.
18857 (acpiv2_size): New function.
18858 (grub_multiboot_get_mbi_size): Take new tags into account.
18859 (grub_multiboot_make_mbi): Add new tags.
18860 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18861
6cc14051 188622010-09-21 Aleš Nesrsta <starous@volny.cz>
18863
18864 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18865 Added missing configuration of USB device.
18866
df7769d8
CW
188672010-09-21 Colin Watson <cjwatson@ubuntu.com>
18868
18869 * grub-core/normal/menu_entry.c (run): Make sure we always return
18870 a value.
18871
b031012d
CW
188722010-09-21 Colin Watson <cjwatson@ubuntu.com>
18873
18874 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18875 NumberOfPages is UINT64 according to the UEFI specification, not
18876 UINTN. Fix printf format.
18877
174de8f3
CW
188782010-09-21 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18881 `err' to grub_usb_err_t.
18882 Reported and tested by: KESHAV P.R.
18883
d7dbe923
CW
188842010-09-21 Colin Watson <cjwatson@ubuntu.com>
18885
18886 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18887 tpart non-const, so that we can assign to it. (Since this is a
18888 typedef, the constness refers to the pointer rather than what it
18889 points to.)
18890
8d5e2af3
CW
188912010-09-21 Colin Watson <cjwatson@ubuntu.com>
18892
18893 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18894 $(top_srcdir)/grub-core/gnulib as well as
18895 $(top_builddir)/grub-core/gnulib.
18896 Reported by: KESHAV P.R.
18897
5c527783
CW
188982010-09-21 Colin Watson <cjwatson@ubuntu.com>
18899
18900 * util/grub-install.in: Fix the bootloader ID option to be
18901 consistently --bootloader-id, not --bootloader_id.
18902 Reported by: KESHAV P.R.
18903
d309a16e
CW
189042010-09-21 Colin Watson <cjwatson@ubuntu.com>
18905
18906 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18907 check hash checksum." consistently translatable.
18908
b830cd16
YB
189092010-09-21 Yves Blusseau <blusseau@zetam.org>
18910
18911 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18912 $(top_builddir).
18913
c4fe27a8
CW
189142010-09-21 Colin Watson <cjwatson@ubuntu.com>
18915
18916 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18917 (GRUB_MOD_INIT): Register sha1sum command.
18918 (GRUB_MOD_FINI): Unregister sha1sum command.
18919
a4c1d277
YB
189202010-09-21 Yves Blusseau <blusseau@zetam.org>
18921
18922 Keep boot and grub directory names in sync with utils scripts
18923
18924 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18925 * config.h.in: Add previous macros.
18926 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18927 * util/grub-install.in: Use $bootdir and $grubdir variables.
18928
4eff79d2
CW
189292010-09-21 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18932 convert partition names to disk names if the new `convert' parameter
18933 is set.
18934 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18935 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18936 disk in its own right. This can happen with Xen disk images.
18937
934d7e44
YB
189382010-09-21 Yves Blusseau <blusseau@zetam.org>
18939
18940 * util/grub-editenv.c: Update strings to avoid warnings when generating
18941 grub.pot file.
18942 * util/grub-setup.c: Likewise.
934d7e44 18943
df3367cc
VS
189442010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * configure.ac: Change version to 1.99~beta0.
18947
77a94e98
VS
189482010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18949
18950 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18951 Add BADRAM.
18952 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18953 Likewise.
18954 * include/multiboot.h: Resynced with specification.
18955 * include/multiboot2.h: Likewise.
18956
269004c1
CW
189572010-09-21 Colin Watson <cjwatson@ubuntu.com>
18958
18959 Fix po directory handling.
18960
18961 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18962 * grub-core/gnulib/Makefile.am: Import gettext module.
18963 * m4/gnulib-cache.m4: Likewise.
18964 * m4/gnulib-comp.m4: Likewise.
18965 * m4/gettext.m4: New file, from gnulib.
18966 * m4/glibc2.m4: Likewise.
18967 * m4/iconv.m4: Likewise.
18968 * m4/intdiv0.m4: Likewise.
18969 * m4/intl.m4: Likewise.
18970 * m4/intldir.m4: Likewise.
18971 * m4/intlmacosx.m4: Likewise.
18972 * m4/intmax.m4: Likewise.
18973 * m4/inttypes-pri.m4: Likewise.
18974 * m4/lcmessage.m4: Likewise.
18975 * m4/lib-ld.m4: Likewise.
18976 * m4/lib-link.m4: Likewise.
18977 * m4/lib-prefix.m4: Likewise.
18978 * m4/lock.m4: Likewise.
18979 * m4/nls.m4: Likewise.
18980 * m4/po.m4: Likewise.
18981 * m4/printf-posix.m4: Likewise.
18982 * m4/progtest.m4: Likewise.
18983 * m4/threadlib.m4: Likewise.
18984 * m4/uintmax_t.m4: Likewise.
18985 * m4/visibility.m4: Likewise.
18986 * po/Makefile.am: Remove.
18987 * po/Makefile.in.in: New file, from gettext.
18988 ($(DOMAIN).pot-update): Support POTFILES-shell.
18989 * po/Makevars: New file.
18990 * po/POTFILES-shell: Rename to ...
18991 * po/POTFILES-shell.in: ... this. Update.
18992 * po/POTFILES: Rename to ...
18993 * po/POTFILES.in: ... this. Update.
18994 * po/Rules-quot: New file, from gettext.
18995 * po/boldquot.sed: Likewise.
18996 * po/en@boldquot.header: Likewise.
18997 * po/en@quot.header: Likewise.
18998 * po/insert-header.sin: Likewise.
18999 * po/quot.sed: Likewise.
19000 * po/remove-potcdate.sin: Likewise.
19001
3e0fa5d0
VS
190022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19005
ade9bd66
VS
190062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * util/grub.d/20_linux_xen.in: Use submenus.
19009
fc55cc4c
VS
190102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 Support submenus.
19013
19014 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19015 parameter submenu. All users updated.
19016 * grub-core/normal/main.c (free_menu): Rename to ...
19017 (grub_normal_free_menu): ... this. Made global.
19018 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19019 if requested.
19020 * grub-core/normal/menu_entry.c (screen): New field submenu.
19021 (make_screen): Set submenu.
19022 (run): Open new context if requested.
19023 * include/grub/menu.h (grub_menu_entry): New field submenu.
19024 * include/grub/normal.h (grub_normal_free_menu): New proto.
19025
600cedf7
VS
190262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 Menu entries extractor.
19029
19030 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19031 variants.
19032 (GRUB_MOD_INIT): Register new variants.
19033 (GRUB_MOD_FINI): Unregister new variants.
19034 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19035 into grub_cmd_legacy_source.
19036 (grub_cmd_legacy_source): Implement extractor variants.
19037 (GRUB_MOD_INIT): Register new variants.
19038 (GRUB_MOD_FINI): Unregister new variants.
19039 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19040 as an extractor.
19041 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19042 search as an extractor.
19043 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19044 test as an extractor.
19045 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19046 as an extractor.
19047 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19048 (grub_env_new_context): New function.
19049 (grub_env_context_open): Likewise.
19050 (grub_env_extractor_open): Likewise.
19051 (grub_env_extractor_close): Likewise.
19052 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19053 grub_extractor_level.
19054 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19055 * include/grub/env.h (grub_env_extractor_open): New proto.
19056 (grub_env_extractor_close): Likewise.
19057 * include/grub/normal.h (grub_extractor_level): New external variable.
19058
7bda3a87
VS
190592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 Make cutmem accept a region specification.
19062 Suggested by: Samuel Thibault
19063
19064 * grub-core/mmap/mmap.c (parsemem): New function.
19065 (grub_cmd_cutmem): Handle new arguments.
19066
2ea57f88
VS
190672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 New command cutmem.
19070
19071 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19072 (GRUB_MOD_INIT): Register new command.
19073 (GRUB_MOD_FINI): Unregister new command.
19074
74342e31
VS
190752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 Support some annoying BSD and Minix subpartitions.
19078
19079 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19080 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19081 Properly handle concatenation.
19082 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19083 * grub-core/normal/completion.c (iterate_partition): Likewise.
19084 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19085 contain partition. All users updated.
19086 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19087 struct.
19088 (grub_openbsdlabel_partition_map): Likewise.
19089 (bsdlabel_partition_map_iterate): Rename to ..
19090 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19091 (bsdlabel_partition_map_iterate): New function.
19092 (netopenbsdlabel_partition_map_iterate): Likewise.
19093 (netbsdlabel_partition_map_iterate): Likewise.
19094 (openbsdlabel_partition_map_iterate): Likewise.
19095 (GRUB_MOD_INIT): Register new partmaps.
19096 (GRUB_MOD_FINI): Unregister new partmaps.
19097 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19098 (grub_partition_msdos_iterate): ... this. All users updated.
19099 Don't support embedding other than in a minix partition.
19100 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19101 proto.
19102 * include/grub/partition.h (grub_partition): New field msdostype.
19103 * util/grub-install.in: Handle openbsd and netbsd types being in
19104 part_bsd module.
19105
1e8d555b
VS
191062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19109
19110 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19111 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19112 (mdraid09): ... this.
19113 (mdraid1x): New module.
19114 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19115 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19116
899d8af4
VS
191172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19120 vsprintf.
19121
40901acd
CW
191222010-09-20 Colin Watson <cjwatson@ubuntu.com>
19123
19124 * grub-core/commands/efi/lsefimmap.c: Correct header.
19125 * NEWS: Update.
19126
dfe3b247
CW
191272010-09-20 Colin Watson <cjwatson@ubuntu.com>
19128
19129 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19130 as printf format strings; the translations might contain '%' which
19131 could cause a crash.
19132 (main): Likewise.
19133 * util/grub-fstest.c (argp_parser): Likewise.
19134 * util/grub-setup.c (argp_parser): Likewise.
19135 (main): Likewise.
19136
3286a4b4
VS
191372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19138
19139 Use argp in grub-fstest.
19140
19141 * util/grub-fstest.c: Don't include getopt.h.
19142 Include argp.h.
19143 (root): New variable.
19144 (args_count): Likewise.
19145 (nparm): Likewise.
19146 (num_disks): Likewise.
19147 (images): Likewise.
19148 (cmd): Likewise.
19149 (debug_str): Likewise.
19150 (args): Likewise.
19151 (options): Transformed to argp.
19152 (usage): Removed.
19153 (main): Split argument parsing into ...
19154 (argp_parser): ... this. Changed to argp format.
19155 (argp): New variable.
19156 (main): Use argp_parse.
19157
3dccbe4b
TG
191582010-09-20 Tristan Gingold <gingold@free.fr>
191592010-09-20 Robert Millan <rmh.grub@aybabtu.com>
191602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * grub-core/commands/efi/lsefimmap.c: New file.
19163 * grub-core/Makefile.core.def (lsefimmap): New module.
19164 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19165
38c259a7
VS
191662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 Pause the execution (10s max) if any errors are displayed so the user
19169 has a chance to see them.
19170
19171 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19172 (grub_print_error): Increment grub_err_printed_errors.
19173 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19174 execution if any errors were displayed.
19175 (show_menu): Remove old code for pause.
19176 * grub-core/normal/menu_entry.c (run): Likewise.
19177 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19178 users updated.
19179 (grub_normal_get_char_counter): Likewise.
19180 * include/grub/err.h (grub_err_printed_errors): New external variable.
19181 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19182
f218b09c
VS
191832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 Support multiboot VBE info.
19186
19187 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19188 Take VBE info into account.
19189 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19190 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19191 Call fill_vbe_info when appropriate.
19192 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19193 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19194 as supported.
19195 (grub_multiboot_get_mbi_size): Take new tags into account.
19196 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19197 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19198 Call fill_vbe_tag when appropriate.
19199 (grub_multiboot_make_mbi): Properly align tags.
19200 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19201 function.
19202 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19203 proto.
19204 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19205
a9cc5438
VS
192062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 Suport manual terminal geometry specification.
19209
19210 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19211 Save state in grub_ofconsole_terminfo_output.
19212 (grub_ofconsole_term): Use grub_terminfo_getwh.
19213 (grub_ofconsole_getwh): Removed.
19214 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19215 (grub_serial_term): Use grub_terminfo_getwh.
19216 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19217 (options): New struct.
19218 (OPTION_*): New enum.
19219 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19220 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19221 width and height.
19222 (grub_terminfo_getwh): New proto.
19223 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19224
1a8fed20
VS
192252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 Handle legacy "terminal" command.
19228
19229 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19230 and FLAG_TERMINAL.
19231 (legacy_commands): Add terminal and title.
19232 (grub_legacy_parse): Handle terminal. Simplify title handling.
19233
41e9c57d
VS
192342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19237 parameters overflow.
19238
61c874c5
CW
192392010-09-20 Colin Watson <cjwatson@ubuntu.com>
19240
19241 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19242 widthspec.h.
19243
19244 * docs/grub.texi (Shell-like scripting): Document `!'.
19245 (Network): Simplify using new i386-pc-pxe format. Mention
19246 grub-mknetdir.
19247
19248 * NEWS: Update.
19249
943682b4
CW
192502010-09-20 Colin Watson <cjwatson@ubuntu.com>
19251
19252 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19253 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19254 when needed.
19255
6d3d698d
CW
192562010-09-20 Colin Watson <cjwatson@ubuntu.com>
19257
19258 * grub-core/commands/efi/lsefisystab.c: Correct header.
19259 * grub-core/commands/efi/lssal.c: Likewise.
19260 * grub-core/commands/testload.c: Likewise.
19261
c982589f
CW
192622010-09-20 Colin Watson <cjwatson@ubuntu.com>
19263
19264 * util/grub-mkrescue.in: Add explicit root argument to --set to
19265 prevent the UUID being interpreted as an argument to --set (matches
19266 previous change to prepare_grub_to_access_device).
19267
a63c31b6
CW
192682010-09-20 Colin Watson <cjwatson@ubuntu.com>
19269
19270 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19271 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19272 the verbosity of later #ifs.
19273 (find_partition_start): Define this function on FreeBSD too.
19274 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19275 function.
19276 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19277 on FreeBSD.
19278
6439b8ee
YB
192792010-09-20 Yves Blusseau <blusseau@zetam.org>
19280
19281 * util/grub-editenv.c: Use argp instead of getopt.
19282
c5930ec8
YB
192832010-09-20 Yves Blusseau <blusseau@zetam.org>
19284
19285 * util/grub-setup.c: Use argp instead of getopt.
19286
15c69261
YB
192872010-09-20 Yves Blusseau <blusseau@zetam.org>
19288
19289 Use gnulib-tool to create gnulib source files.
19290
19291 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19292 grub-core/gnulib directories
19293 * .bzignore: Add **/.deps and autogenerated gnulib files
19294 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19295 of gnulib macros, add grub-core/gnulib/Makefile
19296 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19297 include m4 directory to aclocal.
19298 * Makefile.util.def: Remove direct compilation of gnulib source files
19299 and use the new grub-core/gnulib/libgnu.a.
19300 * build-aux/config.rpath: move config.rpath from top directory to
19301 build-aux
19302 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19303 in gnulib headers
19304 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19305 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19306 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19307 header.
19308 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19309 string.
19310
e511c9f5
YB
193112010-09-20 Yves Blusseau <blusseau@zetam.org>
19312
19313 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19314 grub-core/genmod.sh and grub-core/gensyminfo.sh
19315
c2dede05
BC
193162010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19317
19318 Add a test for echo command options.
19319
19320 * tests/grub_cmd_echo.in: New test.
19321 * Makefile.util.def: Rules for new test.
19322
c55f5018
SJ
193232010-09-20 Szymon Janc <szymon@janc.net.pl>
19324
19325 Remove crc.mod and move crc command to hashsum.mod.
19326 Remove lib/crc.c - users updated to use gcrypt implementation.
19327
19328 * grub-core/commands/crc.c: Removed.
19329 * grub-core/Makefile.core.def (crc): Module removed.
19330 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19331 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19332 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19333 * grub-core/lib/crc.c: Removed.
19334 * include/grub/lib/crc.h: Removed.
19335 * Makefile.util.def (crc): Remove lib/crc.c
19336 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19337 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19338 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19339 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19340 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19341 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19342
e0337366
VS
193432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19346
742f9232
VS
193472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Split config.h for util and core.
19350
19351 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19352 (ADDR32): Likewise.
19353 (DATA32): Likewise.
19354 (BSS_START_SYMBOL): Likewise.
19355 (END_SYMBOL): Likewise.
19356 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19357 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19358 * config.h.in: New file.
19359 * configure.ac: Use config-util.h as config define file.
19360 Rename MACHINE into GRUB_MACHINE. All users updated.
19361 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19362 updated.
19363 (NESTED_FUNC_ATTR): Likewise.
19364 Substitue new variables.
19365 (COND_HAVE_ASM_USCORE): New conditional.
19366 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19367 (kernel_syms.lst): Use ASM_PREFIX.
19368 * grub-core/kern/emu/console.c: Include config-util.h.
19369 * grub-core/kern/emu/misc.c: Likewise.
19370 * grub-core/kern/emu/mm.c: Likewise.
19371 * include/grub/emu/misc.h: Likewise.
19372 * include/grub/libgcc.h: Likewise.
19373
39feb0e8
VS
193742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19377 constants usage.
19378 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19379 Fix GRUB_TERM_KEY_* constants usage.
19380 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19381
9af6dac3
VS
193822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19385 print pointer.
19386 * grub-core/bus/usb/uhci.c: Remove empty define.
19387 (grub_uhci_check_transfer): Add missing cast.
19388 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19389 print pointer.
19390 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19391 PRIuGRUB_SIZE.
19392 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19393
d6d94820
VS
193942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * grub-core/Makefile.core.def (legacycfg): Add
19397 lib/i386/pc/vesa_modes_table.c on emu.
19398
3572f2b6
BC
193992010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19400
19401 Reduce number of temporary files generated by build system.
19402
19403 * grub-core/gencmdlist.sh: Removed.
19404 * grub-core/genfslist.sh: Removed.
19405 * grub-core/genhandlerlist.sh: Removed.
19406 * grub-core/genmodsrc.sh: Removed.
19407 * grub-core/genpartmaplist.sh: Removed.
19408 * grub-core/genparttoollist.sh: Removed.
19409 * grub-core/gentermiinallist.sh: Removed.
19410 * grub-core/genvideolist.sh: Removed.
19411
19412 * grub-core/genmod.sh.in: New file.
19413 * grub-core/gensyminfo.sh.in: New file.
19414
19415 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19416 * conf/Makefile.extra-dist: Update with new files.
19417 * gentpl.py: Remove rules related to unnecessary temporary files.
19418 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19419 and und-* files.
19420 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19421 genmod.sh scripts.
19422 * grub-core/bus/usb/uhci.c: Remove empty #define.
19423 * grub-core/genmoddep.awk: Updated with new syminfo format.
19424 * util/bash-completion.d/Makefile.am: Add config.log to
19425 CLEANFILES.
19426
c836b030
YB
194272010-09-19 Yves Blusseau <blusseau@zetam.org>
19428
19429 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19430
2f4e8053
BC
194312010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19432
19433 * util/grub-mkconfig.in: Check the config script for syntax errors
19434 before saving.
19435
75831c34
CW
194362010-09-19 Colin Watson <cjwatson@ubuntu.com>
194372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19440 platforms.
19441 * util/grub-install.in: Add EFI and IEEE1275 support.
19442 * util/i386/efi/grub-install.in: Removed.
19443 * util/ieee1275/grub-install.in: Likewise.
19444
eaf41b25
VS
194452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19448 (grub_cmd_cmosclean): Likewise.
19449 (GRUB_MOD_INIT): Register command cmosclean.
19450 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19451 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19452
1a9130dd
CPE
194532010-09-18 Carles Pina i Estany <carles@pina.cat>
194542010-09-18 Aleš Nesrsta <starous@volny.cz>
194552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Add keyboard layouts support.
19458
19459 * Makefile.util.def (grub-mklayout): New file.
19460 (grub-kbdcomp): New script.
19461 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19462 Add keyboard_layouts.h.
19463 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19464 commands/boot.c on yeeloong.
19465 (keylayouts): New module.
19466 * grub-core/bus/usb/ohci.c
19467 * grub-core/bus/usb/uhci.c
19468 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19469 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19470 (attach_root_port): Likewise.
19471 (poll_nonroot_hub): Likewise.
19472 (grub_usb_poll_devices): Likewise.
19473 (detach_device): Close transfer.
19474 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19475 function.
19476 (grub_usb_bulk_setup_readwrite): Likewise.
19477 (grub_usb_bulk_finish_readwrite): Likewise.
19478 * grub-core/commands/keylayouts.c: New file.
19479 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19480 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19481 aliases.
19482 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19483 support scancode 2.
19484 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19485 * include/grub/keyboard_layouts.h: New file.
19486 * util/grub-mklayout.c: New file.
19487 * util/grub-kbdcomp.in: Likewise.
19488
a1d84a5e
VS
194892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 Unify memory types.
19492
19493 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19494 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19495 types.
19496 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19497 (grub_upper_mem): Likewise.
19498 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19499 * include/grub/memory.h (grub_memory_type_t): New enum.
19500 All users updated.
19501
9696382e
VS
195022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19503
19504 * grub-core/Makefile.core.def (lsapm): New module.
19505 * grub-core/commands/i386/pc/lsapm.c: New file.
19506 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19507 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19508 Likewise.
19509 * include/grub/i386/pc/apm.h: New file.
19510 * include/multiboot.h (multiboot_apm_info): New struct.
19511
195122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 GRUB-legacy configuration file support.
19515
19516 * Makefile.util.def (grub-menulst2cfg): New util.
19517 * docs/man/grub-menulst2cfg.h2m: New file.
19518 * grub-core/Makefile.core.def (legacycfg): New module.
19519 * grub-core/commands/legacycfg.c: New file.
19520 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19521 (grub_normal_add_menu_entry): ... this.
19522 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19523 (grub_normal_set_password): ...this.
19524 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19525 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19526 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19527 * grub-core/lib/legacy_parse.c: New file.
19528 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19529 * include/grub/i386/pc/vesa_modes_table.h: New file.
19530 * include/grub/legacy_parse.h: Likewise.
19531 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19532 * util/grub-menulst2cfg.c: New file.
19533
bf8d1338
CW
195342010-09-17 Colin Watson <cjwatson@ubuntu.com>
19535
19536 * grub-core/kern/emu/hostdisk.c
19537 (convert_system_partition_to_system_disk): Initialise node.
19538
9c0bad2e
CW
195392010-09-17 Colin Watson <cjwatson@ubuntu.com>
19540
19541 * grub-core/kern/emu/hostdisk.c
19542 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19543 leak.
19544 Reported and based on patch by: Modestas Vainius.
19545
a939d135
CW
195462010-09-17 Colin Watson <cjwatson@ubuntu.com>
19547
19548 Fix DM-RAID probing with recent versions of device-mapper udev
19549 rules.
19550
19551 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19552 canonicalise device paths under /dev/mapper/.
19553 (convert_system_partition_to_system_disk): Compare the
19554 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19555 path, since device nodes under /dev/mapper/ are often symlinks.
19556
0f7ee3c9
YB
195572010-09-17 Yves Blusseau <blusseau@zetam.org>
19558
19559 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19560
10854d0d
YB
195612010-09-16 Yves Blusseau <blusseau@zetam.org>
19562
19563 * configure.ac: Avoid some annoying error messages if freetype-config
19564 program is not found.
19565
108538d8
CW
195662010-09-16 Colin Watson <cjwatson@ubuntu.com>
19567
19568 Support RAID on virtio devices, and others.
19569
19570 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19571 Rename to ...
19572 [__MINGW32__] (grub_find_device): ... this.
19573 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19574 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19575 reasonable default if dir is NULL.
19576 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19577 ...
19578 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19579 (grub_guess_root_device): Update callers.
19580 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19581
19582 * util/raid.c (grub_util_getdiskname): Remove.
19583 (grub_util_raid_getmembers): Use grub_find_device rather than
19584 grub_util_getdiskname.
19585
e5bfc130
CW
195862010-09-16 Colin Watson <cjwatson@ubuntu.com>
19587
19588 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19589 needing to be compiled with serial support.
19590 (ls): Indicate that multiple files are accepted.
19591 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19592 indicate that multiple files are accepted.
19593
be458ae2
CW
195942010-09-16 Colin Watson <cjwatson@ubuntu.com>
19595
19596 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19597 libgrub_a_init.c, and util/bash-completion.d/grub.
19598
cb731b5e
VS
195992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 * util/grub-setup.c (setup): Fix incorrect container semantics.
19602
35139e8a
VS
196032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19604
19605 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19606 misusage.
19607 Reported by: J. Nick Terry
19608
e50fca4a
VS
196092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Move embedding routines to partmap sources files.
19612
19613 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19614 [GRUB_UTIL]: New variable.
19615 (gpt_partition_map_iterate): Set part.parent.
19616 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19617 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19618 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19619 New function.
19620 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19621 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19622 (grub_partition_map) [GRUB_UTIL]: New field embed.
19623 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19624 (setup): Use ->embed.
19625
f00478b7
VS
196262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19629 function.
19630 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19631 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19632
2b94e3ff
YB
196332010-09-15 Yves Blusseau <blusseau@zetam.org>
19634
19635 Add function to get completions from usage.
19636
19637 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19638 completions from usage. Use LC_ALL=C to get options properly.
19639
2e04a006
VS
196402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 * grub-core/gnulib/basename-lgpl.c: Imported.
19643 * grub-core/gnulib/basename.c: Likewise.
19644 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19645 * grub-core/gnulib/dirname.c: Likewise.
19646 * grub-core/gnulib/dirname.h: Likewise.
19647 * grub-core/gnulib/stripslash.c: Likewise.
19648
5dcdf93a
VS
196492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * grub-core/gnulib/error.c: Resynced.
19652 * grub-core/gnulib/getopt.c: Likewise.
19653 * grub-core/gnulib/getopt_int.h: Likewise.
19654 * grub-core/gnulib/regex.h: Likewise.
19655 * grub-core/gnulib/regex_internal.c: Likewise.
19656 * grub-core/gnulib/regex_internal.h: Likewise.
19657
014f47b7
SJ
196582010-09-15 Szymon Janc <szymon@janc.net.pl>
19659
19660 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19661 CRC calculations and validity checks.
19662 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19663 calculations.
19664
dd521a4a
SJ
196652010-09-15 Szymon Janc <szymon@janc.net.pl>
19666
19667 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19668
79c4eeb9
VS
196692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Fix incorrect echo options handling.
19672 Reported by: Yves Blusseau.
19673
19674 * include/grub/command.h (grub_command_flags_t): New flags
19675 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19676 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19677 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19678
ed80f7d5
VS
196792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19680
19681 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19682 users updated.
19683 (GRUB_COMMAND_FLAG_MENU): Likewise.
19684 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19685 (GRUB_COMMAND_FLAG_TITLE): Removed.
19686 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19687 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19688 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19689 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19690 (grub_command_flags_t): New enum. All users updated.
19691
5fe7620a
SG
196922010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19693
19694 Fix solaris compilation.
19695
19696 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19697 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19698 (grub-emu-list): Likewise.
19699
545b752f
VS
197002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 Remove deprecated root command.
19703
19704 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19705 updated.
19706
6c1a338c
VS
197072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19708
19709 * util/i386/pc/grub-setup.c: Merge this ...
19710 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19711 * util/grub-setup.c: ... into this.
19712 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19713 New struct.
19714
197152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19716
19717 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19718 possible.
19719
d2ea4551
VS
197202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19721
19722 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19723 allocate p.
19724
3c3b5040
VS
197252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19728 explicit root argument to set to prevent UUID to be interpreted as
19729 argument to set.
19730
b71c3fae
VS
197312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19734
275433e6
VS
197352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 Don't export grub_gate_a20.
19738
19739 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19740 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19741 to ...
19742 (grub_gate_a20): ... this. All users updated.
19743 * include/grub/i386/pc/init.h: Removed. All users updated.
19744
a5dbb1f1
VS
197452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 Create euro.pf2 which supports most European languages.
19748
19749 * Makefile.am (grubdata_DATA): Add euro.pf2.
19750 (euro.pf2): New target.
19751 (CLEANFILES): Add euro.pf2.
19752
62a747cb
VS
197532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * configure.ac: Disable emu-usb by default to prevent inadvertent
19756 device takeover.
19757
608e43b1
VS
197582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 Disable usbserial on grub-emu since our libusb code isn't good enough
19761 yet.
19762
19763 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19764 (usbserial_pl2303): Likewise.
19765 (usbserial_ftdi): Likewise.
19766
94564f81
VS
197672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 * include/grub/disk.h (grub_disk): Remove has_partitions.
19770 All users updated.
19771 * disk/loopback.c (grub_loopback): Remove has_partitions.
19772 All users updated.
19773 (options): Remove partitions. All users updated.
19774 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19775 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19776 actual partition table is found.
19777
3352800b
VS
197782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 Remove readability checks (too many false negatives).
19781
19782 * util/grub-install.in: Remove readability checks.
19783 * util/grub-mkconfig.in: Likewise.
19784 * util/grub.d/10_hurd.in: Likewise.
19785 * util/grub.d/10_kfreebsd.in: Likewise.
19786 * util/grub.d/10_linux.in: Likewise.
19787 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19788 way.
19789
2419f17a
VS
197902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 Enable acpi shutdown on all ACPI platforms.
19793
19794 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19795 on coreboo, multiboot and EFI.
19796 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19797 (grub_acpi_halt): Likewise.
19798 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19799 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19800 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19801 * grub-core/lib/i386/halt.c (grub_halt)
19802 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19803
0575c7c3
VS
198042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19807 context.
19808
54ac3cd1
VS
198092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19810
19811 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19812 * grub-core/video/efi_uga.c: Likewise.
19813
b2a30ac5
VS
198142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19815
19816 Filter devaliases and never open same device twice.
19817
19818 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19819 (last_ihandle): Likewise.
19820 (ofdisk_hash_ent): New member shortest.
19821 (ofdisk_hash_add): Add canonical path too.
19822 (scan): New function.
19823 (grub_ofdisk_iterate): Iterate over hashed entries.
19824 (compute_dev_path): Don't add :0.
19825 (grub_ofdisk_open): Don't really open the disk.
19826 (grub_ofdisk_close): Avoid closing unrelated disk.
19827 (grub_ofdisk_read): Implement reopen logic.
19828 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19829 New function.
19830 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19831 New proto.
19832
fb53b340
VS
198332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 Fix sparc64.
19836
19837 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19838 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19839 right address. Add sparc64_ieee1275_ldflags.
19840 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19841 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19842 to grub_host_to_target_addr
19843 (load_image): Likewise.
19844
f452b040
VS
198452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * grub-core/normal/completion.c (complete_file): Handle device
19848 containing slash.
19849 Fix based on patch by Doug Nazar.
19850
9b5b2541
VS
198512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 grub-mknetdir script.
19854
19855 * Makefile.util.def (grub-mknetdir): New module.
19856 * tests/util/grub-shell.in: Support boot=net
19857 * util/grub-mknetdir.in: New file.
19858
9d2be652
VS
198592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 videoinfo on non-vbe.
19862
19863 * grub-core/Makefile.core.def (vbeinfo): Removed.
19864 (vbetest): Removed.
19865 (videoinfo): New module.
19866 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19867 * grub-core/commands/i386/pc/vbetest.c: Removed.
19868 * grub-core/commands/videoinfo.c: New file.
19869 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19870 specification.
19871 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19872 as vbetest.
19873 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19874 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19875 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19876 mode_number. New parameter mode. All users updated.
19877 (grub_video_gop_iterate): New function.
19878 (grub_video_efi_gop): New member iterate.
19879 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19880 (grub_vbe_set_video_mode): Remove setting useless fields.
19881 (vbe2videoinfo): New function.
19882 (grub_video_vbe_iterate): Likewise.
19883 (grub_video_vbe_setup): Use vbe2videoinfo.
19884 (grub_video_vbe_print_adapter_specific_info): New function.
19885 (grub_video_vbe_adapter): New fields iterate and
19886 print_adapter_specific_info.
19887 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19888 All users updated.
19889 (grub_video_mode_info): New field mode_number.
19890 (grub_video_adapter): New fields iterate and
19891 print_adapter_specific_info.
19892
179503f5
TG
198932010-09-13 Tristan Gingold <gingold@free.fr>
198942010-09-13 Robert Millan <rmh.grub@aybabtu.com>
198952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 * grub-core/commands/efi/lsefisystab.c: New file.
19898 * grub-core/commands/efi/lssal.c: Likewise.
19899 * grub-core/Makefile.core.def (lsacpi): New module.
19900 (lsefisystab): Likewise.
19901 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19902 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19903 (grub_efi_sal_system_table): New struct.
19904 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19905 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19906 (grub_efi_sal_system_table_platform_features): Likewise.
19907 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19908 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19909 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19910 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19911
cf9827de
VS
199122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 Support explicit user claim that a device is BIOS-visible.
19915
19916 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19917 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19918 * grub-core/kern/emu/hostdisk.c
19919 (convert_system_partition_to_system_disk): Support mdX.
19920 (find_system_device): New parameter add. All users updated.
19921 (grub_util_biosdisk_is_present): New function.
19922 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19923 proto.
19924
53f0eb1f
VS
199252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 Search hints support.
19928
19929 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19930 All users updated.
19931
b23ffd70
YB
199322010-09-13 Yves Blusseau <blusseau@zetam.org>
19933
19934 Bash completion script for util commands
19935
19936 * Makefile.am: Add util/bash-completion.d directory
19937 * configure.ac: Likewise.
19938 * util/bash-completion.d/Makefile.am: New file.
19939 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19940
d547dc28
VS
199412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19944 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19945 Reported by: Yves Blusseau.
19946
2fc8ccb9
VS
199472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19950 partition size and offset.
19951
d8a84076
VS
199522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19953
19954 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19955
84fb3b3d
VS
199562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19959
768ec2e2
VS
199602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19963 (grub_xvasprintf): Likewise.
19964
4870900f
VS
199652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19968
faca6bec
VS
199692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19972 args ending with NULL.
19973
199742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19975
19976 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19977 pointer.
19978
3c70f225
SJ
199792010-09-11 Szymon Janc <szymon@janc.net.pl>
19980
19981 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19982
4df7996d
VS
199832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 Shutdown using ACPI.
19986
19987 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19988 * grub-core/commands/acpihalt.c: New file.
19989 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19990 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19991 (grub_acpi_halt): New proto.
19992 (GRUB_ACPI_SLP_EN): New const.
19993 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19994 (GRUB_ACPI_OPCODE_*): New enum.
19995 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19996
126b4c32
TG
199972010-09-11 Tristan Gingold <gingold@free.fr>
199982010-09-11 Robert Millan <rmh.grub@aybabtu.com>
199992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * commands/lsacpi.c: New file.
20002 * grub-core/Makefile.core.def (lsacpi): New module.
20003 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20004 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20005 (grub_acpi_madt_entry_header): New struct.
20006 (grub_acpi_madt): Likewise.
20007 (grub_acpi_madt_entry_interrupt_override): Likewise.
20008 (grub_acpi_madt_entry_sapic): Likewise.
20009 (grub_acpi_madt_entry_lsapic): Likewise.
20010 (grub_acpi_madt_entry_platform_int_source): Likewise.
20011 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20012 (PRIuGRUB_UINT32_T): Likewise.
20013 (PRIxGRUB_UINT64_T): Likewise.
20014
1aa4fe88
VS
200152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 Implement loading palette on ieee1275_fb.
20018
20019 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20020 (have_setcolors): Likewise.
20021 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20022 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20023 (grub_video_ieee1275_set_palette): Implement.
20024
25761e13
VS
200252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
200262010-09-11 Colin Watson <cjwatson@ubuntu.com>
20027
20028 * util/grub-install.in (grub_partition): New variable.
20029 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20030 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20031 Fixes a bug reported by Yves Blusseau.
20032
050abaea
VS
200332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 Fix emu on mipsel.
20036
20037 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20038 =grub_cpu_flush_cache on all mips and not only yeeloong.
20039 * configure.ac (COND_mips): New conditional.
20040 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20041 platforms.
20042 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20043 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20044 [GRUB_LINKER_HAVE_INIT]: New function.
20045 (grub_emu_post_init): Likewise.
20046 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20047 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20048 * include/grub/cache.h (_mips): Include mips/cache.h.
20049 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20050 LVM and RAID prototypes.
20051 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20052 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20053 function.
20054
5ed7d816
CW
200552010-09-10 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * util/grub-install.in: Don't try to verify core.img until after
20058 running grub-mkimage to create it.
20059
90367e04
RM
200602010-09-10 Robert Millan <rmh@gnu.org>
20061
20062 * util/grub.d/10_hurd.in: Add misc readability checks.
20063 * util/grub.d/10_kfreebsd.in: Likewise.
20064 * util/grub.d/10_linux.in: Likewise.
20065
c452fa66
CW
200662010-09-10 Colin Watson <cjwatson@ubuntu.com>
20067
20068 * util/grub-install.in: ${imgext} won't be defined here until the
20069 install branch is merged. For the meantime, only verify core.img on
20070 i386-pc and sparc64-ieee1275 platforms.
20071
c38fe9f4
RM
200722010-09-10 Robert Millan <rmh@gnu.org>
20073
20074 Solaris support in grub_find_zpool_from_dir(). Thanks
20075 Seth Goldberg for referring to getextmntent() facility.
20076
20077 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20078 `sys/mkdev.h'.
20079 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20080 `<sys/mnttab.h>'.
20081 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20082 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20083 method for finding zpool name.
20084
905f7773
CW
200852010-09-10 Colin Watson <cjwatson@ubuntu.com>
20086
20087 grub-fstest needs the host and hostfs modules while other utilities
20088 actively require those modules to be absent, so grub-fstest needs
20089 its own initialisation and finalisation code.
20090
20091 * Makefile.am (grub_fstest.pp): New target.
20092 (grub_fstest_init.lst): Likewise.
20093 (grub_fstest_init.c): Likewise.
20094 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20095
fb90b546
RM
200962010-09-10 Robert Millan <rmh@gnu.org>
20097
20098 * configure.ac: Check for `struct statfs.f_fstypename' and
20099 `struct statfs.f_mntfromname'.
20100
20101 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20102 kFreeBSD-specific code.
20103
66d4bea5
RM
201042010-09-10 Robert Millan <rmh@gnu.org>
20105
20106 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20107 on ZFS. Now non-main filesystems are supported as / too.
20108
b6a690ee
CW
201092010-09-09 Colin Watson <cjwatson@ubuntu.com>
20110
20111 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20112 and grub-core/disk/host.c to ...
20113 (grub-fstest): ... here. Having the host disk implementation
20114 present confuses grub-probe and other utility programs.
20115
20116 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20117 when writing to a file, not when writing to stdout.
20118
8901b00c 201192010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20120
20121 * tests/partmap_test.in: New test for partitions.
20122 * Makefile.util.def: Rules for new test.
20123
7bf45fdd
RM
201242010-09-09 Robert Millan <rmh@gnu.org>
20125
20126 * util/grub-probe.c (probe): Fix a pair of unhandled error
20127 conditions.
20128
4dfbc574
RM
201292010-09-09 Robert Millan <rmh@gnu.org>
20130
20131 Basic Btrfs support (detection and UUID).
20132
20133 * grub-core/fs/btrfs.c: New file.
20134 * Makefile.util.def (library): Register btrfs.c.
20135 * grub-core/Makefile.core.def: Likewise.
20136
6b8e78ae
RM
201372010-09-08 Robert Millan <rmh@gnu.org>
20138
20139 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20140 with (optional) parameters to specify device and relative path.
20141 * util/grub-install.in: Use is_path_readable_by_grub() to
20142 verify readability of a few critical files.
20143 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20144 verify readability of grub.cfg.new.
20145
27f21a8b
VS
201462010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 Split minix.mod into minix.mod and minix2.mod.
20149
20150 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20151 * grub-core/Makefile.core.def (minix2): New module.
20152 * grub-core/fs/minix.c: Use definitions instead of runtime version
20153 checking.
20154 * grub-core/fs/minix2.c: New file.
20155
c0e53ea5
YB
201562010-09-08 Yves Blusseau <blusseau@zetam.org>
20157
20158 Add new --boot-directory option to replace --root-directory
20159
20160 * util/grub-install.in: Add new --boot-directory option
20161 * util/grub-reboot.in: Likewise.
20162 * util/grub-set-default.in: Likewise.
20163
b9fe6ea2
YB
201642010-09-08 Yves Blusseau <blusseau@zetam.org>
20165
20166 * util/grub-mkconfig.in: Use new variable.
20167
d87aedff
YB
201682010-09-08 Yves Blusseau <blusseau@zetam.org>
20169
20170 * configure.ac: Define some useful variables.
20171
e55e8495
VS
201722010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20175 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20176 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20177 Use terminfo and don't use cursor-on/cursor-off unless it's known
20178 to work.
20179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20180 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20181
6fa6d675
CW
201822010-09-08 Colin Watson <cjwatson@ubuntu.com>
20183
20184 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20185 starts with "(,", fill the drive containing the loaded image in
20186 between those two characters, but expect that a full partition
20187 specification including partition map names will follow.
20188
92f2aef0
RM
201892010-09-08 Robert Millan <rmh@gnu.org>
20190
20191 * configure.ac: Remove `--enable-grub-fstest' option.
20192 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20193
20194 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20195 `grub-fstest' instead of `grub-probe' for readability verification.
20196 * util/grub-probe.c (probe): Remove readability verification kludge.
20197
99fd620d
RM
201982010-09-08 Robert Millan <rmh@gnu.org>
20199
20200 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20201 initializing `GRUB_FS'.
20202
058e30ac 202032010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20204
20205 Not command (!) support to GRUB script.
20206
20207 * tests/grub_script_not.in: New test.
20208 * Makefile.util.def: Rules for new test.
20209
20210 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20211 ! command as a special case.
20212 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20213
b61d05ed 202142010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20215
058e30ac 20216 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20217 grub_free.
b61d05ed 20218
4d69c786 202192010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20220
20221 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20222
aa3119c4 202232010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20224
20225 * docs/grub.texi (Shell-like scripting): Documentation for break,
20226 continue, shift and return commands.
20227
db0f7e3d
VS
202282010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 Rename CD-ROM to cd on BIOS.
20231
20232 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20233 "cd".
20234 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20235
88b87c93
VS
202362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20239 * util/grub-probe.c (main): Likewise.
20240 * util/i386/pc/grub-setup.c (main): Likewise.
20241 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20242 Reported and debugged by: alexxy
20243
294f324d
VS
202442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20247 diagnostic info.
20248
d7ee3441
JS
202492010-09-05 Jo Shields <directhex@apebox.org>
20250
20251 * util/grub.d/30_os-prober.in: Add missing classes.
20252
d7e06c1f
VS
202532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * docs/grub.texi (Theme file format): Document new position format.
20256
fc157e53
VS
202572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20260 a table. Use @code instead of @verbatim.
20261
506e9a1c
CB
202622010-09-05 Colin D Bennett <colin@gibibit.com>
20263
20264 Gfxmenu documentation.
20265
20266 * docs/grub.texi (Theme file format): New chapter.
20267
f0aff67c
SJ
202682010-09-05 Szymon Janc <szymon@janc.net.pl>
20269
20270 * grub-core/Makefile.core.def (xzio): New module.
20271 * grub-core/io/xzio.c: New file.
20272 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20273 * grub-core/lib/xzembed/xz_config.h: Likewise.
20274 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20275 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20276 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20277 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20278 * grub-core/lib/xzembed/xz_private.h: Likewise.
20279 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20280 * include/grub/file.h (grub_file_filter_id): New compression filter
20281 GRUB_FILE_FILTER_XZIO.
20282
82a85062
VS
202832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20286 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20287 size.
20288
3579415d
VS
202892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20292 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20293
5124ae6d
VS
202942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 Uncompressed checksum support.
20297
20298 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20299 (check_list): New parameter uncompress.
20300 (grub_cmd_hashsum): Handle --uncompress.
20301
9aadb3d1
VS
203022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20303
20304 Reintroduce testload.
20305
20306 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20307 from here ...
20308 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20309 (GRUB_MOD_INIT): New function.
20310 (GRUB_MOD_FINI): Likewise.
20311 * grub-core/Makefile.core.def (testload): New module.
20312
a17792c3
SJ
203132010-09-05 Szymon Janc <szymon@janc.net.pl>
20314
20315 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20316 (uint8_t): New type.
20317 (uint16_t): Likewise.
20318 (uint32_t): Likewise.
20319 (uint64_t): Likewise.
20320
b81e40a3
SJ
203212010-09-05 Szymon Janc <szymon@janc.net.pl>
20322
20323 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20324
fc2ef117
VS
203252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20328 Made static.
20329 (grub_gzfile_open): Removed. All users updated.
20330 (GRUB_MOD_INIT): New function.
20331 (GRUB_MOD_FINI): Likewise.
20332 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20333 (grub_file_filters_enabled): Likewise.
20334 (grub_file_open): Handle filters.
20335 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20336 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20337 * include/grub/file.h (grub_file_filter_id_t): New type.
20338 (grub_file_filter_t): Likewise.
20339 (grub_file_filters_all): New extern variable.
20340 (grub_file_filters_enabled): Likewise.
20341 (grub_file_filter_register): New inline function.
20342 (grub_file_filter_unregister): Likewise.
20343 (grub_file_filter_disable): Likewise.
20344 (grub_file_filter_disable_compression): Likewise.
20345 * include/grub/gzio.h: Removed.
20346
35ee15e0
BC
203472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20348
20349 Filename expansion support for wildcards in GRUB script.
20350
20351 * tests/grub_script_expansion.in: New test.
20352 * Makefile.util.def: Rule for new test.
20353
20354 * grub-core/commands/wildcard.c: New file, implements filename
20355 expansion support for GRUB script.
20356 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20357 * grub-core/script/argv.c: Cosmetic changes.
20358 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20359 Refactored to perform wildcard expansion on arguments.
20360 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20361 struct.
20362
20363 * tests/util/grub-shell.in: Fix quoting for read input.
20364
5f0c4aca
BC
203652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20366
20367 Support for updating environment variables with matched substrings
20368 of regexp.
20369
20370 * tests/grub_cmd_regexp.in: New test.
20371 * Makefile.util.def: Rule for new test.
20372
20373 * grub-core/commands/regexp.c: New option -s to update environment
20374 variables with regexp matches.
20375
3759a35f
SJ
203762010-09-04 Szymon Janc <szymon@janc.net.pl>
20377
20378 * include/grub/file.h (grub_file): New member not_easly_seekable.
20379 (grub_file_seekable): New inline function.
20380 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20381 easily seekable.
20382 (grub_gzio_open): Set not_easly_seekable.
20383 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20384 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20385
ed8c6dec
BC
203862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20387
20388 Support for options to appear multiple times on cmdline.
20389
20390 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20391 * grub-core/commands/extcmd.c: Support for repeatable option.
20392 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20393 repeatable option support.
20394
20395 Refactor menuentry into a regular command.
20396
20397 * grub-core/commands/menuentry.c: New file, menuentry command
20398 implementation.
20399 * grub-core/Makefile.core.def: Rule update for normal.mod.
20400 * grub-core/normal/main.c: Moved menuentry creation to
20401 grub-core/commands/menuentry.c.
20402 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20403 (grub_menu_execute_entry_real): Removed.
20404 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20405 function.
20406 (grub_script_execute_menuentry): Removed.
20407 * grub-core/script/parser.y (menuentry): Removed.
20408 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20409 * grub-core/script/yylex.l (menuentry): Removed.
20410 * include/grub/menu.h (grub_menu_init): New prototype.
20411 (grub_menu_fini): New prototype.
20412 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20413 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20414 (grub_script_execute_sourcecode): New prototype.
20415
dacd0cf0
BC
204162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20417
20418 "return" command for GRUB script functions.
20419
20420 * tests/grub_script_return.in: New test.
20421 * Makefile.util.def: Rules for new test.
20422
20423 * grub-core/script/execute.c (grub_script_return): New function.
20424 * grub-core/script/main.c: Register/unregister return commaond.
20425 * include/grub/script_sh.h (grub_script_return): New prototype.
20426
52e72f9d
BC
204272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20428
20429 "setparams" command to update positional parameters.
20430
20431 * tests/grub_script_setparams.in: New test.
20432 * Makefile.util.def: Rules for new test.
20433
20434 * grub-core/script/argv.c (grub_script_argv_make): New function.
20435 * grub-core/script/execute.c (replace_scope): New function.
20436 (grub_script_setparams): New function.
20437 * grub-core/script/lexer.c: Remove unused variables.
20438 * grub-core/script/main.c: Register/unregister setparams command.
20439 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20440 (grub_script_setparams): New prototype.
20441
25b60c91
BC
204422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20443
20444 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20445 grub_free order.
20446
37e7bf68
BC
204472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20448
20449 Support for passing block of commands as an argument to extcmds.
20450
20451 * Makefile.util.def: Rules for new test.
20452 * tests/grub_script_blockarg.in: New test.
20453 * grub-core/tests/test_blockarg.c: New file, block argument
20454 command used in the test.
20455
20456 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20457 (grub_register_extcmd_prio): New function prototype.
20458 (grub_extcmd_dispatcher): New function prototype.
20459 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20460 type.
20461 * include/grub/script_sh.h (struct grub_script): New members
20462 `children', `next_siblings' and `refcnt' for block arguments and
20463 reference counting.
20464 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20465 (grub_script_arg): New member `script' for block argument.
20466 (grub_script_argv): New member `script' for block argument.
20467 (grub_parser_param): New member `scripts' for block argument.
20468 (grub_script_mem_free): New extern function prototype.
20469 (grub_script_ref): New function prototype.
20470 (grub_script_unref): New function prototype.
20471
20472 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20473 extcmd form to support block arguments.
20474 * grub-core/script/argv.c: Block arguments support.
20475 * grub-core/script/execute.c: Likewise.
20476 * grub-core/script/lexer.c: Likewise.
20477 * grub-core/script/main.c: Likewise.
20478 * grub-core/script/script.c: Likewise.
20479 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20480 non-terminals.
20481
20482 * grub-core/commands/acpi.c: Update extcmd implementations with
20483 grub_extcmd_context_t.
20484 * grub-core/commands/cat.c: Likewise.
20485 * grub-core/commands/echo.c: Likewise.
20486 * grub-core/commands/extcmd.c: Likewise.
20487 * grub-core/commands/hashsum.c: Likewise.
20488 * grub-core/commands/hdparm.c: Likewise.
20489 * grub-core/commands/help.c: Likewise.
20490 * grub-core/commands/hexdump.c: Likewise.
20491 * grub-core/commands/i386/cpuid.c: Likewise.
20492 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20493 * grub-core/commands/i386/pc/halt.c: Likewise.
20494 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20495 * grub-core/commands/iorw.c: Likewise.
20496 * grub-core/commands/keystatus.c: Likewise.
20497 * grub-core/commands/loadenv.c: Likewise.
20498 * grub-core/commands/ls.c: Likewise.
20499 * grub-core/commands/lspci.c: Likewise.
20500 * grub-core/commands/memrw.c: Likewise.
20501 * grub-core/commands/probe.c: Likewise.
20502 * grub-core/commands/search_wrap.c: Likewise.
20503 * grub-core/commands/setpci.c: Likewise.
20504 * grub-core/commands/sleep.c: Likewise.
20505 * grub-core/disk/loopback.c: Likewise.
20506 * grub-core/hello/hello.c: Likewise.
20507 * grub-core/loader/i386/bsd.c: Likewise.
20508 * grub-core/loader/xnu.c: Likewise.
20509 * grub-core/term/gfxterm.c: Likewise.
20510 * grub-core/term/serial.c: Likewise.
20511 * grub-core/tests/lib/functional_test.c: Likewise.
20512
888d1500
BC
205132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20514
20515 Multi-line quoted strings support.
20516
20517 * grub-core/script/lexer.c (append_newline): Removed.
20518 (grub_script_lexer_yywrap): Refactored.
20519 (grub_script_lexer_init): Refactored.
20520 * grub-core/script/yylex.l (yywrap): New function.
20521 (grub_lexer_resplit): New function.
20522 (grub_lexer_unput): New function.
20523 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20524 and resplit.
20525 * tests/grub_script_echo1.in: Added few more testcases.
20526
dda060dd
VS
205272010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * grub-core/kern/misc.c: Don't add abort alias in utils.
20530 Reported by: echoline.
20531
6556eba9
BC
205322010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20533
20534 Add missing files into "make dist" tarball for other platforms.
20535
20536 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20537 * conf/Makefile.common (dist_noinst_DATA): New variable.
20538 * conf/Makefile.extra-dist: Added missing make dist files.
20539 * grub-core/Makefile.core.def: Likewise.
20540
c8e7bf5f
VS
205412010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 Compress grub_prefix.
20544
20545 * grub-core/boot/i386/pc/lnxboot.S: Use
20546 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20547 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20548 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20549 GRUB_MACHINE_PREFIX_END. All users updated.
20550 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20551 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20552 + 0x40.
20553 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20554 * util/grub-mkimage.c (image_target_desc): Change data_end to
20555 prefix_end. All users updated.
20556
a7c00cdb
VS
205572010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20560 value.
20561 (grub_openbsd_boot): Likewise.
20562 (grub_netbsd_boot): Likewise.
20563 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20564 (grub_xnu_boot): Likewise.
20565
9f915872
VS
205662010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * configure.ac: Clean LIBS variable after tests.
20569
efa1bee7
CW
205702010-09-02 Colin Watson <cjwatson@ubuntu.com>
20571
20572 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20573
61d720e5
VS
205742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20577 echo if libdevmapper will be used.
20578
ef8e0ec8
IT
205792010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20580
20581 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20582 constant for the same file.
20583
03e261d8
VS
205842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20587
c2a4eba6
CW
205882010-09-02 Colin Watson <cjwatson@ubuntu.com>
20589
20590 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20591 grub-core/*.pp.
20592
9056cbf3
CW
205932010-09-02 Colin Watson <cjwatson@ubuntu.com>
20594
20595 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20596 required by the boot protocol.
20597
20598 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20599 ebp and edi members.
20600 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20601 state.ebp and state.edi.
20602 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20603 %ebp and %edi according to grub_relocator32_ebp and
20604 grub_relocator32_edi respectively.
20605 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20606 and state.edi.
20607
529cc99a
VS
206082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 Add i386-pc-pxe image target.
20611
20612 * util/grub-mkimage.c (image_target_desc): New enum value
20613 IMAGE_I386_PC_PXE.
20614 (image_targets): New target i386-pc-pxe.
20615 (generate_image): Handle i386-pc-pxe image.
20616
9a093920
VS
206172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 Fix grub_pxe_scan.
20620
20621 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20622 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20623 All users updated.
20624 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20625 (grub_pxe_pxenv): Correct type.
20626
f9cefc4e
CW
206272010-09-01 Colin Watson <cjwatson@ubuntu.com>
20628
20629 * NEWS: Document most of the important changes since 1.98.
20630
4066f57f
CW
206312010-09-01 Colin Watson <cjwatson@ubuntu.com>
20632
20633 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20634 generated manual page) a little.
20635
da2891f9
CW
206362010-09-01 Colin Watson <cjwatson@ubuntu.com>
20637
20638 * docs/grub.texi: Add myself as an author.
20639
ad717fae
VS
206402010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20641
20642 * Makefile.util.def (libgrub.a): Add missing sunpc.
20643 Reported by: Seth Goldberg.
20644
eefe8abd
VS
206452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 Interrupt wrapping and code simplifications.
20648
9494ef9a
VS
20649 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20650 x86_noieee1275 which are functionaly equivalent in this case.
20651 (grub-install): Make source on each platform explicit. Enable on
20652 all noemu.
20653 * gentpl.py (x86_efi_pc): Removed group.
20654 (x86_noefi): Likewise.
20655 (i386_noefi): Likewise.
20656 (x86_noieee1275): Likewise.
20657 (i386_noieee1275): Likewise.
20658 (i386_noefi_noieee1275): Likewise.
20659 (i386_pc_qemu_coreboot): Likewise.
20660 (i386_coreboot_multiboot): Likewise.
20661 (i386_pc_coreboot_multiboot_qemu): Likewise.
20662 (x86_noefi_mips): Likewise.
20663 (noieee1275): Likewise.
20664 (ieee1275_mips): Likewise.
20665 (noemu_noieee1275): Likewise.
20666 (cmos): New group.
20667 (usb): Likewise.
20668 (videoinkernel): Likewise.
20669 (videomodules): Likewise.
eefe8abd 20670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20671 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20672 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20673 include/grub/loader.h, include/grub/msdos_partition.h,
20674 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20675 include/grub/machine/console.h, include/grub/machine/vga.h,
20676 include/grub/machine/vbe.h, include/grub/machine/init.h,
20677 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20678 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20679 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20680 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20681 * grub-core/Makefile.core.def (kernel): Explicit the source for
20682 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20683 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20684 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20685 Use videoinkernel tag.
20686 (usb): Enable on all usb.
20687 (usbserial_common): Likewise.
20688 (usbserial_pl2303): Likewise.
20689 (usbserial_ftdi): Likewise.
20690 (uhci): Enable on all x86.
20691 (ohci): Enable on all pci.
20692 (cmostest): Enable on all CMOS.
20693 (acpi): Include commands/acpi.c on all platforms.
20694 (halt): Add relevant lib/*/halt.c.
20695 (hdparm): Enable on all pci.
20696 (lspci): Likewise.
20697 (usbtest): Enable on all usb.
20698 (ata): Enable on all pci.
20699 (ata_pthru): Likewise.
20700 (usbms): Enable on all usb.
20701 (usb_keyboard): Likewise.
20702 (font): Use tag videomodules.
20703 (bufio): Likewise.
20704 (datetime): Use tag cmos. Enable on all noemu.
20705 (mmap): Use tags common and x86.
20706 (gfxterm): Use tag videomodules.
20707 (bitmap): Likewise.
20708 (bitmap_scale): Likewise.
20709 (video_fb): Likewise.
20710 (video): Likewise.
20711 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20712 adjust padding accordingly. All users updated.
20713 (grub_ohci_transaction): Fix bad format specification.
20714 (GRUB_MOD_INIT): Add asserts for struct size.
20715 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20716 (grub_alloc_td): Likewise.
20717 (grub_free_queue): Likewise.
20718 (grub_uhci_transfer): Likewise.
20719 (grub_uhci_transaction): Fix bad format specification.
20720 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20721 (grub_usb_bulk_readwrite): Likewise.
20722 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20723 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20724 Made static.
20725 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20726 Made static.
20727 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20728 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20729 Transformed into C.
20730 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20731 Moved from here ...
20732 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20733 ... here. Transformed into C. Made static.
20734 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20735 Moved from here ...
20736 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20737 ... here. Transformed into C. Made static.
20738 * grub-core/kern/i386/pc/startup.S
20739 (grub_biosdisk_check_int13_extensions): Moved from here ...
20740 * grub-core/disk/i386/pc/biosdisk.c
20741 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20742 Made static.
20743 * grub-core/kern/i386/pc/startup.S
20744 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20745 * grub-core/disk/i386/pc/biosdisk.c
20746 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20747 Transformed into C. Made static.
20748 * grub-core/kern/i386/pc/startup.S
20749 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20750 * grub-core/disk/i386/pc/biosdisk.c
20751 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20752 Transformed into C. Made static.
20753 * grub-core/kern/i386/pc/startup.S
20754 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20755 * grub-core/disk/i386/pc/biosdisk.c
20756 (grub_biosdisk_get_diskinfo_standard): ... here.
20757 Transformed into C. Made static.
20758 * grub-core/kern/i386/pc/startup.S
20759 (grub_biosdisk_get_num_floppies): Moved from here ...
20760 * grub-core/disk/i386/pc/biosdisk.c
20761 (grub_biosdisk_get_num_floppies): ... here.
20762 Transformed into C. Made static.
20763 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20764 New function.
20765 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20766 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20767 Transformed into C. Made static.
20768 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20769 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20770 Transformed into C. Made static.
20771 * grub-core/kern/i386/ieee1275/init.c: Removed.
20772 * grub-core/kern/i386/misc.S: Likewise.
20773 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20774 Splitted from here ...
20775 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20776 Transformed into C. Made static. All users updated.
20777 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20778 Transformed into C. Made static. All users updated.
20779 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20780 Moved from here...
20781 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20782 Transformed into C. Made static. All users updated.
20783 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20784 Moved from here...
20785 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20786 Transformed into C. Made static. All users updated.
20787 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20788 Removed (replaced by C version).
20789 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20790 Moved from here...
20791 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20792 Transformed into C. Made static.
20793 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20794 Moved from here...
20795 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20796 ... here. Transformed into C.
20797 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20798 Moved from here...
20799 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20800 ... here. Transformed into C.
20801 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20802 Moved from here...
20803 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20804 ... here. Transformed into C. Made static.
20805 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20806 Moved from here...
20807 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20808 ... here. Transformed into C.
21ed554b
VS
20809 * grub-core/kern/i386/pc/startup.S
20810 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20811 * grub-core/video/i386/pc/vbe.c
20812 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20814 Moved from here...
20815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20816 ... here. Transformed into C.
20817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20818 Moved from here...
20819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20820 ... here. Transformed into C.
20821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20822 Moved from here...
20823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20824 ... here. Transformed into C.
20825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20826 Moved from here...
20827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20828 ... here. Transformed into C.
20829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20830 Moved from here...
20831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20832 ... here. Transformed into C. Made static.
20833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20834 Moved from here...
20835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20836 ... here. Transformed into C. Made static.
20837 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20838 Moved from here...
20839 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20840 ... here. Transformed into C. Made static.
20841 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20842 pxe_rm_entry as third argument.
20843 (grub_bios_interrupt): New function.
20844 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20845 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20846 of calling grub_stop.
20847 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20848 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20849 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20850 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20851 * grub-core/lib/i386/halt.c: Moved from here ...
20852 * grub-core/lib/i386/halt.c: ... here.
20853 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20854 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20855 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20856 grub_stop_floppy.
20857 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20858 * include/grub/i386/coreboot/init.h: Removed.
20859 * include/grub/i386/multiboot/init.h: Likewise.
20860 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20861 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20862 * include/grub/i386/pc/int.h: New file.
20863 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20864 (grub_pxe_scan): Removed.
20865 (grub_pxe_call): Update prototype.
20866 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20867 prototypes.
20868 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20869 * include/grub/i386/qemu/init.h: Removed.
20870 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20871 noreturn.
20872 (grub_halt): Likewise.
20873 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20874 (grub_reboot): Likewise.
20875 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20876 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20877 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20878
215dd471
RM
208792010-08-30 Robert Millan <rmh@gnu.org>
20880
20881 * NEWS: Document addition of ZFS support in `grub-install' and
20882 `grub-mkconfig'.
20883
ebd65b82
BC
208842010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20885
20886 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20887 dprintf output.
20888
11721d19
VS
208892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 Remove leftover embedding of font objects.
20892
20893 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20894 * util/grub-install.in (font): Removed.
20895 * util/grub-mkimage.c (generate_image): Remove font support. All users
20896 updated.
20897
37837d4e
VS
208982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20899
20900 Remove leftover embedding of font objects.
20901
20902 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20903 * util/grub-install.in (font): Removed.
20904 * util/grub-mkimage.c (generate_image): Remove font support. All users
20905 updated.
20906
b4c1aae0
VS
209072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20910 Reported by: Ian Turner
b4c1aae0 20911
8920a08d
VS
209122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20915 timeout to avoid indefinite boot stalling.
20916
f21db033
VS
209172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20920 (grub_env_write_color_highlight): Likewise.
20921
9a9de209
VS
209222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * grub-core/normal/term.c (print_more): Return to normal and not
20925 to standard state after printing "---MORE---".
20926
3dca01d7
VS
209272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20930 Mask out the bit 0x80 since it has other meaning that specifiing color.
20931
0b986c40
VS
209322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 New relocator. Allows for more kernel support and more straightforward
20935 loader writing.
20936
20937 * Makefile.am (BOOTTARGET): New variable.
20938 (QEMU32): Likewise.
20939 (linux.init.x86_64): New target.
20940 (linux.init.i386): Likewise.
20941 (multiboot.elf): Likewise.
20942 (kfreebsd.elf): Likewise.
20943 (kfreebsd.aout): Likewise.
20944 (pc-chainloader.elf): Likewise.
20945 (pc-chainloader.bin): Likewise.
20946 (ntldr.elf): Likewise.
20947 (ntldr.bin): Likewise.
20948 (multiboot2.elf): Likewise.
20949 (kfreebsd.init.x86_64): Likewise.
20950 (kfreebsd.init.i386): Likewise.
20951 (knetbsd.init.i386): Likewise.
20952 (kopenbsd.init.i386): Likewise.
20953 (knetbsd.init.x86_64): Likewise.
20954 (kopenbsd.init.x86_64): Likewise.
20955 (linux-initramfs.i386): Likewise.
20956 (linux-initramfs.x86_64): Likewise.
20957 (kfreebsd-mfsroot.i386.img): Likewise.
20958 (knetbsd.image.i386): Likewise.
20959 (kopenbsd.image.i386): Likewise.
20960 (kopenbsd.image.x86_64): Likewise.
20961 (knetbsd.miniroot-image.i386.img): Likewise.
20962 (kfreebsd-mfsroot.x86_64.img): Likewise.
20963 (knetbsd.image.x86_64): Likewise.
20964 (knetbsd.miniroot-image.x86_64.img): Likewise.
20965 (kfreebsd-mfsroot.i386.gz): Likewise.
20966 (bootcheck-kfreebsd-i386): Likewise.
20967 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20968 (bootcheck-kfreebsd-x86_64): Likewise.
20969 (knetbsd.miniroot-image.i386.gz): Likewise.
20970 (bootcheck-knetbsd-i386): Likewise.
20971 (bootcheck-kopenbsd-i386): Likewise.
20972 (bootcheck-kopenbsd-x86_64): Likewise.
20973 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20974 (bootcheck-knetbsd-x86_64): Likewise.
20975 (bootcheck-linux-i386): Likewise.
20976 (bootcheck-linux-x86_64): Likewise.
20977 (bootcheck-linux16-i386): Likewise.
20978 (bootcheck-linux16-x86_64): Likewise.
20979 (bootcheck-multiboot): Likewise.
20980 (bootcheck-multiboot2): Likewise.
20981 (bootcheck-kfreebsd-aout): Likewise.
20982 (bootcheck-pc-chainloader): Likewise.
20983 (bootcheck-ntldr): Likewise.
20984 (CLEANFILES): Add new targets.
20985 (BOOTCHECKS): New variable.
20986 (.PHONY): Add bootchecks.
20987 (SUCCESSFUL_BOOT_STRING): New variable.
20988 (BOOTCHECK_TIMEOUT): Likewise.
20989 (bootcheck): New target
20990 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20991 * configure.ac: Correct efiemu excuse.
20992 * docs/grub.texi (Supported kernels): New chapter.
20993 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20994 include/grub/mm_private.h. Simplify inclusion of
20995 include/grub/boot.h, include/grub/loader.h
20996 and include/grub/msdos_partition.h
20997 (KERNEL_HEADER_FILES) [i386_coreboot]:
20998 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20999 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21000 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21001 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21002 include/grub/machine/loader.h.
21003 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21004 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21005 extra_dist.
21006 (pci.mod): Enable on i386-multiboot.
21007 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21008 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21009 i386-qemu.
21010 (relocator.mod): Rewritten.
21011 (aout.mod): Enable on all x86.
21012 (bsd.mod): Likewise.
21013 (ntldr.mod): New module.
21014 (linux.mod): Use loader/i386/linux.c on all x86.
21015 (xnu.mod): Enable on all x86.
21016 (vga_text.mod): disable on EFI and QEMU.
21017 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21018 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21019 * grub-core/efiemu/loadcore.c: Likewise.
21020 * grub-core/efiemu/main.c: Likewise.
21021 (grub_efiemu_exit_boot_services): Removed.
21022 (grub_efiemu_finish_boot_services): Likewise.
21023 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21024 function.
21025 * grub-core/efiemu/i386/nocfgtables.c: New file.
21026 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21027 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21028 (grub_efi_finish_boot_services): Moved from here ...
21029 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21030 Fille finish memory map and related data.
21031 (finish_mmap_buf): New variable.
21032 (grub_efi_uintn_t finish_mmap_size): Likewise.
21033 (grub_efi_uintn_t finish_key): Likewise.
21034 (grub_efi_uintn_t finish_desc_size): Likewise.
21035 (grub_efi_uint32_t finish_desc_version): Likewise.
21036 (grub_efi_is_finished): Likewise.
21037 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21038 finished.
21039 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21040 (grub_elf64_phdr_iterate): Likewise.
21041 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21042 (grub_os_area_size): Likewise.
21043 (grub_machine_init): Don't reserve os area.
21044 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21045 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21046 * grub-core/kern/i386/loader.S: Removed.
21047 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21048 (grub_os_area_size): Likewise.
21049 (grub_machine_init): Don't reserve os area.
21050 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21051 Don't call grub_dl_unload_all.
21052 Don't include loader.S.
21053 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21054 Declare the memory after _end as available.
21055 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21056 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21057 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21058 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21059 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21060 * include/grub/mm_private.h (grub_mm_header): ... here.
21061 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21062 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21063 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21064 (grub_mm_region): ..here. Removed addr. Added pre_size.
21065 All users updated.
21066 * grub-core/kern/mm.c (base): Renamed to ...
21067 (grub_mm_base): ... this. Made global.
21068 (grub_real_malloc): Alloc from end of region.
21069 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21070 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21071 * grub-core/kern/powerpc/cache_flush.S: ... here.
21072 * grub-core/lib/efi/relocator.c: New file.
21073 * grub-core/lib/i386/relocator.c: Rewritten.
21074 * grub-core/lib/i386/relocator16.S: New file.
21075 * grub-core/lib/i386/relocator32.S: Likewise.
21076 * grub-core/lib/i386/relocator64.S: Likewise.
21077 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21078 * grub-core/lib/i386/relocator_common.S: New file.
21079 * grub-core/lib/ieee1275/relocator.c: Likewise.
21080 * grub-core/lib/mips/relocator.c: Rewritten.
21081 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21082 stylistic adjustments.
21083 * grub-core/lib/powerpc/relocator.c: New file.
21084 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21085 * grub-core/lib/relocator.c: Rewritten.
21086 * grub-core/lib/x86_64/relocator_asm.S: New file.
21087 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21088 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21089 (bsd_tag): New struct.
21090 (tags): New variable.
21091 (tags_last): Likewise.
21092 (netbsd_module): New struct.
21093 (netbsd_mods): New variable.
21094 (netbsd_mods_last): Likewise.
21095 (openbsd_opts): New parameter "serial".
21096 (OPENBSD_SERIAL_ARG): New definition.
21097 (netbsd_opts): New parameter "serial".
21098 (NETBSD_SERIAL_ARG): New definition.
21099 (grub_freebsd_add_meta): Reorganised into ...
21100 (grub_bsd_add_meta): ...this. All users updated.
21101 (grub_freebsd_add_mmap): Reorganised into ...
21102 (generate_e820_mmap): ...this...
21103 (grub_bsd_add_mmap): ...and this. All users updated.
21104 (grub_freebsd_list_modules): Use tags.
21105 (grub_netbsd_add_meta_module): New function.
21106 (grub_netbsd_list_modules): Likewise.
21107 (grub_freebsd_boot): Use relocator and finish EFI.
21108 (grub_openbsd_boot): Likewise.
21109 (grub_netbsd_setup_video): New function.
21110 (grub_netbsd_add_modules): Likewise.
21111 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21112 and finish EFI.
21113 (grub_bsd_unload): Unload tags.
21114 (grub_bsd_load_aout): Use relocator.
21115 (grub_bsd_elf32_size_hook): New function.
21116 (grub_bsd_elf32_hook): Use relocator.
21117 (grub_bsd_elf64_size_hook): New function.
21118 (grub_bsd_elf64_hook): Use relocator.
21119 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21120 (grub_bsd_load): Zero-out openbsd_ramdisk.
21121 (grub_bsd_load): Use relocator.
21122 (grub_cmd_openbsd): Support serial.
21123 (grub_cmd_netbsd): Support modules.
21124 (grub_cmd_freebsd_module): Use relocator.
21125 (grub_netbsd_module_load): New function.
21126 (grub_cmd_netbsd_module): Likewise.
21127 (grub_cmd_openbsd_ramdisk): Likewise.
21128 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21129 kopenbsd_ramdisk.
21130 (GRUB_MOD_FINI): Unregister new commands.
21131 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21132 (grub_freebsd_load_elfmodule_obj): Use relocator.
21133 (grub_freebsd_load_elfmodule): Likewise.
21134 (grub_freebsd_load_elf_meta): Likewise.
21135 (grub_netbsd_load_elf_meta): New function.
21136 (grub_openbsd_find_ramdisk): Likewise.
21137 * grub-core/loader/i386/bsd_helper.S: Removed.
21138 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21139 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21140 * grub-core/loader/i386/efi/linux.c: Likewise.
21141 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21142 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21143 (DEFAULT_VIDEO_MODE): Likewise.
21144 (real_mode_target): New variable.
21145 (prot_mode_target): Likewise.
21146 (initrd_mem_target): Likewise.
21147 (relocator): Likewise.
21148 (efi_mmap_buf): Likewise.
21149 (efi_mmap_size): Likewise.
21150 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21151 (free_pages): Use relocator.
21152 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21153 (grub_linux_setup_video): Return error.
21154 (grub_linux_trampoline_start): Removed.
21155 (grub_linux_trampoline_end): Likewise.
21156 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21157 andd video parameters depending on firmware.
21158 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21159 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21160 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21161 (grub_cmd_initrd): Use relocator.
21162 * grub-core/loader/i386/linux_trampoline.S: Removed.
21163 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21164 (elf_sec_entsize): Likewise.
21165 (elf_sec_shstrndx): Likewise.
21166 (elf_sections): Likewise.
21167 (grub_multiboot_load): Use relocator.
21168 (grub_multiboot_get_mbi_size): Account for sections.
21169 (grub_multiboot_make_mbi): Use relocator and support sections.
21170 (grub_multiboot_add_elfsyms): New function.
21171 (grub_multiboot_free_mbi): Free sections.
21172 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21173 (grub_linux_real_target): Likewise.
21174 (grub_linux_real_chunk): Likewise.
21175 (grub_linux16_prot_size): Likewise.
21176 (grub_linux16_boot): Use relocator.
21177 (grub_linux_unload): Unload relocator.
21178 (grub_cmd_linux): Use relocator.
21179 (grub_cmd_initrd): Likewise.
21180 * grub-core/loader/i386/pc/ntldr.c: New file.
21181 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21182 Don't try to guess CPU frequency.
21183 (grub_xnu_set_video): Stretch bitmap.
21184 (grub_xnu_boot): Use relocator.
21185 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21186 (grub_linux_unload): Free relocator.
21187 (grub_linux_load32): Use relocator.
21188 (grub_linux_load64): Likewise.
21189 (grub_cmd_initrd): Likewise.
21190 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21191 (grub_multiboot_unload): Unload relocator.
21192 (grub_cmd_multiboot): Use relocator.
21193 (grub_cmd_module): Likewise.
21194 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21195 Use relocator and support sections.
21196 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21197 (elf_sec_entsize): Likewise.
21198 (elf_sec_shstrndx): Likewise.
21199 (elf_sections): Likewise.
21200 (grub_multiboot_load): Use relocator.
21201 (grub_multiboot_get_mbi_size): Account for sections.
21202 (grub_multiboot_make_mbi): Use relocator and support sections.
21203 (grub_multiboot_add_elfsyms): New function.
21204 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21205 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21206 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21207 Prototype changed. All users updated.
21208 (grub_xnu_align_heap): Simplified.
21209 (grub_xnu_writetree_toheap): Likewise.
21210 (grub_xnu_unload): Unload relocator.
21211 (grub_cmd_xnu_kernel): Use relocator.
21212 (grub_cmd_xnu_kernel64): Likewise.
21213 (grub_xnu_register_memory): Simplified.
21214 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21215 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21216 EFI is finished.
21217 (grub_console_checkkey): Likewise.
21218 (grub_console_getkey): Likewise.
21219 (grub_console_getwh): Likewise.
21220 (grub_console_getxy): Likewise.
21221 (grub_console_gotoxy): Likewise.
21222 (grub_console_cls): Likewise.
21223 (grub_console_setcolorstate): Likewise.
21224 (grub_console_setcursor): Likewise.
21225 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21226 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21227 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21228 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21229 * grub-core/tests/boot/kernel-8086.S: Likewise.
21230 * grub-core/tests/boot/kernel-i386.S: Likewise.
21231 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21232 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21233 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21234 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21235 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21236 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21237 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21238 * grub-core/tests/boot/linux.cfg: Likewise.
21239 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21240 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21241 * grub-core/tests/boot/linux16.cfg: Likewise.
21242 * grub-core/tests/boot/multiboot.cfg: Likewise.
21243 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21244 * grub-core/tests/boot/ntldr.cfg: Likewise.
21245 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21246 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21247 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21248 New definition.
21249 * include/grub/dl.h (grub_dl_unload_all): Removed.
21250 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21251 (grub_efi_finish_boot_services): Change prototype.
21252 (grub_efi_is_finished): New variable.
21253 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21254 Changed prototype.
21255 (grub_efiemu_finish_boot_services): Removed.
21256 (grub_machine_efiemu_init_tables): New prototype.
21257 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21258 (grub_elf64_phdr_iterate): Likewise.
21259 * include/grub/i386/bsd.h: Include relocator.h.
21260 (freebsd_tag_header): New struct.
21261 (grub_openbsd_bios_mmap): Removed.
21262 (grub_unix_real_boot): Removed.
21263 (grub_freebsd_load_elfmodule32): Changed prototype.
21264 (grub_freebsd_load_elfmodule_obj64): Likewise.
21265 (grub_freebsd_load_elf_meta32): Likewise.
21266 (grub_freebsd_load_elf_meta64): Likewise.
21267 (grub_freebsd_add_meta): Removed.
21268 (grub_netbsd_load_elf_meta32): New prototype.
21269 (grub_netbsd_load_elf_meta64): Likewise.
21270 (grub_bsd_add_meta): Likewise.
21271 (grub_openbsd_ramdisk_descriptor): New struct.
21272 (grub_openbsd_find_ramdisk32): New prototype.
21273 (grub_openbsd_find_ramdisk64): Likewise.
21274 * include/grub/i386/coreboot/loader.h: Removed.
21275 * include/grub/i386/efi/loader.h: Likewise.
21276 * include/grub/i386/ieee1275/loader.h: Likewise.
21277 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21278 to grub_uint32_t.
21279 * include/grub/i386/loader.h: Removed.
21280 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21281 value.
21282 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21283 (grub_phys_addr_t): New type.
21284 (grub_vtop): New inline function.
21285 (grub_map_memory): Likewise.
21286 (grub_unmap_memory): Likewise.
21287 * include/grub/i386/multiboot/loader.h: Removed.
21288 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21289 (NETBSD_BTINFO_CONSOLE): New definition.
21290 (NETBSD_BTINFO_SYMTAB): Likewise.
21291 (NETBSD_BTINFO_MODULES): Likewise.
21292 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21293 (grub_netbsd_bootinfo): New struct.
21294 (grub_netbsd_btinfo_common): Use explicit bitsize.
21295 (grub_netbsd_btinfo_mmap_entry): Removed.
21296 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21297 (grub_netbsd_btinfo_bootdisk): New struct.
21298 (grub_netbsd_btinfo_symtab): Likewise.
21299 (grub_netbsd_btinfo_serial): Likewise.
21300 (grub_netbsd_btinfo_modules): Likewise.
21301 (grub_netbsd_btinfo_framebuf): Likewise.
21302 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21303 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21304 Likewise.
21305 (grub_openbsd_bootargs): Use explicit bitsize.
21306 (grub_openbsd_bootarg_console): New struct.
21307 (GRUB_OPENBSD_COM_MAJOR): New definition.
21308 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21309 * include/grub/i386/pc/efiemu.h: Removed.
21310 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21311 * include/grub/i386/qemu/loader.h: Removed.
21312 * include/grub/i386/relocator.h: Rewritten.
21313 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21314 * include/grub/mips/memory.h: New file.
21315 * include/grub/mips/multiboot.h: Rewritten.
21316 * include/grub/mips/relocator.h: Rewritten.
21317 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21318 (grub_vtop): New function.
21319 (grub_map_memory): Likewise.
21320 (grub_unmap_memory): Likewise.
21321 * include/grub/misc.h (ALIGN_DOWN): New definition.
21322 * include/grub/mm.h (grub_mm_check_real): New proto.
21323 (GRUB_MM_CHECK): New definition.
21324 * include/grub/mm_private.h: New file.
21325 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21326 (grub_multiboot_get_mbi_size): Removed.
21327 (grub_multiboot_make_mbi): Change prottype.
21328 (grub_multiboot_set_accepts_video): New proto.
21329 (grub_multiboot_add_elfsyms): Likewise.
21330 (grub_multiboot_payload_eip): New variable.
21331 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21332 New prototype.
21333 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21334 New definition.
21335 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21336 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21337 * include/grub/powerpc/ieee1275/loader.h: Removed.
21338 * include/grub/powerpc/memory.h: New file.
21339 * include/grub/powerpc/relocator.h: Likewise.
21340 * include/grub/relocator.h: Likewise.
21341 * include/grub/relocator_private.h: Likewise.
21342 * include/grub/sparc64/ieee1275/loader.h: Removed.
21343 * include/grub/x86_64/memory.h: New file.
21344 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21345 (grub_xnu_heap_malloc): Likewise.
21346 (grub_xnu_heap_real_start): Removed.
21347 (grub_xnu_heap_start): Likewise.
21348 (grub_xnu_relocator): New variable.
21349 (grub_xnu_heap_target_start): Likewise.
21350 * tests/util/grub-shell.in: Support non-pc.
21351 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21352
5303b85d
VS
213532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21356 on malloc error.
21357 (grub_bidi_logical_to_visual): Check that malloc succeded.
21358 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21359 puts.
21360 (grub_xputs_normal): Likewise.
21361
d768d159
VS
213622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21365 extra_dist.
21366
213672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21370
5bf84df4
VS
213712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21374
3626810e
VS
213752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21378 dprintf.
21379
a7363f53
BC
213802010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21381
21382 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21383
902f75f6
VS
213842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * grub-core/normal/term.c (print_more): Fix a memory leak.
21387 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21388 (grub_xputs_normal): Likewise.
21389
3c707967
VS
213902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21393 the begining of the string
21394
2053cc07
VS
213952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * grub-core/script/script.c (grub_script_parse): Free parsed on
21398 failure.
21399
46422ebf
VS
214002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21403 on failure.
21404
9e0fa3f6
VS
214052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21406
21407 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21408 return.
21409
3393cf16
VS
214102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21413 (scroll_up): Fix a memory leak.
21414
b17540cb
VS
214152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21416
21417 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21418 errors.
21419
67140446
VS
214202010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 Handle USB pendrives exposed as floppies.
21423
21424 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21425 floppy.
21426 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21427 Check for partitions on all devices.
21428
e35e46fc
VS
214292010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21432 (readkey): Likewise.
21433
d24c6190
BC
214342010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21435
21436 Multiple variable names support to "export" command.
21437
21438 * normal/context.c (grub_cmd_export): "export" command supports
21439 multiple variable names.
21440
04ddcc6a
ST
214412010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21442
21443 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21444 --target=drive output to Mach device name.
21445
0c8b61d8
BC
214462010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21447
21448 New Automake based build system for GRUB.
21449
21450 * ABOUT-NLS: New file.
21451 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21452 in Makefile.util.def file.
21453 * Makefile.util.def: New file. Autogen build definitions file for
21454 GRUB host utils.
21455 * conf/Makefile.common: New file. Common variables for GRUB host
21456 utils and target modules.
21457 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21458 * docs/Makefile.am: New file. Automake file for docs.
21459 * gentpl.py: New file. Python script to generate Autogen
21460 template.
21461 * grub-core/Makefile.am: New file. GRUB target modules' rules
21462 that doesn't fit in Makefile.core.def file.
21463 * grub-core/Makefile.core.def: New file. Autogen build
21464 definitions file for GRUB target modules.
21465 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21466 specific setjmp.S file.
21467 * po/Makefile.am: New file.
21468
21469 * .bzrignore: New ignores.
21470 * INSTALL: New requirements, without Ruby.
21471 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21472 * autogen.sh: Updated to invoke autogen as necessary.
21473 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21474 and defines for Automake conditionals.
21475 * geninit.sh: Refactoring.
21476
21477 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21478 necessary.
21479 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21480 New prototype.
21481
21482 * include/grub/test.h: Fix functional test modules' naming.
21483 * grub-core/tests/example_functional_test.c: Fix test module name.
21484
21485 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21486 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21487 * util/grub-editenv.c: Likewise.
21488 * util/grub-fstest.c: Likewise.
21489 * util/grub-mkdevicemap.c: Likewise.
21490 * util/grub-mkfont.c: Likewise.
21491 * util/grub-mkimage.c: Likewise.
21492 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21493 * util/grub-probe.c: Likewise.
21494 * util/grub-script-check.c: Likewise.
21495 * util/i386/pc/grub-setup.c: Likewise.
21496 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21497
21498 * tests/util/grub-shell.in: Fix override directory path.
21499 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21500 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21501
21502 * util/lvm.c: Update #includes.
21503 * util/raid.c: Likewise.
21504 * util/resolve.c: Likewise.
21505 * grub-core/bus/emu/pci.c: Likewise.
21506 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21507 * grub-core/lib/posix_wrap/string.h: Likewise.
21508 * grub-core/kern/emu/main.c: Likewise.
21509
21510 * grub-core/gensymlist.sh: New file. Script for generating kernel
21511 symbols file.
21512 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21513
21514 * grub-core/gentrigtables.c: Fix unused variable warnings.
21515
21516 * Makefile.in: Removed.
21517 * conf/any-emu.rmk: Removed.
21518 * conf/common.rmk: Removed.
21519 * conf/i386-coreboot.rmk: Removed.
21520 * conf/i386-efi.rmk: Removed.
21521 * conf/i386-ieee1275.rmk: Removed.
21522 * conf/i386-multiboot.rmk: Removed.
21523 * conf/i386-pc.rmk: Removed.
21524 * conf/i386-qemu.rmk: Removed.
21525 * conf/i386.rmk: Removed.
21526 * conf/mips-yeeloong.rmk: Removed.
21527 * conf/mips.rmk: Removed.
21528 * conf/powerpc-ieee1275.rmk: Removed.
21529 * conf/sparc64-ieee1275.rmk: Removed.
21530 * conf/tests.rmk: Removed.
21531 * conf/x86-efi.rmk: Removed.
21532 * conf/x86_64-efi.rmk: Removed.
21533 * gendistlist.sh: Removed.
21534 * geninitheader.sh: Removed.
21535 * genkernsyms.sh.in: Removed.
21536 * genmk.rb: Removed.
21537 * gensymlist.sh.in: Removed.
21538 * mkinstalldirs: Removed.
21539 * boot: Moved ...
21540 * grub-core/boot: ... to here.
21541 * bus: Moved ...
21542 * grub-core/bus: ... to here.
21543 * commands: Moved ...
21544 * grub-core/commands: ... to here.
21545 * disk: Moved ...
21546 * grub-core/disk: ... to here.
21547 * efiemu: Moved ...
21548 * grub-core/efiemu: ... to here.
21549 * font: Moved ...
21550 * grub-core/font: ... to here.
21551 * fs: Moved ...
21552 * grub-core/fs: ... to here.
21553 * gencmdlist.sh: Moved ...
21554 * grub-core/gencmdlist.sh: ... to here.
21555 * genemuinit.sh: Moved ...
21556 * grub-core/genemuinit.sh: ... to here.
21557 * genemuinitheader.sh: Moved ...
21558 * grub-core/genemuinitheader.sh: ... to here.
21559 * genfslist.sh: Moved ...
21560 * grub-core/genfslist.sh: ... to here.
21561 * genhandlerlist.sh: Moved ...
21562 * grub-core/genhandlerlist.sh: ... to here.
21563 * genmoddep.awk: Moved ...
21564 * grub-core/genmoddep.awk: ... to here.
21565 * genmodsrc.sh: Moved ...
21566 * grub-core/genmodsrc.sh: ... to here.
21567 * genpartmaplist.sh: Moved ...
21568 * grub-core/genpartmaplist.sh: ... to here.
21569 * genparttoollist.sh: Moved ...
21570 * grub-core/genparttoollist.sh: ... to here.
21571 * genterminallist.sh: Moved ...
21572 * grub-core/genterminallist.sh: ... to here.
21573 * gentrigtables.c: Moved ...
21574 * grub-core/gentrigtables.c: ... to here.
21575 * genvideolist.sh: Moved ...
21576 * grub-core/genvideolist.sh: ... to here.
21577 * gettext: Moved ...
21578 * grub-core/gettext: ... to here.
21579 * gfxmenu: Moved ...
21580 * grub-core/gfxmenu: ... to here.
21581 * gnulib: Moved ...
21582 * grub-core/gnulib: ... to here.
21583 * hello: Moved ...
21584 * grub-core/hello: ... to here.
21585 * hook: Moved ...
21586 * grub-core/hook: ... to here.
21587 * io: Moved ...
21588 * grub-core/io: ... to here.
21589 * kern: Moved ...
21590 * grub-core/kern: ... to here.
21591 * lib: Moved ...
21592 * grub-core/lib: ... to here.
21593 * loader: Moved ...
21594 * grub-core/loader: ... to here.
21595 * mmap: Moved ...
21596 * grub-core/mmap: ... to here.
21597 * normal: Moved ...
21598 * grub-core/normal: ... to here.
21599 * partmap: Moved ...
21600 * grub-core/partmap: ... to here.
21601 * parttool: Moved ...
21602 * grub-core/parttool: ... to here.
21603 * script: Moved ...
21604 * grub-core/script: ... to here.
21605 * term: Moved ...
21606 * grub-core/term: ... to here
21607 * tests/example_functional_test.c: Moved ...
21608 * grub-core/tests/example_functional_test.c: ... to here.
21609 * tests/lib/functional_test.c: Moved ...
21610 * grub-core/tests/lib/functional_test.c: ... to here.
21611 * tests/lib/test.c: Moved ...
21612 * grub-core/tests/lib/test.c: ... to here.
21613 * video: Moved ...
21614 * grub-core/video: ... to here.
21615
645586e6
BC
216162010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21617
21618 Replace --enable-grub-emu-modules with grub-emu-lite.
21619
21620 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21621 cache.S.
21622
21623 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21624 * kern/emu/full.c: New file. For grub-emu specific initialization.
21625 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21626 * kern/emu/main.c: Call initialization function grub_emu_init.
21627
21628 * Makefile.in: Include grub-emu-lite in install.
21629 * commands/parttool.c: Use grub_no_autoload to differentiate
21630 between grub-emu and grub-emu-lite.
21631 * include/grub/misc.h: New variable grub_no_autoload.
21632
21633 * conf/any-emu.rmk: New rules for grub-emu-lite.
21634 * configure.ac: Remove --enable-grub-emu-modules.
21635 * genmk.rb: Cleanup unnecessary rules.
21636 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21637
21638 * normal/main.c: Don't load list files on grub-emu-lite.
21639 * util/misc.c (grub_arch_sync_caches): Removed.
21640
f86a4030
CW
216412010-08-23 Colin Watson <cjwatson@ubuntu.com>
21642
21643 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21644 grub-mkimage rather than grub-mkelfimage.
21645 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21646
06776944
VS
216472010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21648
21649 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21650 a key after CapsLock or NumLock. It's just a qemu bug.
21651
df262419
VS
216522010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21655 needed by libusb wrapper.
21656
b40ea81b
ST
216572010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21658
21659 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21660
dee50575
VS
216612010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21664 --nounzip is passed.
21665
fb1d7b79
VS
216662010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 USB hotunplugging and USB serial support.
21669
21670 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21671 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21672 (grub_uhci_transfer): Respect timeout and set *actual.
21673 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21674 non-standard length.
21675 (grub_usb_device_attach): Autoload modules.
21676 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21677 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21678 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21679 users updated.
21680 (grub_usb_add_hub): Fill nports and children.
21681 (attach_root_port): Receive hub instead of controller.
21682 All users updated. Fill hub->devices.
21683 (grub_usb_root_hub): Allocate hub->devices.
21684 (detach_device): New function.
21685 (poll_nonroot_hub): Fill children and detach devices.
21686 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21687 actual arguments. All users updated.
21688 (grub_usb_bulk_read_extended): New function.
21689 * bus/usb/serial/common.c: New file.
21690 * bus/usb/serial/ftdi.c: Likewise.
21691 * bus/usb/serial/pl2303.c: Likewise.
21692 * commands/terminal.c (handle_command): Support wildcard.
21693 * commands/usbtest.c: Output "Unknown" instead of empty string.
21694 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21695 (usbserial_common_mod_SOURCES): New variable.
21696 (usbserial_common_mod_CFLAGS): Likewise.
21697 (usbserial_common_mod_LDFLAGS): Likewise.
21698 (pkglib_MODULES): Add usbserial_pl2303.mod.
21699 (usbserial_pl2303_mod_SOURCES): New variable.
21700 (usbserial_pl2303_mod_CFLAGS): Likewise.
21701 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21702 (pkglib_MODULES): Add usbserial_ftdi.mod.
21703 (usbserial_ftdi_mod_SOURCES): New variable.
21704 (usbserial_ftdi_mod_CFLAGS): Likewise.
21705 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21706 (pkglib_MODULES): Add serial.mod.
21707 (serial_mod_SOURCES): New variable.
21708 (serial_mod_CFLAGS): Likewise.
21709 (serial_mod_LDFLAGS): Likewise.
21710 * conf/i386-pc.rmk: Likewise.
21711 * conf/mips-yeeloong.rmk: Likewise.
21712 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21713 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21714 * disk/usbms.c (first_available_slot): New variable.
21715 (grub_usbms_attach): Don't reuse free slots due to potential cache
21716 problems.
21717 * include/grub/serial.h: Moved to ..
21718 * include/grub/ns8250.h: ...this.
21719 * include/grub/serial.h: New file.
21720 * include/grub/term.h (grub_term_poll_usb): New variable.
21721 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21722 readkey. All users updated.
21723 (grub_terminfo_output_state): Pass term to put.
21724 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21725 (grub_usb_controller_dev): Add timeout and actual arguments to
21726 transfer. All users updated.
21727 (grub_usb_interface): New field detach_data.
21728 (grub_usb_device): New fields children and nports.
21729 (grub_usb_ep_type_t): New type.
21730 (grub_usb_get_ep_type): New function.
21731 (grub_usb_bulk_read_extended): Likewise.
21732 * include/grub/usbdesc.h (grub_usb_desc): New type.
21733 * include/grub/usbserial.h: New file.
21734 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21735 * kern/term.c (grub_term_poll_usb): New variable.
21736 (grub_getkey): Call grub_term_poll_usb if set.
21737 (grub_checkkey): Likewise.
21738 (grub_getkeystatus): Likewise.
21739 * term/serial.c: Moved controller-specific parts to ...
21740 * term/ns8250.c: ... here.
21741 * term/serial.c: Mostly rewritten.
21742 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21743 according to spec.
21744
21a313de
RM
217452010-08-20 Robert Millan <rmh@gnu.org>
21746
21747 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21748 a separate module and maybe other interesting combinations.
21749
21750 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21751 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21752 (kfreebsd_entry): Add generic filesystem module load routine.
21753 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21754
63c734a6
CW
217552010-08-20 Colin Watson <cjwatson@ubuntu.com>
21756
21757 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21758 "numcenter" (I misunderstood the purpose of this entry).
21759 * docs/grub.texi (sendkey): Likewise.
21760
c4d16542
CW
217612010-08-20 Colin Watson <cjwatson@ubuntu.com>
21762
21763 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21764 status flag options; simply omitting the option is equivalent and
21765 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21766 (keysym_table): Rename "num5numlock" to "numlock".
21767 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21768 can uniformly say that only the last of multiple `sendkey'
21769 invocations has any effect.
21770 * docs/grub.texi (sendkey): New section.
21771
93541d66
CW
217722010-08-19 Colin Watson <cjwatson@ubuntu.com>
21773
21774 * commands/i386/pc/sendkey.c (options): Fix three typos.
21775
b4ece5e1
VS
217762010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 Implement sendkey support.
21779
21780 * commands/i386/pc/sendkey.c: New file.
21781 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21782 (sendkey_mod_SOURCES): New variable.
21783 (sendkey_mod_CFLAGS): Likewise.
21784 (sendkey_mod_LDFLAGS): Likewise.
21785
51f1f5af
CW
217862010-08-18 Colin Watson <cjwatson@ubuntu.com>
21787
21788 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21789 fix warnings from Autoconf.
21790
9da94e05
CW
217912010-08-18 Colin Watson <cjwatson@ubuntu.com>
21792
21793 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21794 to avoid false positives with some assemblers that output things
21795 like "someprefix_func" as part of their output.
21796
729a0f2e
RM
217972010-08-15 Robert Millan <rmh@gnu.org>
21798
21799 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21800 errors.
21801 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21802 grub_get_libzfs_handle() errors.
21803
f3710e08
RM
218042010-08-14 Robert Millan <rmh@gnu.org>
21805
21806 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21807 filesystem is not ZFS.
21808
7a3c13de
BC
218092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21810
21811 Fix for misspelled color names defaulting to black/black (bug
21812 reported by Doug Nazar)
21813
21814 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21815 status to prototype.
21816 * normal/color.c (grub_parse_color_name_pair): Return failure
21817 status.
21818 (grub_env_write_color_normal): Ignore bad color names.
21819 (grub_env_write_color_highlight): Likewise.
21820 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21821
ab8ba50d
BC
218222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21823
21824 "shift" command support to GRUB script.
21825
21826 * include/grub/script_sh.h (grub_script_shift): New prototype.
21827 * script/execute.c (grub_script_shift): New function.
21828 * script/main.c (grub_script_init): Register shift command.
21829 (grub_script_fini): Unregister shift command.
21830 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21831
21832 * tests/grub_script_shift.in: New testcase.
21833 * conf/tests.rmk: Rules for new testcase.
21834
4d61999e
BC
218352010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21836
21837 "continue" command support to GRUB script.
21838
21839 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21840 (grub_script_break): Continue support.
21841 * script/main.c (grub_script_init): Register continue command.
21842 (grub_script_fini): Unregister continue command.
21843
21844 * tests/grub_script_continue.in: New testcase.
21845 * conf/tests.rmk: Rules for new testcase.
21846
4df51e00
BC
218472010-08-12 BVK Chaitanya <bvk@dbook>
21848
21849 "break" command support to GRUB script.
21850
21851 * conf/common.rmk: Rule updates to grub-script-check.
21852 * include/grub/misc.h (grub_min): New function.
21853 * include/grub/script_sh.h (grub_script_init): New prototype.
21854 (grub_script_fini): New prototype.
21855 (grub_script_break): New prototype.
21856 * script/main.c (grub_script_init): New function.
21857 (grub_script_fini): New function.
21858 * script/execute.c (grub_script_break): New function.
21859 * normal/main.c: Calls to grub_script_{init,fini}.
21860 * util/grub-script-check.c (grub_script_break): New function.
21861
21862 * tests/grub_script_break.in: New testcase.
21863 * conf/tests.rmk: Rules for new test case.
21864
f12c8420
BC
218652010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21866
21867 Function parameters support to GRUB script.
21868
21869 * script/yylex.l (VARIABLE): Regular expression update.
21870 * script/function.c (grub_script_function_call): Moved ...
21871 * script/execute.c (grub_script_function_call): ... to here.
21872 (grub_script_execute_arglist_to_argv): Removed.
21873 (grub_script_arglist_to_argv): New function.
21874 * script/argv.c: New file.
21875 (grub_script_argv_free): New function.
21876 (grub_script_argv_next): Likewise.
21877 (grub_script_argv_append): Likewise.
21878 (grub_script_argv_split_append): Likewise.
21879 * include/grub/script_sh.h (grub_script_argv): New struct.
21880 (grub_script_argv_free): New function.
21881 (grub_script_argv_next): Likewise.
21882 (grub_script_argv_append): Likewise.
21883 (grub_script_argv_split_append): Likewise.
21884
21885 * conf/common.rmk (normal.mod): New source script/argv.c.
21886
21887 * tests/grub_script_echo1.in: More tests.
21888 * tests/grub_script_vars1.in: Likewise.
21889 * tests/grub_script_functions.in: New test case.
21890 * conf/tests.rmk: Rules for new testcase.
21891
8022b748
BC
218922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21893
21894 Remove grub_script_cmdblock struct.
21895
21896 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21897 * script/parser.y: Likewise.
21898 * script/execute.c: Rename cmdblock suffix to cmdlist.
21899 * script/script.c: Likewise.
21900 * util/grub-script-check.c: Likewise.
21901
79a6ba61
YB
219022010-08-11 Yves Blusseau <blusseau@zetam.org>
21903
21904 * .bzrignore: add grub-macho2img
21905
d04b9414
VS
219062010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21909
f947ab49
VS
219102010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Remove the dump of sm712 initialisation sequence.
21913
21914 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21915 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21916 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21917 (GRUB_VGA_CR_*): Added many registers.
21918 (GRUB_VGA_SR_*): Likewise.
21919 (GRUB_VGA_GR_*): Likewise.
21920 (grub_vga_write_arx): New function.
21921 (grub_video_hw_config): New struct.
21922 (grub_vga_set_geometry): New function.
21923 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21924 GRUB_PCI_CLASS_SUBCLASS_VGA.
21925 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21926 * video/sm712.c (grub_sm712_write_reg): New function
21927 (grub_sm712_read_reg): Likewise.
21928 (grub_sm712_sr_write): Likewise.
21929 (grub_sm712_gr_write): Likewise.
21930 (grub_sm712_cr_write): Likewise.
21931 (grub_sm712_write_arx): Likewise.
21932 (grub_sm712_cr_shadow_write): Likewise.
21933 (grub_sm712_write_dda_lookup): Likewise.
21934 (grub_video_sm712_setup): Initialise the video rather then
21935 blindly replay the dump.
21936 (main) [TEST]: Add a routine to be able to compile as standalone for
21937 tests.
21938 * video/sm712_init.c (sm712_init): Removed.
21939 (sm712_sr_seq1): New array.
21940 (sm712_sr_seq2): Likewise.
21941
f0206638
VS
219422010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 * include/grub/vga.h: Add missing grub/pci.h include.
21945
2764da3b
YB
219462010-08-10 Yves Blusseau <blusseau@zetam.org>
21947
21948 * util/grub-macho2img.c (main): fix typo
21949
cf0c775e
VS
219502010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21953 (grub_vga_gr_read): Likewise.
21954 (grub_vga_cr_write): Likewise.
21955 (grub_vga_cr_read): Likewise.
21956 (grub_vga_sr_write): Likewise.
21957 (grub_vga_sr_read): Likewise.
21958 (grub_vga_palette_read): Likewise.
21959 (grub_vga_palette_write): Likewise.
21960 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21961 (grub_sm712_sr_read): New function.
21962 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21963 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21964
07f360e9
RM
219652010-08-09 Robert Millan <rmh@gnu.org>
21966
21967 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21968 out unused variables on non-ZFS build.
21969
346c2072
RM
219702010-08-08 Robert Millan <rmh@gnu.org>
21971
21972 Fix path generation for sub-filesystems in ZFS.
21973
21974 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21975 missing slash.
21976
71175420
RM
219772010-08-08 Robert Millan <rmh@gnu.org>
21978
21979 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21980
0d8286f3
RM
219812010-08-08 Robert Millan <rmh@gnu.org>
21982
21983 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21984 exist, issue a proper error message (rely on `ls' for translated
21985 strings).
21986
55dd2924
RM
219872010-08-08 Robert Millan <rmh@gnu.org>
21988
21989 Fix grub-probe invocation.
21990
21991 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21992
d3dd9e80
RM
219932010-08-04 Robert Millan <rmh@gnu.org>
21994
21995 * configure.ac: Remove checks for getfsstat() and getmntany().
21996 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21997 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21998 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21999 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22000 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22001 function.
22002 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22003 via find_mount_point_from_dir() and getfsstat() / getmntany().
22004
0de22aa9
RM
220052010-08-04 Robert Millan <rmh@gnu.org>
22006
22007 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22008 (grub_find_zpool_from_mount_point): Merge into ...
22009 (grub_find_zpool_from_dir): ... this.
22010 * kern/emu/misc.c: Likewise.
22011
22012 * kern/emu/misc.c
22013 (grub_make_system_path_relative_to_its_root): Replace
22014 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22015 with grub_find_zpool_from_dir().
22016 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22017
62858144
RM
220182010-08-04 Robert Millan <rmh@gnu.org>
22019
22020 Support OpenSolaris in ZFS device resolution.
22021
22022 * configure.ac: Check for getmntany().
22023 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22024 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22025 support.
22026
9dd6fd50
RM
220272010-08-03 Robert Millan <rmh@gnu.org>
22028
22029 Fix grub-emu build.
22030
22031 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22032 * include/grub/emu/misc.h: ... here.
22033
22034 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22035 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22036
22037 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22038 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22039 (grub_get_libzfs_handle): Move to ...
22040 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22041 (grub_get_libzfs_handle): ... here.
22042
c9f7ff97
BC
220432010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22044
22045 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22046 as command name case.
22047
a870a783
CW
220482010-08-02 Colin Watson <cjwatson@ubuntu.com>
22049
22050 * disk/raid.c (insert_array): Select unique numbers for named arrays
22051 as well, for use as keys in the disk cache.
22052
c7db243b
RM
220532010-08-01 Robert Millan <rmh@gnu.org>
22054
22055 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22056 kFreeBSD device name, except on ZFS where the filesystem label is
22057 used.
22058 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22059 `/boot/zfs/zpool.cache'.
22060 Set mountfrom kernel variable using ${kfreebsd_device}.
22061
f7abdefb
RM
220622010-08-01 Robert Millan <rmh@gnu.org>
22063
22064 Make it even harder to use uninitialized `libzfs_handle' (and
22065 make the interface a bit simpler).
22066
22067 * include/grub/util/misc.h (grub_util_init_libzfs)
22068 (libzfs_handle): Remove.
22069 (grub_get_libzfs_handle): New prototype.
22070
22071 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22072 attribute.
22073 (grub_util_init_libzfs): Remove.
22074 (grub_get_libzfs_handle): New function.
22075
22076 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22077 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22078 accessing `libzfs_handle' directly.
22079
c882acc0
RM
220802010-08-01 Robert Millan <rmh@gnu.org>
22081
22082 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22083 (grub_find_zpool_from_mount_point): New function prototypes.
22084
22085 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22086 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22087
22088 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22089 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22090 `static' attribute.
22091
22092 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22093 finding zpool from mount point into ...
22094 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22095
22096 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22097 requested path is part of a ZFS pool, use
22098 grub_find_zpool_from_mount_point() to detect its filesystem name,
22099 and generate a path with `/fsname@path' syntax.
22100
8bfe31d8
CW
221012010-08-01 Colin Watson <cjwatson@ubuntu.com>
22102
22103 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22104 (void) rather than () so that this is a proper prototype.
22105
553df63d
VS
221062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22109
8687cf07
VS
221102010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22113 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22114
ea9be8ea
CW
221152010-08-01 Colin Watson <cjwatson@ubuntu.com>
22116
22117 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22118
6eea041a
CW
221192010-08-01 Colin Watson <cjwatson@ubuntu.com>
22120
22121 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22122
2cfb45df
CW
221232010-08-01 Colin Watson <cjwatson@ubuntu.com>
22124
22125 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22126 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22127 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22128 disable gfxpayload.
22129 (Shell-like scripting): Add real content.
22130 (Serial terminal): Suggest `terminal_input serial; terminal_output
22131 serial' rather than putting the two commands on separate lines,
22132 since console input will be inoperative after the first command.
22133 (menuentry): Document --class, --users, and --hotkey options.
22134 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22135 Vladimir Serbinenko).
22136
7decd202
VS
221372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
221382010-08-01 Colin Watson <cjwatson@ubuntu.com>
22139
22140 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22141
c882acc0
RM
221422010-08-01 Robert Millan <rmh@gnu.org>
22143
22144 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22145 (grub_find_zpool_from_mount_point): New function prototypes.
22146
22147 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22148 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22149
22150 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22151 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22152 `static' attribute.
22153
22154 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22155 finding zpool from mount point into ...
22156 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22157
22158 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22159 requested path is part of a ZFS pool, use
22160 grub_find_zpool_from_mount_point() to detect its filesystem name,
22161 and generate a path with `/fsname@path' syntax.
22162
deb0caa3
RM
221632010-08-01 Robert Millan <rmh@gnu.org>
22164
22165 Prevent accidental use of uninitialized libzfs_handle.
22166
22167 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22168 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22169 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22170
ce04ef47
CW
221712010-08-01 Colin Watson <cjwatson@ubuntu.com>
22172
22173 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22174 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22175
ebf53056
RM
221762010-08-01 Robert Millan <rmh@gnu.org>
22177
22178 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22179
3710bb6b
RM
221802010-07-31 Robert Millan <rmh@gnu.org>
22181
22182 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22183
8072efeb
RM
221842010-07-31 Robert Millan <rmh@gnu.org>
22185
22186 * kern/emu/misc.c: Add missing license header.
22187
3169f4c7
RM
221882010-07-31 Robert Millan <rmh@gnu.org>
22189
22190 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22191
22192 * include/grub/util/libnvpair.h: Include `<config.h>'.
22193 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22194 declaring libnvpair prototypes ourselves.
22195 * include/grub/util/libzfs.h: Include `<config.h>'.
22196 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22197 declaring libzfs prototypes ourselves.
22198
22199 (libzfs_handle): Moved to ...
22200 * include/grub/util/misc.h (libzfs_handle): ... here.
22201 Include `<grub/util/libzfs.h>'.
22202
c9a00aee
RM
222032010-07-30 Robert Millan <rmh@gnu.org>
22204
22205 * include/grub/emu/misc.h: Add missing license header.
22206
a184f9c8
RM
222072010-07-30 Robert Millan <rmh@gnu.org>
22208
22209 Enable `grub-probe -t device' resolution on ZFS.
22210
22211 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22212 * include/grub/util/libnvpair.h: New file.
22213 * include/grub/util/libzfs.h: New file.
22214
22215 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22216 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22217 `<grub/util/libnvpair.h>'.
22218 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22219
22220 (find_mount_point_from_dir): New static function.
22221 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22222 function.
22223 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22224 find_root_device_from_libzfs() before ressorting to find_root_device().
22225
22226 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22227 prototype.
22228 * util/misc.c: Include `<grub/util/libzfs.h>'.
22229 (grub_util_init_libzfs): New function.
22230 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22231 [HAVE_LIBZFS] (fini_libzfs): New static function.
22232 (grub_util_init_libzfs): New function.
22233 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22234
f7790cdd
RM
222352010-07-30 Robert Millan <rmh@gnu.org>
22236
22237 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22238 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22239 `warn_unused_result' attribute.
22240 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22241 (grub_xasprintf, grub_xvasprintf): Likewise.
22242 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22243
0806b63c
RM
222442010-07-29 Robert Millan <rmh@gnu.org>
22245
22246 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22247 (probe): Handle `PRINT_FS_LABEL'.
22248 (main): Handle `-t fs_label'.
22249
9f841f5c
RM
222502010-07-29 Robert Millan <rmh@gnu.org>
22251
22252 * configure.ac: Remove grub-mkisofs checks.
22253
46371121
VS
222542010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22257 Reported by: Lennart Sorensen.
22258
222592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22260
22261 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22262 prior to terminal_input/terminal_output separation. It's been over 1.5
22263 years and those versions weren't widely deployed.
22264
a9600892
CW
222652010-07-22 Colin Watson <cjwatson@ubuntu.com>
22266
22267 * disk/raid.c (insert_array): Don't count named arrays when looking
22268 for unused array numbers.
697e053c 22269 Reported and tested by: Michael Guntsche.
a9600892 22270
c03507df
CW
222712010-07-20 Colin Watson <cjwatson@ubuntu.com>
22272
22273 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22274 implementation of this so that grub-emu links again, with a note
22275 that this should support hotplugging in the future.
22276
b26f1c11
CW
222772010-07-20 Colin Watson <cjwatson@ubuntu.com>
22278
22279 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22280
efc9d7f1
CW
222812010-07-20 Colin Watson <cjwatson@ubuntu.com>
22282
22283 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22284 handle on failure.
22285 (grub_loopback_close): Remove empty function.
22286 (grub_loopback_dev): Remove close method.
22287
dd8ff5c9
CW
222882010-07-20 Colin Watson <cjwatson@ubuntu.com>
22289
22290 Disable EFI cursor when the EFI console becomes inactive.
22291
22292 * term/efi/console.c (grub_efi_console_init): New function.
22293 (grub_efi_console_fini): New function.
22294 (grub_console_term_output): Register init and fini methods.
22295
5e3bec67
VS
222962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22299 sh script.
22300
afaec079
VS
223012010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 * disk/loopback.c (grub_loopback): Replace filename with file.
22304 (delete_loopback): Handle new semantics.
22305 (grub_cmd_loopback): Likewise.
22306 (grub_loopback_iterate): Likewise.
22307 (grub_loopback_close): Likewise.
22308
a6a11f3c
VS
223092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22312 with -p "".
22313 Reported by: Tito Keitel.
22314
64a638b0
VS
223152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * docs/grub.texi (Naming convention): Document new naming convention.
22318
ab8ba957
VS
223192010-07-20 Vadim Solomin <vadic052@gmail.com>
223202010-07-20 Colin Watson <cjwatson@ubuntu.com>
22321
22322 Generate device.map in something closer to the old ordering.
22323
22324 * util/deviceiter.c (struct device): New declaration.
22325 (compare_file_names): Rename to ...
22326 (compare_devices): ... this. Sort by kernel name in preference to
22327 the stable by-id name, but keep the latter as a fallback comparison.
22328 Update header comment.
22329 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22330 of `struct device' rather than of plain file names.
22331
a29d6a4b
TF
223322010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22333
22334 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22335 on i386.
22336
39d824e8
VS
223372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22338
22339 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22340 hardcoding size.
22341 (setv1table): Likewise.
22342
f058276b
FZ
223432010-07-20 Colin Watson <cjwatson@ubuntu.com>
22344
22345 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22346 removing the homehost if present.
22347 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22348 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22349 removing the homehost if present.
22350 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22351 if possible.
22352 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22353
22354 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22355 parameter. Set its pointer target to 0.
22356 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22357 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22358 `data_offset' value from the superblock for 1.x metadata.
22359 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22360 data on the device.
22361 (insert_array): Record the start sector of data on the device.
22362 (grub_raid_register): Pass start_sector parameters to
22363 grub_raid_list->detect and insert_array.
22364 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22365 member.
22366 (struct grub_raid): Add start_sector parameter to `detect'.
22367
22368 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22369 __attribute__ ((packed)), leaving a comment.
22370 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22371 (grub_mdraid_detect_09): ... here and ...
22372 (grub_mdraid_detect_1x): ... here.
22373
223742010-07-20 Peter Henn <peter.henn@web.de>
22375
22376 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22377 chunk size and disk size, which are already given as sector counts
22378 as distinct from the 0.90 units. Fetch the correct device number
22379 from the role table instead of using the table index.
22380
223812010-07-20 Felix Zielcke <fzielcke@z-51.de>
22382
22383 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22384 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22385 (WriteMostly1): New macro.
22386 Set array->name to NULL for metadata format 0.90. Add support for
22387 metadata 1.x. Fix some comments.
22388 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22389 few comments.
22390 * util/getroot.c (grub_util_get_grub_dev): Add support for
22391 /dev/md/name style devices.
22392
4b761da9
CW
223932010-07-20 Colin Watson <cjwatson@ubuntu.com>
22394
22395 * .bzrignore: Ignore 20_linux_xen.
22396
5771289a
CW
223972010-07-17 Colin Watson <cjwatson@ubuntu.com>
22398
22399 * util/import_unicode.py: Remove unnecessary imports.
22400
5dab68df
AN
224012010-07-17 Aleš Nesrsta <starous@volny.cz>
22402
22403 Hotplugging and USB hub support.
22404
22405 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22406 (grub_ohci): Likewise.
22407 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22408 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22409 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22410 (GRUB_OHCI_CTRL_EDS): Likewise.
22411 (GRUB_OHCI_BULK_EDS): Likewise.
22412 (GRUB_OHCI_TDS): Likewise.
22413 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22414 (grub_ohci_ed_phys2virt): New function.
22415 (grub_ohci_virt_to_phys): Likewise.
22416 (grub_ohci_td_phys2virt): Likewise.
22417 (grub_ohci_td_virt2phys): Likewise.
22418 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22419 attachment.
22420 (grub_ohci_find_ed): New function.
22421 (grub_ohci_alloc_td): Likewise.
22422 (grub_ohci_free_td): Likewise.
22423 (grub_ohci_free_tds): Likewise.
22424 (grub_ohci_transfer): Use previously allocated memory.
22425 (grub_ohci_portstatus): Reset status changed bit.
22426 (grub_ohci_detect_dev): Supply status changed.
22427 (grub_ohci_fini_hw): Free memory.
22428 (grub_ohci_restore_hw): Reallocate memory.
22429 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22430 Reset status change.
22431 (grub_uhci_detect_dev): Supply status_change.
22432 * bus/usb/usb.c (attach_hooks): New var.
22433 (grub_usb_device_attach): New function.
22434 (grub_usb_register_attach_hook_class): Likewise.
22435 (grub_usb_unregister_attach_hook_class): Likewise.
22436 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22437 (grub_usb_add_hub): Reset connection changed bit.
22438 (attach_root_port): New function.
22439 (grub_usb_root_hub): Likewise.
22440 (poll_nonroot_hub): Likewise.
22441 (grub_usb_poll_devices): Likewise.
22442 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22443 * disk/usbms.c (grub_usbms_open): Use device hooks.
22444 (grub_usbms_iterate) :Poll devices.
22445 (grub_usbms_finddevs): Split into ...
22446 (grub_usbms_attach): ... this ...
22447 (grub_usbms_attach): ... and this.
22448 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22449 in detect_dev.
22450 (grub_usb_interface): New fields attached and detach_hook.
22451 (grub_usb_attach_hook_class): New type.
22452 (grub_usb_attach_desc): New struct.
22453 (grub_usb_register_attach_hook_class): New function.
22454 (grub_usb_unregister_attach_hook_class): Likewise.
22455 (grub_usb_poll_devices): Likewise.
22456 (grub_usb_device_attach): Likewise.
22457 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22458 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22459
3222efaf
VS
224602010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22463 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22464 delta determination style. Works with most NetBSD partitions too.
22465
139b714a
VS
224662010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22469 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22470
986aad56
VS
224712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22474
99be513c
AB
224752010-07-14 Anton Blanchard <anton@samba.org>
22476
22477 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22478 ET_DYN files.
22479
18075f62
GS
224802010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22481
22482 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22483
8d9a5b15
GS
224842010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22485
22486 * kern/partition.c (grub_partition_check_containment): New function to
22487 check that a partition is physically contained in a parent. Since
22488 offsets are relative (and non-negative), this reduces to checking that
22489 the partition ends before its parent.
22490 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22491 (grub_partition_iterate): Likewise.
22492 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22493 comments.
22494 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22495 partitions that start before their parent, and add debug printfs.
22496
19563c25
CW
224972010-07-13 Colin Watson <cjwatson@ubuntu.com>
22498
22499 * Makefile.in (.SUFFIX): Spell correctly, as ...
22500 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22501 bare module name without `.mod', e.g. `test') tried to invoke a
22502 Modula-2 compiler.
22503
1a1f1e67
CW
225042010-07-13 Colin Watson <cjwatson@ubuntu.com>
22505
22506 * README: Point to the Info manual.
22507
811b0dca
JS
225082010-07-13 Jiro SEKIBA <jir@unicus.jp>
22509
22510 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22511 2nd superblock position from partition size.
22512
e4f4eafc
CW
225132010-07-10 Colin Watson <cjwatson@ubuntu.com>
22514
22515 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22516 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22517 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22518 outputs.
22519
4274c30f
VS
225202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22521
22522 Restructure SCSI .id handling.
22523 Reported and tested by: Aleš Nesrsta.
22524
22525 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22526 (grub_atapi_dev): Changed .name to "ata". New field .id.
22527 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22528 (grub_usbms_dev): New field .id.
22529 * disk/scsi.c (grub_scsi_iterate): Generate name.
22530 (grub_scsi_open): Parse name.
22531 * include/grub/scsi.h (grub_make_scsi_id): New function.
22532 (grub_scsi_dev): Change iterate and open to number instead of naming
22533 busses. All users updated.
22534 (grub_scsi): Remove name. Add .bus.
22535
5bc24388
VS
225362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 * commands/help.c (grub_cmd_help): Fix a typo.
22539
249975ba
VS
225402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22543 Reported and tested by: Colin Watson.
22544
3eaac1a1
VS
225452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22548 in this context.
22549
becce1b1
VS
225502010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22553
f7bf0918
CW
225542010-07-07 Colin Watson <cjwatson@ubuntu.com>
22555
22556 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22557 indentation.
22558
0b0f9620
CW
225592010-07-06 Colin Watson <cjwatson@ubuntu.com>
22560
22561 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22562 and disk/raid6_recover.c.
22563 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22564 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22565
1e545469
CW
225662010-07-06 Colin Watson <cjwatson@ubuntu.com>
22567
22568 * term/gfxterm.c (repaint_schedulded): Rename to ...
22569 (repaint_scheduled): ... this. Update all callers.
22570 (repaint_was_schedulded): Rename to ...
22571 (repaint_was_scheduled): ... this. Update all callers.
22572
5357687a
CW
225732010-07-06 Colin Watson <cjwatson@ubuntu.com>
22574
22575 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22576 which we expect to be handled by upper layers.
22577
29d7e783
BC
225782010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22579
22580 * bus/usb/usbhub.c: #include time.h header.
22581
37582066
CW
225822010-07-06 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22585 entry_name also for entries without stat blocks (e.g. ".."); fixes
22586 corruption of the first entry in a directory.
22587
c8c06953
CW
225882010-07-06 Colin Watson <cjwatson@ubuntu.com>
22589
22590 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22591 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22592 doesn't work otherwise.
22593
e75056f1
CW
225942010-07-05 Colin Watson <cjwatson@ubuntu.com>
22595
22596 * docs/grub.texi (Features): Update list of supported file systems.
22597 (GNU/Linux): Update for GRUB 2.
22598 (Serial terminal): Remove mention of --disable-serial, which was a
22599 GRUB Legacy configure option. Update instructions to use
22600 `terminal_input' and `terminal_output' rather than `terminal'.
22601 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22602 configuration' and `Installing GRUB using grub-install'.
22603 (Menu entry editor): Update for GRUB 2.
22604 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22605 Document new -a, -u, and -v options.
22606 (initrd): New section.
22607 (initrd16): New section.
22608 (linux): New section.
22609 (linux16): New section.
22610 (search): The `var' argument to `--set' is optional.
22611 (GRUB only offers a rescue shell): Go into a little more detail on
22612 drive ordering.
22613
5cf69151
CW
226142010-07-05 Colin Watson <cjwatson@ubuntu.com>
22615
22616 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22617
e3f90044
CW
226182010-07-05 Colin Watson <cjwatson@ubuntu.com>
22619
22620 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22621 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22622
38d8f4f3
CW
226232010-07-05 Colin Watson <cjwatson@ubuntu.com>
22624
22625 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22626 install_prefix, in line with install_dos_part and install_bsd_part.
22627 Add new prefix variable, which is copied to install_prefix after
22628 comparing core.img in memory with the one read from disk in the
22629 no-embedding case, and use that rather than overwriting
22630 install_prefix immediately when installing to a partition.
22631 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22632 Bicakci.
22633
57ebd41e
GS
226342010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22635
22636 * configure.ac: Avoid == in test command, it's not portable.
22637 * util/grub.d/30_os-prober.in: Likewise.
22638
cb7f64b2
CW
226392010-07-04 Colin Watson <cjwatson@ubuntu.com>
22640
22641 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22642
6b654bb0
GS
226432010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22644
22645 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22646 multiple (top-level) partmaps.
22647
72a2026d
VS
226482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22651 Reported by: Tino Keitel.
72a2026d 22652
df3eb88f
VS
226532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 Bidi and diacritics support.
22656
22657 * Makefile.in (widthspec.bin): New target.
22658 (widthspec.h): Likewise.
22659 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22660 * autogen.sh: Generate unidata.c.
22661 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22662 * commands/ls.c (grub_ls_list_devices): Likewise.
22663 (grub_ls_list_files): Likewise.
22664 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22665 (grub_mini_cmd_lsmod): Likewise.
22666 * commands/read.c: Likewise.
22667 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22668 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22669 * lib/arg.c (grub_arg_show_help): Likewise.
22670 * lib/crypto.c (grub_password_get): Likewise.
22671 * normal/auth.c (grub_username_get): Likewise.
22672 * normal/misc.c (grub_normal_print_device_info): Likewise.
22673 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22674 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22675 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22676 (normal/charset.c_DEPENDENCIES): New variable.
22677 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22678 (pkglib_MODULES): Remove charset.mod.
22679 (charset_mod_SOURCES): Removed.
22680 (charset_mod_CFLAGS): Likewise.
22681 (charset_mod_LDFLAGS): Likewise.
22682 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22683 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22684 and term/tparm.c.
22685 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22686 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22687 (kernel_img_HEADERS): Add terminfo.h.
22688 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22689 Fill ->font. Reverse ascii bitmaps.
22690 (grub_font_get_xheight): New function.
22691 * font/font.c (grub_font_get_string_width): Moved from here ...
22692 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22693 * font/font.c (grub_font_draw_string): Moved from here ...
22694 * gfxmenu/font.c (grub_font_draw_string): ... here.
22695 * font/font.c (grub_font_dup_glyph): New function.
22696 (grub_font_blit_glyph): Likewise.
22697 (grub_font_blit_glyph_mirror): Likewise.
22698 (blit_comb): Likewise.
22699 (grub_font_construct_dry_run): Likewise.
22700 (grub_font_get_constructed_device_width): Likewise.
22701 (grub_font_construct_glyph): Likewise.
22702 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22703 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22704 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22705 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22706 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22707 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22708 (grub_font_get_xheight): New proto.
22709 (grub_font_get_constructed_device_width): Likewise.
22710 (grub_font_construct_glyph): Likewise.
22711 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22712 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22713 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22714 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22715 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22716 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22717 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22718 (grub_console_getcharwidth): Likewise.
22719 * include/grub/misc.h (grub_xputs): New proto.
22720 (grub_puts): Inlined.
22721 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22722 (grub_normal_get_line_counter): Removed.
22723 (grub_install_newline_hook): Likewise.
22724 (grub_normal_get_char_counter): New proto.
22725 (grub_normal_reset_more): Likewise.
22726 (grub_xputs_normal): Likewise.
22727 * include/grub/powerpc/ieee1275/console.h: Removed.
22728 * include/grub/sparc64/ieee1275/console.h: Likewise.
22729 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22730 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22731 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22732 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22733 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22734 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22735 (grub_term_input): Pass reference to self. All users updated.
22736 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22737 Pass reference to self. New fields normal_color, highlight_color and
22738 data. All users updated.
22739 (grub_putchar): Removed.
22740 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22741 (grub_unicode_estimate_width): New function.
22742 (grub_term_getcharwidth): Add defaults.
22743 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22744 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22745 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22746 (grub_cls): Remove EXPORT_FUNC.
22747 (grub_setcolorstate): Inline.
22748 (grub_newline_hook): Removed.
22749 * include/grub/terminfo.h: Rewritten. All users updated.
22750 * include/grub/unicode.h: New file.
22751 * include/grub/video.h (grub_video_signed_rect): New type.
22752 * kern/emu/console.c (grub_console_highlight_color): Removed.
22753 (grub_console_normal_color): Likewise.
22754 (grub_console_standard_color): Made static.
22755 (grub_ncurses_putchar): Remove mapping.
22756 (grub_ncurses_getcharwidth): Removed.
22757 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22758 (grub_ncurses_setcolor): Removed.
22759 (grub_ncurses_getcolor): Likewise.
22760 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22761 (grub_console_putchar): ... this.
22762 (grub_console_putchar): Handle argument difference.
22763 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22764 console_init_early and console_init_lately.
22765 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22766 * kern/misc.c (grub_puts): Removed.
22767 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22768 (grub_vsnprintf_real): Remove str = NULL support.
22769 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22770 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22771 * kern/term.c (grub_putcode): Renamed to ...
22772 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22773 (grub_putchar): Removed.
22774 (grub_xputs_dumb): New function.
22775 (grub_xputs): New variable.
22776 * lib/charset.c: Move from here ...
22777 * normal/charset.c: ... to here.
22778 (grub_ucs4_to_utf8): New function.
22779 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22780 (join_types): New variable.
22781 (unpack_join): New function.
22782 (bidi_types): New variable.
22783 (unpack_bidi): New function.
22784 (get_bidi_type): Likewise.
22785 (get_join_type): Likewise.
22786 (is_mirrored): Likewise.
22787 (grub_unicode_get_comb_type): Likewise.
22788 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22789 (is_type_after): Likewise.
22790 (grub_unicode_aglomerate_comb): Likewise.
22791 (bidi_line_wrap): Likewise.
22792 (grub_bidi_line_logical_to_visual): Likewise.
22793 (grub_bidi_logical_to_visual): Likewise.
22794 (grub_unicode_mirror_code): Likewise.
22795 (grub_unicode_shape_code): Likewise.
22796 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22797 Don't use grub_putchar.
22798 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22799 (grub_normal_reader_init): Likewise.
22800 (grub_xputs_saved): New variable.
22801 (GRUB_MOD_INIT): Set grub_xputs.
22802 (GRUB_MOD_FINI): Restore grub_xputs.
22803 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22804 (menu_init): Avoid printing gfxmenu error.
22805 (show_menu): Use grub_normal_get_char_counter.
22806 * normal/menu_entry.c (update_screen): Fix out-of-array.
22807 (complete): Avoid NULL dereferencing.
22808 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22809 * normal/menu_text.c (print_spaces): Removed.
22810 (grub_print_ucs4): Likewise.
22811 (grub_print_message_indented): Use grub_print_ucs4.
22812 (print_message): Use grub_putcode.
22813 (print_entry): Hanlde diacritics.
22814 * normal/term.c (term_state): New type.
22815 (grub_more_lines): Removed.
22816 (term_states): New variable.
22817 (grub_normal_line_counter): Renamed to ..
22818 (grub_normal_char_counter): ...this. All users updated.
22819 (grub_normal_get_line_counter): Renamed to ...
22820 (grub_normal_get_char_counter): ... this.
22821 (grub_normal_reset_more): New function.
22822 (process_newline): Removed.
22823 (print_more): New function.
22824 (grub_install_newline_hook): Removed.
22825 (map_code): New function.
22826 (grub_puts_terminal): Use grub_print_ucs4.
22827 (putglyph): New function.
22828 (putcode_real): Likewise.
22829 (grub_putcode): Use putcode_real.
22830 (get_maxwidth): New function.
22831 (get_startwidth): Likewise.
22832 (print_ucs4_terminal): Likewise.
22833 (find_term_state): Likewise.
22834 (put_glyphs_terminal): Likewise.
22835 (print_backlog): Likewise.
22836 (print_ucs4_real): Likewise.
22837 (grub_print_ucs4): Likewise.
22838 (grub_xputs_normal): Likewise.
22839 * term/efi/console.c (grub_console_putchar): Output diacritics.
22840 (grub_console_getcharwidth): Removed.
22841 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22842 * term/gfxterm.c (clear_char): Free chars.
22843 (scroll_up): Avoid leaking memory.
22844 (grub_gfxterm_putchar): Support diacritics.
22845 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22846 * term/i386/pc/console.c (grub_console_term_output): Declare as
22847 GRUB_TERM_CODE_TYPE_VGA.
22848 * term/i386/pc/vga.c (grub_vga_term): Declare as
22849 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22850 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22851 GRUB_TERM_CODE_TYPE_VGA.
22852 * term/i386/vga_common.c (map_char): Removed.
22853 (grub_console_putchar): Likewise.
22854 (grub_console_getcharwidth): Likewise.
22855 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22856 (colors): Reordered to match terminfo.
22857 (grub_ofconsole_normal_color): Removed.
22858 (grub_ofconsole_writeesc): Likewise.
22859 (grub_ofconsole_highlight_color): Likewise.
22860 (grub_ofconsole_getcharwidth): Likewise.
22861 (grub_ofconsole_setcolorstate): Likewise.
22862 (grub_ofconsole_setcolor): Likewise.
22863 (grub_ofconsole_getcolor): Likewise.
22864 (grub_ofconsole_readkey): Renamed to ...
22865 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22866 key.
22867 (grub_ofconsole_checkkey): Removed.
22868 (grub_ofconsole_getkey): Likewise.
22869 (grub_ofconsole_getxy): Likewise.
22870 (grub_ofconsole_gotoxy): Likewise.
22871 (grub_ofconsole_cls): Likewise.
22872 (grub_ofconsole_refresh): Likewise.
22873 (grub_ofconsole_terminfo_input): New struct.
22874 (grub_ofconsole_terminfo_output): Likewise.
22875 (grub_ofconsole_term_input): Use terminfo.
22876 (grub_ofconsole_term_output): Likewise.
22877 (grub_console_init): Split into ...
22878 (grub_console_init_early): ...this and ...
22879 (grub_console_init_lately): ...this. Use terminfo.
22880 (grub_ofconsole_putchar): Renamed to ...
22881 (put): ... this. Remove mapping.
22882 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22883 * term/serial.c: Simplify using terminfo.
22884 (xpos): Removed.
22885 (ypos): Likewise.
22886 (keep_track): Likewise.
22887 (registered): Likewise.
22888 (input_buf): Likewise.
22889 (npending): Likewise.
22890 (serial_translate_key_sequence): Likewise.
22891 (fill_input_buf): Likewise.
22892 (grub_serial_checkkey): Likewise.
22893 (grub_serial_getkey): Likewise.
22894 (grub_serial_getxy): Likewise.
22895 (grub_serial_gotoxy): Likewise.
22896 (grub_serial_putchar): Likewise.
22897 (grub_serial_cls): Likewise.
22898 (grub_serial_setcolorstate): Likewise.
22899 (grub_serial_setcursor): Likewise.
22900 (serial_hw_init): Use serial_hw_fetch.
22901 (grub_serial_terminfo_input): New variable.
22902 (grub_serial_terminfo_output): Likewise.
22903 (grub_serial_term_input): Use terminfo.
22904 (grub_serial_term_output): Likewise.
22905 * term/terminfo.c (putstr): Use put.
22906 (grub_terminfo_all_free): New function
22907 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22908 (grub_terminfo_output_register): New function.
22909 (grub_terminfo_output_unregister): Likewise.
22910 (grub_terminfo_getxy): Likewise.
22911 (grub_terminfo_readkey): Likewise.
22912 (grub_terminfo_checkkey): Likewise.
22913 (grub_terminfo_getkey): Likewise.
22914 (grub_terminfo_input_init): Likewise.
22915 (print_terminfo): Likewise.
22916 (grub_cmd_terminfo): Handle encoding.
22917 (grub_terminfo_gotoxy): Track position.
22918 (grub_terminfo_cls): Likewise.
22919 (grub_terminfo_putchar): Likewise.
22920 (grub_terminfo_setcolorstate): Handle colors
22921 (grub_terminfo_cursor_on): This ...
22922 (grub_terminfo_cursor_off): ... and this merged into ...
22923 (grub_terminfo_setcursor): ... this.
22924 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22925 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22926 * unicode/BidiMirroring.txt: Likewise.
22927 * unicode/UnicodeData.txt: Likewise.
22928 * unicode/COPYING: Likewise.
22929 * util/grub-editenv.c (grub_putchar): Removed.
22930 (grub_xputs_real): New function.
22931 (grub_xputs): New variable.
22932 * util/grub-fstest.c (grub_putchar): Removed.
22933 (grub_xputs_real): New function.
22934 (grub_xputs): New variable.
22935 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22936 (grub_xputs_real): New function.
22937 (grub_xputs): New variable.
22938 * util/grub-probe.c (grub_putchar): Removed.
22939 (grub_xputs_real): New function.
22940 (grub_xputs): New variable.
22941 * util/grub-script-check.c (grub_putchar): Removed.
22942 (grub_xputs_real): New function.
22943 (grub_xputs): New variable.
22944 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22945 (grub_xputs_real): New function.
22946 (grub_xputs): New variable.
22947 * util/import_unicode.py: New file.
22948 * util/grub-mkfont.c (ft_errmsgs): New array.
22949 (grub_glyph_info): Make bitmap a pointer.
22950 (file_formats): New type WIDTH_SPEC.
22951 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22952 (options): Add width-spec.
22953 (help): Likewise.
22954 (add_char): Renamed to ...
22955 (add_glyph): ... this.
22956 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22957 (glyph_replace): New type.
22958 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22959 (add_char): New function.
22960 (add_subst): Likewise.
22961 (process_cursive): Likewise.
22962 (add_font): Handle GSUB.
22963 (write_font_width_spec): New function.
22964 (main): Sort glyphs.
22965 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22966 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22967 * kern/term.c (grub_cls): Moved from here...
22968 * normal/term.c (grub_cls): ... here.
22969
50f0bcda
CW
229702010-07-02 Colin Watson <cjwatson@ubuntu.com>
22971
22972 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22973 suitable for using within the format argument of printf when
22974 converting grub_size_t.
22975 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22976 "x" to convert grub_size_t arguments.
22977
40372103
VS
229782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22979
22980 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22981 too long captions.
22982 (list_get_minimal_size): Take selection box into account.
22983
942a10c7
VS
229842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22987 NULL font.
22988
2bdb2892
CW
229892010-07-02 Colin Watson <cjwatson@ubuntu.com>
22990
22991 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22992 devices when iterating over /dev/disk/by-id; they will be handled
22993 later if appropriate, which they aren't always (e.g. LVM).
22994
e03ed6c1
CW
229952010-07-02 Colin Watson <cjwatson@ubuntu.com>
22996
22997 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22998 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22999 fails.
23000 (grub_halt): Likewise.
23001 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23002 reset-all fails.
23003 (grub_halt): Don't return, even if all of shut-down, power-off, and
23004 poweroff fail.
23005
47695765
CW
230062010-07-02 Colin Watson <cjwatson@ubuntu.com>
23007
23008 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23009 arguments, not three.
23010
507736c8
CW
230112010-07-02 Colin Watson <cjwatson@ubuntu.com>
23012
23013 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23014 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23015 LVM-on-RAID is handled correctly.
23016
e3c8cd37
CW
230172010-07-02 Colin Watson <cjwatson@ubuntu.com>
23018
23019 * docs/grub.texi (Changes from GRUB Legacy): New section.
23020 (Future): Fix typo.
23021
8d4a2fec
CW
230222010-07-02 Colin Watson <cjwatson@ubuntu.com>
23023
23024 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23025 grub.d/README accidentally ends up executable for one reason or
23026 another. Ignore it.
23027
1c4827be
VS
230282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23031 (gpt_partition_map_iterate): Support non-512B sectors.
23032
d9a0c941
VS
230332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23036 Tested by: Seth Goldberg.
23037
48f27e87
VS
230382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23039
23040 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23041 Properly align mbi.
23042 Reported by: Seth Goldberg.
23043
b0c4f956
VS
230442010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 * util/grub-mkrescue.in: Avoid module duplication.
23047
105a2e8c
SF
230482010-07-01 Sean Finney <seanius@seanius.net>
23049
23050 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23051
5944958c
SF
230522010-07-01 Sean Finney <seanius@seanius.net>
23053
23054 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23055
230562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23057
23058 * disk/lvm.c (grub_lvm_checkvalue): New function.
23059 (grub_lvm_check_flag): Likewise.
23060
b79889ba
RM
230612010-07-01 Robert Millan <rmh@gnu.org>
23062
23063 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23064 Support 'p' as partition separator on kernel of FreeBSD (used
23065 with GPT labels).
23066 (grub_util_biosdisk_get_grub_dev): Likewise.
23067
ec1d04f1
VS
230682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 Yeeloong firmware port.
23071
23072 * boot/mips/yeeloong/fwstart.S: New file.
23073 * bus/cs5536.c (gpiodump): New const.
23074 (set_io_space): New function.
23075 (set_iod): Likewise.
23076 (set_p2d): Likewise.
23077 (grub_cs5536_init_geode): Likewise.
23078 * commands/mips/yeeloong/lsspd.c: New file.
23079 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23080 (serial_mod_SOURCES): New variable.
23081 (serial_mod_CFLAGS): Likewise.
23082 (serial_mod_LDFLAGS): Likewise.
23083 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23084 term/terminfo.c and term/tparm.c.
23085 (pkglib_IMAGES): Add fwstart.img.
23086 (fwstart_img_SOURCES): New variable.
23087 (fwstart_img_CFLAGS): Likewise.
23088 (fwstart_img_ASFLAGS): Likewise.
23089 (fwstart_img_LDFLAGS): Likewise.
23090 (fwstart_img_FORMAT): Likewise.
23091 (pkglib_MODULES): Add lsspd.mod.
23092 (lsspd_mod_SOURCES): New variable.
23093 (lsspd_mod_CFLAGS): Likewise.
23094 (lsspd_mod_LDFLAGS): Likewise.
23095 (pkglib_MODULES): Add halt.mod.
23096 (halt_mod_SOURCES): New variable.
23097 (halt_mod_CFLAGS): Likewise.
23098 (halt_mod_LDFLAGS): Likewise.
23099 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23100 (serial_mod_SOURCES): Removed.
23101 (serial_mod_CFLAGS): Likewise.
23102 (serial_mod_LDFLAGS): Likewise.
23103 * disk/ata.c (check_device): New function.
23104 (grub_ata_device_initialize): Use check_device.
23105 (grub_ata_iterate): Recheck devices.
23106 (grub_ata_open): Likewise.
23107 (grub_atapi_iterate): Likewise.
23108 (grub_atapi_open): Likewise.
23109 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23110 (GRUB_ATA_CH1_PORT1): Likewise.
23111 (GRUB_ATA_CH0_PORT2): Likewise.
23112 (GRUB_ATA_CH1_PORT2): Likewise.
23113 * include/grub/mips/loongson.h: New file.
23114 * include/grub/mips/yeeloong/ec.h: Likewise.
23115 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23116 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23117 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23118 * include/grub/misc.h (grub_halt): Declare as noreturn.
23119 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23120 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23121 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23122 (UART_ENABLE_DTRRTS): Likewise.
23123 (UART_ENABLE_MODEM): Removed.
23124 (UART_ENABLE_OUT2): New const.
23125 * include/grub/term.h (grub_term_register_input_active): New function.
23126 (grub_term_register_output_active): Likewise.
23127 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23128 argument.
23129 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23130 (init_pci): New function.
23131 (grub_machine_init): Execute platform init when firmware. Init serial.
23132 (grub_halt): Implement.
23133 (grub_exit): Likewise.
23134 (grub_reboot): Likewise.
23135 * term/serial.c (serial_hw_init): Update macros.
23136 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23137 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23138 (image_targets): New target mipsel-yeeloong-flash.
23139 (generate_image): Support IMAGE_YEELOONG_FLASH.
23140 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23141 (grub_video_sm712_setup): Init card.
23142 (grub_video_sm712_set_palette): Removed.
23143 * video/sm712_init.c: New file.
23144
ff4a70d2
CW
231452010-06-30 Colin Watson <cjwatson@ubuntu.com>
23146
23147 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23148 PATH when running help2man and then run it on the unadorned
23149 executable names, rather than passing $(builddir)/* paths to
23150 help2man. This avoids the build directory ending up in generated
23151 manual pages.
23152
1246efeb
CW
231532010-06-29 Colin Watson <cjwatson@ubuntu.com>
23154
23155 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23156 to avoid accidents when debugging with 'sh -x'.
23157 * util/grub-mkrescue.in: Likewise.
23158 * util/grub.d/00_header.in: Likewise.
23159 * util/grub.d/10_hurd.in: Likewise.
23160 * util/grub.d/10_kfreebsd.in: Likewise.
23161 * util/grub.d/10_linux.in: Likewise.
23162 * util/grub.d/10_netbsd.in: Likewise.
23163 * util/grub.d/10_windows.in: Likewise.
23164 * util/grub.d/20_linux_xen.in: Likewise.
23165 * util/grub.d/30_os-prober.in: Likewise.
23166 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23167
1ba9b889
CW
231682010-06-29 Colin Watson <cjwatson@ubuntu.com>
23169
23170 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23171 last character in the buffer.
23172 Reported by: Vladimir Serbinenko.
23173
dccaf99d
RM
231742010-06-29 Robert Millan <rmh@gnu.org>
23175
23176 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23177 (Command-line and menu entry commands): Document `badram' command.
23178
d500ed12
RM
231792010-06-28 Robert Millan <rmh@gnu.org>
23180
23181 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23182 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23183 command using ${GRUB_BADRAM} as parameter.
23184
20bc84a6
CW
231852010-06-28 Colin Watson <cjwatson@ubuntu.com>
23186
23187 * docs/grub.texi (Device map): New section.
23188 (Themes): New section (stub).
23189 * Makefile.in (docs/grub.info): The info documentation now builds
23190 without errors. Make sure it stays that way.
23191
4045dee1
VS
231922010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 Use normal parser for menu entries.
23195 Reported by: Thomas Frauendorfer
23196
23197 * include/grub/parser.h (grub_parser_execute): Don't export.
23198 * normal/menu.c (grub_menu_execute_entry_real): New function.
23199 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23200
bca58c7b
CW
232012010-06-28 Colin Watson <cjwatson@ubuntu.com>
23202
23203 * docs/grub.texi (Embedded configuration): New section (replacing
23204 old "Preset Menu" stub).
23205 (Images): New section.
23206 (configfile): Note that any menu entries defined in `file' are shown
23207 immediately.
23208
dec53e63
JT
232092010-06-28 Josh Triplett <josh@joshtriplett.org>
23210
23211 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23212
c06e40f7
CW
232132010-06-28 Colin Watson <cjwatson@ubuntu.com>
23214
23215 * util/grub-install.in: Add --debug-image= option.
23216
cb88052b
CW
232172010-06-28 Colin Watson <cjwatson@ubuntu.com>
23218
23219 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23220 possible on Linux.
23221
23222 * util/deviceiter.c (check_device): Rename to ...
23223 (check_device_readable_unique): ... this. Update all callers.
23224 Maintain and check a list of which devices (by canonicalized name)
23225 have already been seen.
23226 (clear_seen_devices): New function.
23227 (compare_file_names) [__linux__]: New function.
23228 (grub_util_iterate_devices): Clear the list of seen devices on exit
23229 and (just in case) on entry.
23230 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23231 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23232 seen-devices list, superseded by general code in check_device.
23233
bbe34652
CW
232342010-06-28 Colin Watson <cjwatson@ubuntu.com>
23235
23236 * commands/cat.c (options): New variable.
23237 (grub_cmd_cat): Parse options. If the --dos option is given, print
23238 DOS-style "\r\n" line endings as simple newlines (Debian bug
23239 #586358).
23240 (GRUB_MOD_INIT): Use extcmd.
23241 (GRUB_MOD_FINI): Likewise.
23242 * docs/grub.texi (cat): Document --dos.
23243
412e09f3
VS
232442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 XEN with Linux grub-mkconfig support.
23247
23248 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23249 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23250 GRUB_CMDLINE_XEN_DEFAULT.
23251 * util/grub.d/20_linux_xen.in: New file.
23252
53f3ef38 232532010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23254
23255 Initialise VGA video on qemu ourselves.
23256
23257 * boot/i386/qemu/boot.S: Don't call 0xc000.
23258 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23259 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23260 (kernel_img_HEADERS): Add pci.h.
23261 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23262 * configure.ac: Force unifont on qemu and yeeloong.
23263 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23264 (grub_vga_palette_write): Use correct register.
23265 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23266 Call grub_qemu_init_cirrus.
23267 * kern/i386/qemu/init.c: New file.
23268 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23269
23270 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23271
c75be4fb
PR
232722010-06-26 Pavel Roskin <proski@gnu.org>
23273
23274 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23275 13.
23276
d8034603
CW
232772010-06-26 Colin Watson <cjwatson@ubuntu.com>
23278
23279 * docs/grub.texi (Simple configuration): Explain that
23280 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23281 set to `true' to disable their respective recovery entries, not
23282 merely set.
23283
3fa06487
CW
232842010-06-26 Colin Watson <cjwatson@ubuntu.com>
23285
23286 Make the `source' command slightly faster.
23287
23288 * normal/main.c (grub_normal_execute): Don't re-read list files when
23289 nested.
23290
e9b29642
CW
232912010-06-23 Colin Watson <cjwatson@ubuntu.com>
23292
23293 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23294 field position and mask size to red fields from mode_info, not
23295 green.
23296 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23297 Remove redundant tag->common.framebuffer_type assignment.
23298 Reported by: Seth Goldberg.
23299
e726542f
CW
233002010-06-23 Colin Watson <cjwatson@ubuntu.com>
23301
23302 Sync up other versions of the Linux loader with Robert Millan's
23303 change of 2010-01-09, "Make loader output a bit more user-friendly".
23304
23305 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23306 grub_dprintf().
23307 (grub_cmd_linux): Likewise.
23308 (grub_cmd_initrd): Likewise.
23309 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23310 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23311
d6e98a17
CW
233122010-06-21 Colin Watson <cjwatson@ubuntu.com>
23313
23314 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23315 larger than MEMORY_MAP_SIZE.
23316
14d3f08e
BC
233172010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23318
23319 Fix parallel build.
23320
23321 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23322 dependency.
23323 * script/parser.y: #include grub_script.tab.h header.
23324
4f9613a3
VS
233252010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23326
23327 Support >3GiB and <16MiB RAM in i386-qemu.
23328
23329 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23330 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23331 (grub_lower_mem): Removed.
23332 (grub_upper_mem): Likewise.
23333 (mem_size): Made static.
23334 (above_4g): New variable.
23335 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23336 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23337 support.
23338
05e51879
VS
233392010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23340
23341 Cirrus 5446 and Bochs video cards support.
23342
23343 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23344 video_bochs.mod
23345 (video_cirrus_mod_SOURCES): New variable.
23346 (video_cirrus_mod_CFLAGS): Likewise.
23347 (video_cirrus_mod_LDFLAGS): Likewise.
23348 (video_bochs_mod_SOURCES): Likewise.
23349 (video_bochs_mod_CFLAGS): Likewise.
23350 (video_bochs_mod_LDFLAGS): Likewise.
23351 * include/grub/vga.h: New file.
23352 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23353 (grub_video_fb_set_page_t): New type.
23354 (grub_video_fb_setup): New prototype.
23355 (grub_video_fb_swap_buffers): Likewise.
23356 (grub_video_fb_get_info_and_fini): Likewise.
23357 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23358 (CRTC_DATA_PORT): Likewise.
23359 (CRTC_CURSOR): Likewise.
23360 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23361 (CRTC_CURSOR_ADDR_LOW): Likewise.
23362 (CRTC_CURSOR_DISABLE): Likewise.
23363 (update_cursor): Use grub_vga_cr_write.
23364 (grub_vga_text_setcursor): Likewise.
23365 * video/bochs.c: New file.
23366 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23367 (palette): Likewise.
23368 (palette_size): Likewise.
23369 (framebuffer): New variable.
23370 (grub_video_fb_init): Use 'framebuffer'.
23371 (grub_video_fb_fini): Likewise.
23372 (grub_video_fb_get_info): Likewise.
23373 (grub_video_fb_get_palette): Likewise.
23374 (grub_video_fb_set_palette): Likewise.
23375 (grub_video_fb_set_viewport): Likewise.
23376 (grub_video_fb_get_viewport): Likewise.
23377 (grub_video_fb_map_color): Likewise.
23378 (grub_video_fb_map_rgb): Likewise.
23379 (grub_video_fb_map_rgba): Likewise.
23380 (grub_video_fb_unmap_color): Likewise.
23381 (grub_video_fb_unmap_color_int): Likewise.
23382 (grub_video_fb_fill_rect): Likewise.
23383 (grub_video_fb_blit_bitmap): Likewise.
23384 (grub_video_fb_blit_render_target): Likewise.
23385 (grub_video_fb_scroll): Likewise.
23386 (grub_video_fb_create_render_target): Likewise.
23387 (grub_video_fb_doublebuf_blit_init): Likewise.
23388 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23389 (doublebuf_pageflipping_update_screen): New function.
23390 (doublebuf_pageflipping_init): Likewise.
23391 (grub_video_fb_setup): Likewise.
23392 (grub_video_fb_swap_buffers): Likewise.
23393 (grub_video_fb_get_info_and_fini): Likewise.
23394 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23395 All users updated.
23396 (doublebuf_pageflipping_commit): Restructured into ...
23397 (doublebuf_pageflipping_set_page): ... this.
23398 (doublebuf_pageflipping_update_screen): Removed.
23399 (doublebuf_pageflipping_init): Likewise.
23400 (double_buffering_init): Likewise.
23401 (grub_video_vbe_setup): Use grub_video_fb_setup.
23402 (grub_video_vbe_swap_buffers): Removed.
23403 (grub_video_vbe_set_active_render_target): Likewise.
23404 (grub_video_vbe_get_active_render_target): Likewise.
23405 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23406 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23407 grub_video_fb_set_active_render_target and
23408 grub_video_fb_get_active_render_target.
23409 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23410 (SEQUENCER_DATA_PORT): Likewise.
23411 (MAP_MASK_REGISTER): Likewise.
23412 (CRTC_ADDR_PORT): Likewise.
23413 (CRTC_DATA_PORT): Likewise.
23414 (START_ADDR_HIGH_REGISTER): Likewise.
23415 (START_ADDR_LOW_REGISTER): Likewise.
23416 (GRAPHICS_ADDR_PORT): Likewise.
23417 (GRAPHICS_DATA_PORT): Likewise.
23418 (READ_MAP_REGISTER): Likewise.
23419 (INPUT_STATUS1_REGISTER): Likewise.
23420 (INPUT_STATUS1_VERTR_BIT): Likewise.
23421 (get_map_mask): Use grub_vga_sr_read.
23422 (set_map_mask): Use grub_vga_sr_write.
23423 (set_read_map): Use grub_vga_gr_write.
23424 (set_start_address): Use grub_vga_cr_write.
23425 * video/sm712.c (framebuffer): Remove leftover fields.
23426
4321c64a
CW
234272010-06-20 Colin Watson <cjwatson@ubuntu.com>
23428
23429 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23430 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23431 instead. Replace the gfxterm backend check with a check that
23432 ${GRUB_PREFIX}/video.lst is non-empty.
23433 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23434 again.
23435 (load_video): New generated function. Call it before loading
23436 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23437 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23438 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23439 * docs/grub.texi (Simple configuration): Document
23440 GRUB_VIDEO_BACKEND.
23441
234422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 Use video functions in linux and xnu loaders.
23445
23446 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23447 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23448 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23449 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23450 loader/i386/pc/linux.c.
23451 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23452 (find_line_len): Removed.
23453 (find_framebuf): Likewise.
23454 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23455 * loader/i386/efi/xnu.c: Removed.
23456 * loader/i386/pc/xnu.c: Moved from here...
23457 * loader/i386/xnu.c: ...here.
23458
23459 Enable priorities in video drivers.
23460
23461 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23462 (grub_video_adapter): New field prio.
23463 (grub_video_register): Respect prio when inserting.
23464 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23465 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23466 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23467 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23468 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23469 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23470 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23471
23472 Fix SDL driver ID.
23473
23474 * include/grub/video.h (grub_video_driver_id_t): New value
23475 GRUB_VIDEO_DRIVER_SDL.
23476 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23477
7d24e434
CW
234782010-06-17 Colin Watson <cjwatson@ubuntu.com>
23479
23480 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23481 argument to printf.
23482 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23483
c88a83f6
CW
234842010-06-17 Colin Watson <cjwatson@ubuntu.com>
23485
23486 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23487 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23488
094dfb69
CW
234892010-06-17 Colin Watson <cjwatson@ubuntu.com>
23490
23491 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23492 directly, and recommend grub-install instead.
23493 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23494
2164da6b
CW
234952010-06-17 Colin Watson <cjwatson@ubuntu.com>
23496
23497 Fix i386-pc prefix handling with nested partitions (Debian bug
23498 #585068). Note that the case where the core image is booted using
23499 multiboot and relocated from its original location still requires
23500 more work.
23501
23502 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23503 with "(,", fill the boot drive in between those two characters, but
23504 expect that a full partition specification including partition map
23505 names will follow.
23506 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23507 specified, write a prefix without the drive name but including a
23508 full partition specification.
23509
044e2e60
CW
235102010-06-16 Colin Watson <cjwatson@ubuntu.com>
23511
23512 * util/grub-mkconfig.in: Ignore non-option arguments, for
23513 compatibility with older versions (before 2010-06-12) which did the
23514 same. In particular, this makes it easier to ship an update-grub
23515 wrapper which is compatible with that used with GRUB Legacy (Debian
23516 bug #586056).
23517
5591324f
GS
235182010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23519
23520 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23521 for manual page generation.
23522
662e24d5
GS
235232010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23524
23525 * po/POTFILES: Remove leftover commands/handler.c.
23526
8d70754e
CW
235272010-06-14 Colin Watson <cjwatson@ubuntu.com>
23528
23529 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23530 left this script non-functional.
23531
41160e2e
CW
235322010-06-14 Colin Watson <cjwatson@ubuntu.com>
23533
23534 * docs/man/grub-emu.h2m: New file.
23535
b5309cc1
CW
235362010-06-13 Colin Watson <cjwatson@ubuntu.com>
23537
23538 * docs/grub.texi (Commands): Document reduced command set in rescue
23539 mode.
23540 (cpuid): New section.
23541
fcb2d090
GS
235422010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23543
23544 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23545 new partition naming style.
23546 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23547
96e5c556
BC
235482010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23549
23550 Add "-o grub.iso" like cmdline options support.
23551
23552 * util/grub-install.in: Improve cmdline option parsing.
23553 * util/grub-mkconfig.in: Likewise.
23554 * util/grub-mkrescue.in: Likewise.
23555 * util/grub-reboot.in: Likewise.
23556 * util/grub-set-default.in: Likewise.
23557 * util/i386/efi/grub-install.in: Likewise.
23558 * util/ieee1275/grub-install.in: Likewise.
23559 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23560
c16be99b
CW
235612010-06-12 Colin Watson <cjwatson@ubuntu.com>
23562
23563 * .bzrignore: Ignore 41_custom.
23564
ce08a9fb
TS
235652010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23566
23567 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23568
7beac90c
CW
235692010-06-12 Colin Watson <cjwatson@ubuntu.com>
23570
23571 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23572 prototype declarations.
23573
23574 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23575 generating fs, partmap, and video lists.
23576 * include/grub/fs.h (grub_fs_register): Omit prototype if
23577 GRUB_LST_GENERATOR is defined.
23578 * include/grub/partition.h (grub_partition_map_register): Likewise.
23579 * include/grub/video.h (grub_video_register): Likewise.
23580
1c8f0f8d
JM
235812010-06-12 Javier Martín <lordhabbit@gmail.com>
23582
23583 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23584
a6085973
TS
235852010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23586
23587 * util/grub-mkrescue.in: Support --xorriso argument.
23588
25c56d29
VS
235892010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23590
23591 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23592 Suggested by: Thomas Schmitt.
23593
e03e4b24
VS
235942010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23595
23596 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23597 Suggested by: Thomas Schmitt.
23598
57711df6
VS
235992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 custom.cfg support.
23602
23603 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23604 * util/grub.d/41_custom.in: New file.
23605
ee62c427
CW
236062010-06-12 Colin Watson <cjwatson@ubuntu.com>
23607
23608 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23609 been merged back into normal.
23610
283af07a
CW
236112010-06-11 Colin Watson <cjwatson@ubuntu.com>
23612
23613 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23614 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23615
56a0d956
CW
236162010-06-11 Colin Watson <cjwatson@ubuntu.com>
23617
23618 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23619 when generating manual pages.
23620 * docs/man/grub-bin2h.h2m: New file.
23621 * docs/man/grub-editenv.h2m: New file.
23622 * docs/man/grub-fstest.h2m: New file.
23623 * docs/man/grub-install.h2m: New file.
23624 * docs/man/grub-macho2img.h2m: New file.
23625 * docs/man/grub-mkconfig.h2m: New file.
23626 * docs/man/grub-mkdevicemap.h2m: New file.
23627 * docs/man/grub-mkfont.h2m: New file.
23628 * docs/man/grub-mkimage.h2m: New file.
23629 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23630 * docs/man/grub-mkrelpath.h2m: New file.
23631 * docs/man/grub-mkrescue.h2m: New file.
23632 * docs/man/grub-ofpathname.h2m: New file.
23633 * docs/man/grub-pe2elf.h2m: New file.
23634 * docs/man/grub-probe.h2m: New file.
23635 * docs/man/grub-reboot.h2m: New file.
23636 * docs/man/grub-script-check.h2m: New file.
23637 * docs/man/grub-set-default.h2m: New file.
23638 * docs/man/grub-setup.h2m: New file.
23639
3a37e322
VS
236402010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 Use FOR_* macros instead of *_iterate whenever possible.
23643
23644 * commands/handler.c: Removed.
23645 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23646 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23647 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23648 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23649 (grub_probe_SOURCES): Remove kern/parser.c.
23650 (util/grub-script-check.c_DEPENDENCIES): Removed.
23651 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23652 and grub_script_check_init.c.
23653 (grub_script_check_init.lst): Removed.
23654 (grub_script_check_init.h): Likewise.
23655 (grub_script_check_init.c): Likewise.
23656 (pkglib_MODULES): Remove handler.mod and sh.mod.
23657 (handler_mod_SOURCES): Removed.
23658 (handler_mod_CFLAGS): Likewise.
23659 (handler_mod_LDFLAGS): Likewise.
23660 (normal_mod_SOURCES): Remove normal/handler.c.
23661 Add script/main.c, script/script.c, script/execute.c,
23662 script/function.c, script/lexer.c, grub_script.tab.c
23663 and grub_script.yy.c.
23664 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23665 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23666 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23667 (grub_setup_SOURCES): Remove kern/parser.c.
23668 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23669 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23670 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23671 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23672 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23673 (grub_setup_SOURCES): Remove kern/parser.c.
23674 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23675 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23676 * include/grub/command.h (grub_command_iterate): Removed.
23677 (FOR_COMMANDS): New macro.
23678 * include/grub/dl.h (grub_dl): New member next.
23679 (grub_dl_iterate): Removed.
23680 (grub_dl_head): New variable declaration.
23681 (FOR_DL_MODULES): New macro.
23682 * include/grub/fs.h: Include list.h.
23683 (grub_fs): Make next first element.
23684 (grub_fs_list): New variable declaration.
23685 (grub_fs_register): Make inline.
23686 (grub_fs_unregister): Likewise.
23687 (grub_fs_iterate): Removed.
23688 (FOR_FILESYSTEMS): New macro.
23689 * include/grub/handler.h: Removed.
23690 * include/grub/list.h (grub_list_hook_t): Removed.
23691 (grub_list_test_t): Likewise.
23692 (grub_list_pop): Likewise.
23693 (grub_list_iterate): Likewise.
23694 (grub_list_insert): Likewise.
23695 (FOR_LIST_ELEMENTS): New macro.
23696 * include/grub/parser.h (grub_parser_class): Removed.
23697 (grub_parser_register): Likewise.
23698 (grub_parser_unregister): Likewise.
23699 (grub_parser_get_current): Likewise.
23700 (grub_parser_set_current): Likewise.
23701 (grub_register_rescue_parser): Likewise.
23702 (grub_rescue_parse_line): New function.
23703 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23704 * include/grub/script_sh.h (grub_script_function_list): New variable
23705 declaration.
23706 (FOR_SCRIPT_FUNCTIONS): New macro.
23707 (grub_script_function_iterate): Removed.
23708 (grub_normal_parse_line): New prototype.
23709 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23710 (FOR_DISABLED_TERM_INPUTS): Likewise.
23711 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23712 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23713 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23714 element.
23715 (grub_video_register): Inline.
23716 (grub_video_unregister): Likewise.
23717 (grub_video_adapter_list): New variable declaration.
23718 (grub_video_iterate): Removed.
23719 (FOR_VIDEO_ADAPTERS): New macro.
23720 * kern/dl.c (grub_dl_list): Removed. All users updated.
23721 (grub_dl_iterate): Removed.
23722 * kern/fs.c (grub_fs_list): Make global.
23723 (grub_fs_register): Removed.
23724 (grub_fs_unregister): Likewise.
23725 (grub_fs_iterate): Likewise.
23726 * kern/handler.c: Removed.
23727 * kern/list.c (grub_list_pop): Removed.
23728 (grub_list_iterate): Likewise.
23729 (grub_list_insert): Likewise.
23730 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23731 (grub_prio_list_insert): Don't use grub_list_insert.
23732 * kern/main.c (grub_register_rescue_parser): Don't call
23733 grub_register_rescue_parser.
23734 * kern/parser.c (grub_parser_class): Removed.
23735 (grub_parser_execute): Use grub_rescue_parse_line.
23736 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23737 (grub_rescue_parser): Removed.
23738 (grub_register_rescue_parser): Likewise.
23739 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23740 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23741 (grub_auth_check_authentication): Likewise.
23742 * normal/completion.c (iterate_command): Removed.
23743 (grub_normal_do_completion): Use FOR_COMMANDS.
23744 * normal/handler.c: Removed.
23745 * normal/main.c (read_config_file): Remove parser changing.
23746 (grub_normal_execute): Don't call read_handler_list.
23747 (grub_normal_read_line_real): Statically allocate prompt.
23748 (grub_cmdline_run): Use grub_normal_parse_line.
23749 (GRUB_MOD_FINI): Don't call free_handler_list.
23750 * normal/menu_entry.c (run): Likewise.
23751 * script/function.c (grub_script_function_list): Make global.
23752 (grub_script_function_iterate): Removed.
23753 * script/main.c (grub_normal_parse_line): Make global.
23754 (grub_sh_parser): Removed.
23755 (GRUB_MOD_INIT): Likewise.
23756 (GRUB_MOD_FINI): Likewise.
23757 * tests/lib/functional_test.c (grub_functional_test): Use
23758 FOR_LIST_ELEMENTS.
23759 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23760 (grub_test_run): Use FOR_LIST_ELEMENTS.
23761 * tests/lib/unit_test.c (main): Likewise.
23762 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23763 grub_list_pop.
23764 * util/grub-fstest.c (grub_term_input_class): Removed.
23765 (grub_term_output_class): Likewise.
23766 * util/grub-probe.c: Likewise.
23767 * util/i386/pc/grub-setup.c: Likewise.
23768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23769 * util/grub-script-check.c (main): Don't call grub_init_all and
23770 grub_fini_all.
23771 * video/video.c (grub_video_adapter_list): Make global.
23772 (grub_video_register): Removed.
23773 (grub_video_unregister): Likewise.
23774 (grub_video_iterate): Likewise.
23775
6289c3a7
VS
237762010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23779 reported by Henrique Ferreiro.
23780
91460247
RM
237812010-06-09 Robert Millan <rmh@gnu.org>
23782
23783 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23784 ones, when both are available.
23785
0ea7c4f9
GS
237862010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23787
23788 Make --version uniform and avoid hard-coded program name.
23789
23790 * util/grub-mkimage.c (main): Use `program_name' instead of
23791 hard-coded string.
23792 * util/i386/pc/grub-setup.c (main): Likewise.
23793 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23794 * util/grub-install.in: Save the basename of $0 in $self, and use the
23795 latter in informational messages. Use the same format for --version
23796 as the binary programs.
23797 * util/grub-mkconfig.in: Likewise.
23798 * util/grub-mkrescue.in: Likewise.
23799 * util/grub-reboot.in: Likewise.
23800 * util/grub-set-default.in: Likewise.
23801 * util/i386/efi/grub-install.in: Likewise.
23802 * util/ieee1275/grub-install.in: Likewise.
23803 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23804
e8a6f3b6
GS
238052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23806
23807 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23808 embedding area. Use <= instead of == when checking for non-emptiness.
23809
f4d095d7
GS
238102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23811
23812 * configure.ac: Add `.' to the directories searched for unifont.
23813
50e532ca
CW
238142010-06-08 Colin Watson <cjwatson@ubuntu.com>
23815
23816 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23817 grub_script.yy.h.
23818
d39f3dec
CW
238192010-06-08 Colin Watson <cjwatson@ubuntu.com>
23820
23821 * docs/grub.texi (History): Expand to cover GRUB 2.
23822 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23823 commands, not `terminal'.
23824 (serial): Likewise.
23825 (terminal_input): New section.
23826 (terminal_output): New section.
23827 (uppermem): New section (stub).
23828 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23829
6ef0ddb4
CW
238302010-06-08 Colin Watson <cjwatson@ubuntu.com>
23831
23832 * docs/grub.texi (Security): Menu entries are unrestricted by
23833 default, not restricted to superusers as I had previously thought.
23834 Reword to account for this.
23835
e0f4c438
CW
238362010-06-07 Colin Watson <cjwatson@ubuntu.com>
23837
23838 * kern/emu/misc.c (device_mapper_null_log): New function.
23839 (grub_device_mapper_supported): New function.
23840 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23841 prototype.
23842 * kern/emu/hostdisk.c (find_partition_start): Check whether
23843 device-mapper is supported before trying to use it.
23844 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23845
da908200
CW
238462010-06-07 Colin Watson <cjwatson@ubuntu.com>
23847
23848 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23849 (File name syntax): Likewise.
23850 (help): --all is no longer supported in GRUB 2. Be more precise
23851 about pattern matching.
23852
fb55c3ac
CW
238532010-06-07 Colin Watson <cjwatson@ubuntu.com>
23854
23855 * normal/completion.c (grub_normal_do_completion): When completing
23856 arguments to "set" and the current word contains an equals sign,
23857 skip to after the equals sign before starting completion.
23858
258c2573
CW
238592010-06-07 Colin Watson <cjwatson@ubuntu.com>
23860
23861 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23862
ee75515e
CW
238632010-06-07 Colin Watson <cjwatson@ubuntu.com>
23864
23865 * docs/grub.texi (Network): New section.
23866 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23867 `(nd)' as in GRUB Legacy.
23868 (pxe_unload): New section.
23869
a6a700aa
CW
238702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23871
23872 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23873 in the rescue shell, so recommend using `set' instead. Thanks,
23874 Jordan Uggla.
23875
4003dd38
CW
238762010-06-07 Colin Watson <cjwatson@ubuntu.com>
23877
23878 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23879 (password): New section.
23880 (password_pbkdf2): New section.
23881 (search): New section.
23882 (Security): New section.
23883 (Troubleshooting): New section, currently very incomplete.
23884 (Invoking grub-mkpasswd-pbkdf2): New section.
23885 (Internals): New section, currently very incomplete.
23886
e1cbcc40
CW
238872010-06-07 Colin Watson <cjwatson@ubuntu.com>
23888
23889 * util/grub.d/00_header.in: Add some more quoting (of
23890 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23891 work again.
23892 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23893
db8fa1ad
CW
238942010-06-07 Colin Watson <cjwatson@ubuntu.com>
23895
23896 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23897 to `count', fixing variable shadowing that broke the -c option.
23898
238992010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23900
23901 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23902 in case they contain spaces.
23903
f28a9212
CW
239042010-06-04 Colin Watson <cjwatson@ubuntu.com>
23905
23906 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23907 "part_" to partmap module names, in line with grub-install.
23908 Reported by: Jindřich Makovička (Debian bug #584426).
23909
9cdfe32f
CW
239102010-06-04 Colin Watson <cjwatson@ubuntu.com>
23911
23912 * util/grub-mkimage.c: Make target-related error messages slightly
23913 more helpful; -O talks about "format". Explicitly point to the use
23914 of -O if no target is specified.
23915 Reported by: Didier Raboud (Debian bug #584415).
23916
795b593a
CW
239172010-06-03 Colin Watson <cjwatson@ubuntu.com>
23918
23919 * INSTALL: Document several build requirements for optional features
23920 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23921
9d9b5833
GS
239222010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23923
23924 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23925 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23926 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23927
0819fec8
CW
239282010-06-02 Colin Watson <cjwatson@ubuntu.com>
23929
23930 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23931 Thanks to Jordan Uggla for spotting this.
23932
49396b4f
VS
239332010-06-02 Aleš Nesrsta <starous@volny.cz>
23934
23935 Finally make USB usable.
23936
23937 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23938 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23939 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23940 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23941 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23942 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23943 (GRUB_OHCI_FSMPS): Likewise.
23944 (GRUB_OHCI_PERIODIC_START): Likewise.
23945 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23946 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23947 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23948 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23949 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23950 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23951 (grub_ohci_transaction): Likewise.
23952 (grub_ohci_transfer): Improve condition detection algorithms.
23953 Handle toggle property. Program the transactions correctly.
23954 Improve error handling. Various important fixups.
23955 (grub_ohci_portstatus): Put register writes in right order.
23956 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23957 (grub_uhci_transfer): Don't show "failed" message on success.
23958 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23959 array.
23960 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23961 determine its size.
23962 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23963 before initialization is completed. Use IN direction for empty
23964 transfers. Use last_trans and compute toggle.
23965 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23966 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23967 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23968 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23969 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23970 (grub_usb_device): Increase toggle to 256.
23971 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23972 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23973 GRUB_USBMS_SUBCLASS_SFF8070.
23974 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23975 (grub_scsi_inquiry): New member page and alloc_length.
23976 (grub_scsi_request_sense): New structure.
23977 (grub_scsi_request_sense_data): Likewise.
23978 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23979 control.
23980 * disk/scsi.c (grub_scsi_request_sense): New function.
23981 (grub_scsi_test_unit_ready): Likewise.
23982 (grub_scsi_inquiry): Fill new fields.
23983 (grub_scsi_read_capacity): Likewise.
23984 (grub_scsi_read10): Add request sense at the end.
23985 (grub_scsi_read12): Likewise.
23986 (grub_scsi_write10): Likewise.
23987 (grub_scsi_write12): Likewise.
23988 (grub_scsi_open): Add Test Unit Ready.
23989 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23990 Support additional subclasses. Con't clear halt yet. Activate the
23991 proper config. Calculate LUNs correctly.
23992 (grub_usbms_transfer): Various important fixups.
23993
239942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23997 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23998 (grub_ohci_fini_hw): New function.
23999 (grub_ohci_restore_hw): Likewise.
24000 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24001 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24002 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24003
240042010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24005
24006 Dedicated DMA allocations.
24007
24008 * bus/pci.c (grub_memalign_dma32): New function
24009 (grub_dma_free): Likewise.
24010 (grub_dma_get_virt): Likewise.
24011 (grub_dma_get_phys): Likewise.
24012 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24013 (grub_ohci_pci_iter): Use dma32_alloc.
24014 (grub_ohci_transfer): Likewise.
24015 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24016 (grub_usb_bulk_readwrite): Likewise.
24017 * include/grub/pci.h: Add declarations.
24018
240192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24020
24021 CS5536 support.
24022
24023 * bus/cs5536.c: New file.
24024 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24025 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24026 (cs5536_mod_SOURCES): New variable.
24027 (cs5536_mod_CFLAGS): Likewise.
24028 (cs5536_mod_LDFLAGS): Likewise.
24029 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24030 machine/pci.h.
24031 (kernel_img_SOURCES): Add bus/cs5536.c.
24032 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24033 usb_keyboard.mod.
24034 (usb_mod_SOURCES): New variable.
24035 (usb_mod_CFLAGS): New variable.
24036 (usb_mod_LDFLAGS): New variable.
24037 (usbtest_mod_SOURCES): New variable.
24038 (usbtest_mod_CFLAGS): New variable.
24039 (usbtest_mod_LDFLAGS): New variable.
24040 (ohci_mod_SOURCES): New variable.
24041 (ohci_mod_CFLAGS): New variable.
24042 (ohci_mod_LDFLAGS): New variable.
24043 (usbms_mod_SOURCES): New variable.
24044 (usbms_mod_CFLAGS): New variable.
24045 (usbms_mod_LDFLAGS): New variable.
24046 (usb_keyboard_mod_SOURCES): New variable.
24047 (usb_keyboard_mod_CFLAGS): New variable.
24048 (usb_keyboard_mod_LDFLAGS): New variable.
24049 * include/grub/smbus.h: New file.
24050 * include/grub/cs5536.h: New file.
24051
0b35b2a9
CW
240522010-06-02 Colin Watson <cjwatson@ubuntu.com>
24053
24054 * util/grub.d/00_header.in: Add safety check to make sure that
24055 ${locale_dir} exists before trying to probe it.
24056
ca0afd5b
CW
240572010-06-02 Colin Watson <cjwatson@ubuntu.com>
24058
24059 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24060 per the GNU Coding Standards; this is now too obscure to be worth
24061 documenting.
24062 (QNX): Likewise.
24063 (chainloader): Remove cross-reference to `SCO UnixWare'.
24064
1c41aa78
CW
240652010-06-02 Colin Watson <cjwatson@ubuntu.com>
24066
24067 * docs/grub.texi (Chain-loading): New section.
24068 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24069 adjusted for GRUB 2.
24070 (SCO UnixWare): Likewise.
24071 (QNX): Likewise.
24072 (chainloader): Add reference to `Block list syntax'.
24073 (drivemap): New section.
24074 (parttool): New section.
24075
bb8ea0f5
CW
240762010-06-02 Colin Watson <cjwatson@ubuntu.com>
24077
24078 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24079 the grub shell'.
24080 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24081 (Installing GRUB using grub-install): Remove reference to the grub
24082 shell; mention `grub-mkimage' and `grub-setup' instead.
24083 (Invoking grub-install): Likewise.
24084 (Interface): Add reference to `Menu entry editor'.
24085 (serial): Remove `--device' option.
24086
288dd6ed
CW
240872010-06-02 Colin Watson <cjwatson@ubuntu.com>
24088
24089 * docs/grub.texi (Configuration): New section, documenting
24090 configuration file generation using grub-mkconfig. I've left a slot
24091 for documenting the full shell scripting format but have not yet
24092 started on writing that up.
24093 (Invoking grub-mkconfig): New section.
24094
34c9f0e9
CW
240952010-06-02 Colin Watson <cjwatson@ubuntu.com>
24096
24097 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24098 (GNU GRUB manual): Likewise.
24099 (General commands): Update description of `terminfo' for GRUB 2.
24100
9121567e
CW
241012010-06-02 Colin Watson <cjwatson@ubuntu.com>
24102
24103 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24104 (GRUB_MOD_INIT): Fix capitalisation.
24105 * docs/grub.texi (Command-line and menu entry commands): Document
24106 gettext and gptsync commands.
24107
ab631611
CW
241082010-06-02 Colin Watson <cjwatson@ubuntu.com>
24109
24110 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24111 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24112
bde4a9ac
CW
241132010-06-01 Colin Watson <cjwatson@ubuntu.com>
24114
24115 Add btrfs probing support, currently only in the single-device case.
24116
24117 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24118 function.
24119 (grub_guess_root_device): Call find_root_device_from_mountinfo
24120 before looking in /dev.
24121
b1d17e10
VS
241222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24123
24124 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24125 GRUB_DISK_SIZE_UNKNOWN.
24126 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24127
dfbfe004
JS
241282010-05-31 Jiro SEKIBA <jir@unicus.jp>
24129
24130 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24131 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24132 corrupted or not synced properly.
24133
c2ffc8e9
VS
241342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24137 Reported by: Seth Goldberg.
24138
56293166
VS
241392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24142 addition of dest.
24143 Reported by: Seth Goldberg.
24144
7620e7de
VS
241452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24148 Reported by: Seth Goldberg.
24149
c837af3f
VS
241502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24151
24152 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24153 64-bit address as signed on MIPS.
24154
c7c75cf4
CW
241552010-05-28 Colin Watson <cjwatson@ubuntu.com>
24156
24157 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24158 to the empty string.
24159
fa4b8490
BC
241602010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24161
24162 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24163
24164 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24165 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24166 * kern/misc.c (__enable_execute_stack): Disable on
24167 GRUB_MACHINE_EMU.
24168
a33075b9
CW
241692010-05-28 Colin Watson <cjwatson@ubuntu.com>
24170
24171 Make grub-probe work with symbolic links under /dev/mapper as well
24172 as with real block devices. The Linux world seems to be (at best)
24173 in transition here, and GRUB shouldn't get caught in the middle.
24174
24175 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24176 /dev/mapper.
24177
d8708134
CW
241782010-05-27 Colin Watson <cjwatson@ubuntu.com>
24179
24180 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24181 input files (in which case exit zero).
24182
db2102a0
CW
241832010-05-27 Colin Watson <cjwatson@ubuntu.com>
24184
24185 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24186 return NULL for various reasons even if it has a maximum-length
24187 buffer: for example, there might be a symlink loop, or the path
24188 might exceed PATH_MAX. If this happens, return NULL.
24189
5fdba519
RM
241902010-05-27 Robert Millan <rmh@gnu.org>
24191
24192 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24193 partmap module to handle cross-partmap setups.
24194 Reported by Orestes Mas. Gràcies!
24195
d1d368e4
CW
241962010-05-27 Colin Watson <cjwatson@ubuntu.com>
24197
24198 * util/grub-mkrescue.in: Initialise override_dir rather than
24199 assuming that it's unset or empty in the environment.
24200
95ac3c73
GS
242012010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24202
24203 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24204 variable index into p_index to suppress a warning with -Wshadow.
24205
7d8c0213
BC
242062010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24207
24208 * INSTALL: Added flex >= 2.5.35 requirement.
24209
db4d5813
VS
242102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24211
24212 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24213
f24f4300
VS
242142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24215
24216 cmostest support.
24217
24218 * commands/i386/cmostest.c: New file.
24219 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24220 (cmostest_mod_SOURCES): New variable.
24221 (cmostest_mod_CFLAGS): Likewise.
24222 (cmostest_mod_LDFLAGS): Likewise.
24223 * conf/i386-pc.rmk: Likewise.
24224 * docs/grub.texi (Vendor power-on keys): New section.
24225 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24226 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24227 and GRUB_BUTTON_CMOS_ADDRESS.
24228 * util/grub.d/00_header.in: Handle powering-on by separate button.
24229
ad603f61
VS
242302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24231
24232 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24233 Removed drawing_scrollbar argument. All users updated
24234 Fixes #29792.
24235 Reported by Jo Shields
24236
3ecb080a
VS
242372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24240 buffer since gfxterm handles double repaint.
24241
5f2316c1
VS
242422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24245 * term/gfxterm.c (real_scroll): Likewise.
24246
9a25f885
VS
242472010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24250 before calling BIOS.
24251
39fbb79a
VS
242522010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * include/grub/i18n.h: Always enable grub_gettext.
24255
228cfa97
VS
242562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24259 partition naming style.
24260
21717c8f
CW
242612010-05-21 Colin Watson <cjwatson@ubuntu.com>
24262
24263 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24264 not the first option.
24265
c0f48e65
CW
242662010-05-20 Colin Watson <cjwatson@ubuntu.com>
24267
24268 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24269
96779aec
CW
242702010-05-20 Colin Watson <cjwatson@ubuntu.com>
24271
24272 * util/misc.c: Move inclusion of <limits.h> to ...
24273 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24274
fa9d256e
GS
242752010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24276
24277 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24278 Fix merge error in NetBSD code.
24279 (find_partition_start) [__NetBSD__]: Likewise.
24280
123b7a85
BC
242812010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24282
24283 Fix grub-mkrescue usage unit testing.
24284
24285 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24286
74276c0d
CF
242872010-05-18 Christian Franke <franke@computer.org>
24288
24289 * util/grub.d/10_windows.in: Use path names instead of
24290 drive letters to prevent warning from Cygwin 1.7.
24291 Add drivemap command to menuentry if needed.
24292
c4f7b523
ST
242932010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24294
24295 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24296 gnumach and gnumach.gz.
24297
95b97950
VS
242982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24299
24300 * include/grub/i18n.h (gettext): Inline instead of using #define.
24301 (grub_gettext): Likewise.
24302 (_): Likewise.
24303
01b8d2d7
VS
243042010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24305
24306 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24307 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24308 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24309 (main): Add a slash after pkglibdirroot.
24310
654e1d1e
VS
243112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * util/grub-install.in: Add missing "in" keyword.
24314
26966aeb
VS
243152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24316
24317 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24318 Reported by: Seth Goldberg.
24319
75006747
VS
243202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24323
74cbf5bd
CW
243242010-05-18 Colin Watson <cjwatson@ubuntu.com>
24325
24326 * configure.ac: Check for Linux device-mapper support.
24327
24328 * util/hostdisk.c (device_is_mapped): New function.
24329 (find_partition_start): New function, partly broken out from
24330 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24331 device-mapper support added.
24332 (linux_find_partition): Use find_partition_start.
24333 (convert_system_partition_to_system_disk): Add `st' argument.
24334 Support Linux /dev/mapper/* devices if device-mapper support is
24335 available; only DM-RAID devices are understood at present.
24336 (find_system_device): Add `st' argument. Pass it to
24337 convert_system_partition_to_system_disk.
24338 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24339 find_system_device and convert_system_partition_to_system_disk. Use
24340 find_partition_start.
24341
24342 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24343 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24344 * util/deviceiter.c [__linux__]: Define MINOR.
24345 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24346 * util/mkdevicemap.c (grub_putchar): New function.
24347 (grub_getkey): New function.
24348 (grub_refresh): New function.
24349 (main): Set debug=all if -v -v is used.
24350
355b51e9
CW
243512010-05-18 Colin Watson <cjwatson@ubuntu.com>
24352
24353 Fix build with non-GNU libcs.
24354
24355 * util/misc.c (canonicalize_file_name): Move to ...
24356 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24357 grub_make_system_path_relative_to_its_root.
24358
7fb5c25f
CW
243592010-05-18 Colin Watson <cjwatson@ubuntu.com>
24360
24361 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24362 we handle finding grub-mkimage. Default to finding grub-mkimage in
24363 ${bindir} with program_transform_name applied, and provide a
24364 --grub-mkimage option to override this.
24365
1d3293d6
VS
243662010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 Remove grub-mkisofs.
24369
24370 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24371 (grub_mkisofs_SOURCES): Removed.
24372 (grub_mkisofs_CFLAGS): Removed.
24373 * util/mkisofs/defaults.h: Removed.
24374 * util/mkisofs/eltorito.c: Likewise.
24375 * util/mkisofs/exclude.h: Likewise.
24376 * util/mkisofs/hash.c: Likewise.
24377 * util/mkisofs/include/: Likewise.
24378 * util/mkisofs/include/fctldefs.h: Likewise.
24379 * util/mkisofs/include/mconfig.h: Likewise.
24380 * util/mkisofs/include/prototyp.h: Likewise.
24381 * util/mkisofs/include/statdefs.h: Likewise.
24382 * util/mkisofs/iso9660.h: Likewise.
24383 * util/mkisofs/joliet.c: Likewise.
24384 * util/mkisofs/match.c: Likewise.
24385 * util/mkisofs/match.h: Likewise.
24386 * util/mkisofs/mkisofs.c: Likewise.
24387 * util/mkisofs/mkisofs.h: Likewise.
24388 * util/mkisofs/msdos_partition.h: Likewise.
24389 * util/mkisofs/multi.c: Likewise.
24390 * util/mkisofs/name.c: Likewise.
24391 * util/mkisofs/rock.c: Likewise.
24392 * util/mkisofs/tree.c: Likewise.
24393 * util/mkisofs/write.c: Likewise.
24394
5dde9afe
VS
243952010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 Unify grub-mkimage accross platforms.
24398
24399 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24400 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24401 (grub_mkelfimage_SOURCES): Removed.
24402 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24403 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24404 (bin_UTILITIES): Add grub-mkimage.
24405 (grub_mkimage_SOURCES): New variable.
24406 (kernel_img_HEADERS): Remove machine/kernel.h.
24407 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24408 (pkglib_PROGRAMS): Add kernel.img.
24409 (kernel_img_HEADERS): Add machine/kernel.h.
24410 (kernel_img_FORMAT): Removed.
24411 (bin_UTILITIES): Remove grub-mkimage.
24412 (grub_mkimage_SOURCES): Removed.
24413 (grub_mkimage_CFLAGS): Likewise.
24414 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24415 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24416 (pkglib_PROGRAMS): Add kernel.img.
24417 (bin_UTILITIES): Remove grub-mkimage.
24418 (grub_mkimage_SOURCES): Removed.
24419 (grub_mkimage_CFLAGS): Likewise.
24420 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24421 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24422 (pkglib_PROGRAMS): Add kernel.img.
24423 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24424 (pkglib_PROGRAMS): Add kernel.img.
24425 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24426 (grub_mkimage_SOURCES): Removed.
24427 (grub_mkimage_CFLAGS): Likewise.
24428 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24429 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24430 (pkglib_PROGRAMS): Add kernel.img.
24431 (bin_UTILITIES): Remove grub-mkimage.
24432 (grub_mkimage_SOURCES): Removed.
24433 (grub_mkimage_CFLAGS): Likewise.
24434 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24435 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24436 (grub_mkimage_SOURCES): Removed.
24437 (grub_mkimage_CFLAGS): Likewise.
24438 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24439 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24440 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24441 (grub_pe32_optional_header): ... this.
24442 (grub_pe64_optional_header): ... and this. All users updated.
24443 (GRUB_PE32_PE32_MAGIC): Split into ..
24444 (GRUB_PE32_PE32_MAGIC): .. this.
24445 (GRUB_PE32_PE64_MAGIC): .. and this.
24446 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24447 * include/grub/elf.h (PT_GNU_STACK): New definition.
24448 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24449 * include/grub/i386/efi/kernel.h: Likewise.
24450 * include/grub/i386/kernel.h: Likewise.
24451 * include/grub/i386/pc/kernel.h: Likewise.
24452 * include/grub/i386/qemu/boot.h: Likewise.
24453 * include/grub/mips/kernel.h: Likewise.
24454 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24455 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24456 * include/grub/powerpc/kernel.h: Likewise.
24457 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24458 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24459 * include/grub/sparc64/kernel.h: Likewise.
24460 * include/grub/x86_64/efi/kernel.h: Likewise.
24461 * include/grub/x86_64/kernel.h: Likewise.
24462 * include/grub/offsets.h: New file.
24463 * include/grub/kernel.h (grub_module_info): Split into ...
24464 (grub_module_info32): ... this.
24465 (grub_module_info64): ... and this.
24466 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24467 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24468 (grub_boot_blocklist): Moved from here ...
24469 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24470 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24471 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24472 * include/grub/types.h (grub_target_to_host16): Removed.
24473 (grub_target_to_host32): Likewise.
24474 (grub_target_to_host64): Likewise.
24475 (grub_host_to_target16): Likewise.
24476 (grub_host_to_target32): Likewise.
24477 (grub_host_to_target64): Likewise.
24478 (grub_host_to_target_addr): Likewise.
24479
24480 Support grub-mkrescue for efi, coreboot and qemu.
24481
24482 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24483 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24484 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24485 * util/grub-mkrawimage.c: Moved from here ...
24486 * util/grub-mkimage.c: ... here. All users updated.
24487 (ALIGN_ADDR): Use image_target.
24488 (TARGET_NO_FIELD): New const.
24489 (image_target_desc): New type.
24490 (image_targets): New array.
24491 (grub_target_to_host64): Use image_target.
24492 (grub_target_to_host32): Likewise.
24493 (grub_target_to_host16): Likewise.
24494 (grub_host_to_target64): Likewise.
24495 (grub_host_to_target32): Likewise.
24496 (grub_host_to_target16): Likewise.
24497 (grub_host_to_target_addr): Likewise.
24498 (generate_image): Handle multiimage.
24499 (main): Require -O parameter. All users updated.
24500 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24501 util/efi/grub-mkimage.c
24502 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24503 New option --rom-directory.
24504 Use xorriso.
24505 * util/i386/efi/grub-mkimage.c: Removed.
24506 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24507 (grub_target_to_host32): Likewise.
24508 (grub_target_to_host64): Likewise.
24509 (grub_host_to_target16): Likewise.
24510 (grub_host_to_target32): Likewise.
24511 (grub_host_to_target64): Likewise.
24512 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24513 (grub_target_to_host32): Likewise.
24514 (grub_target_to_host64): Likewise.
24515 (grub_host_to_target16): Likewise.
24516 (grub_host_to_target32): Likewise.
24517 (grub_host_to_target64): Likewise.
24518
f4fc97d0
BC
245192010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24520
24521 Source tree is reorganized for emu build.
24522
24523 * include/grub/util/console.h: Move from here...
24524 * include/grub/emu/console.h: ...to here.
24525 * include/grub/util/getroot.h: Move from here...
24526 * include/grub/emu/getroot.h: ...to here.
24527 * include/grub/util/hostdisk.h: Move from here...
24528 * include/grub/emu/hostdisk.h: ...to here.
24529 * util/console.c: Move from here...
24530 * kern/emu/console.c: ...to here.
24531 * util/getroot.c: Move from here...
24532 * kern/emu/getroot.c: ...to here.
24533 * util/grub-emu.c: Move from here...
24534 * kern/emu/main.c: ...to here.
24535 * util/hostdisk.c: Move from here...
24536 * kern/emu/hostdisk.c: ...to here.
24537 * util/hostfs.c: Move from here...
24538 * kern/emu/hostfs.c: ...to here.
24539 * util/mm.c: Move from here...
24540 * kern/emu/mm.c: ...to here.
24541 * util/pci.c: Move from here...
24542 * bus/emu/pci.c: ...to here.
24543 * util/sdl.c: Move from here...
24544 * video/emu/sdl.c: ...to here.
24545 * util/time.c: Move from here...
24546 * kern/emu/time.c: ...to here.
24547 * util/usb.c: Move from here...
24548 * bus/usb/emu/usb.c: ...to here.
24549
24550 * include/grub/emu/misc.h: New header for grub-emu functions.
24551 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24552
24553 * conf/any-emu.rmk: Rule updates for above renames.
24554 * conf/common.rmk: Likewise.
24555 * conf/i386-pc.rmk: Likewise.
24556 * conf/i386-qemu.rmk: Likewise.
24557 * conf/mips.rmk: Likewise.
24558 * conf/sparc64-ieee1275.rmk: Likewise.
24559 * conf/x86-efi.rmk: Likewise.
24560
24561 * disk/lvm.h: #include updates for above renames.
24562 * util/grub-mkrelpath.c: Likewise.
24563 * util/grub-probe.c: Likewise.
24564 * util/i386/pc/grub-setup.c: Likewise.
24565 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24566 * kern/emu/console.c: Likewise.
24567 * kern/emu/getroot.c: Likewise.
24568 * kern/emu/hostdisk.c: Likewise.
24569 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24570
24571 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24572 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24573 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24574 * util/misc.c: Remove grub-emu functions.
24575
cced9145
VS
245762010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24577
24578 Fix gfxmenu crash.
24579 Reported by: Thorsten Grützmacher.
24580
24581 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24582 timeout hook.
24583 (circprog_set_property): Register and unregister timeout hook.
24584 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24585 (label_destroy): Free template. and unregister hook.
24586 (label_set_state): New function.
24587 (label_set_property): Handle templates and hooks.
24588 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24589 timeout hook.
24590 (progress_bar_set_property): Register and unregister timeout hook.
24591 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24592 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24593 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24594 (update_timeout_visit): Removed.
24595 (update_timeouts): New function.
24596 (redraw_timeouts): Likewise.
24597 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24598 (grub_gfxmenu_clear_timeout): Likewise.
24599 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24600 (grub_gfxmenu_timeout_notify): Likewise.
24601 (grub_gfxmenu_timeout_notifications): New external variable.
24602 (grub_gfxmenu_timeout_register): New function.
24603 (grub_gfxmenu_timeout_unregister): Likewise.
24604
c6e5caab
VS
246052010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24606
24607 Transform (broken) vga terminal into (working) vga video driver.
24608
24609 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24610 video/i386/pc/vga.c.
24611 * include/grub/video.h (grub_video_driver_id):
24612 Add GRUB_VIDEO_DRIVER_VGA.
24613 * term/i386/pc/vga.c: Renamed to ...
24614 * video/i386/pc/vga.c: ...this
24615 (DEBUG_VGA): Removed.
24616 (CHAR_WIDTH): Likewise.
24617 (CHAR_HEIGHT): Likewise.
24618 (TEXT_WIDTH): Likewise.
24619 (TEXT_HEIGHT): Likewise.
24620 (DEFAULT_FG_COLOR): Likewise.
24621 (DEFAULT_BG_COLOR): Likewise.
24622 (colored_char): Likewise.
24623 (xpos): Likewise.
24624 (ypos): Likewise.
24625 (cursor_state): Likewise.
24626 (fg_color): Likewise.
24627 (bg_color): Likewise.
24628 (text_buf): Likewise.
24629 (page): Likewise.
24630 (font): Likewise.
24631 (framebuffer): New variable.
24632 (set_read_map): Disabled.
24633 (setup): New variable.
24634 (is_target): Likewise.
24635 (grub_vga_mod_init): Likewise.
24636 (grub_vga_mod_fini): Likewise.
24637 (check_vga_mem): Likewise.
24638 (write_char): Likewise.
24639 (write_cursor): Likewise.
24640 (scroll_up): Likewise.
24641 (grub_vga_putchar): Likewise.
24642 (grub_vga_getcharwidth): Likewise.
24643 (grub_vga_getwh): Likewise.
24644 (grub_vga_getxy): Likewise.
24645 (grub_vga_gotoxy): Likewise.
24646 (grub_vga_cls): Likewise.
24647 (grub_vga_setcolorstate): Likewise.
24648 (grub_vga_setcursor): Likewise.
24649 (grub_video_vga_init): New function.
24650 (grub_video_vga_setup): Likewise.
24651 (grub_video_vga_fini): Likewise.
24652 (update_target): Likewise.
24653 (grub_video_vga_blit_bitmap): Likewise.
24654 (grub_video_vga_blit_render_target): Likewise.
24655 (grub_video_vga_set_active_render_target): Likewise.
24656 (grub_video_vga_get_active_render_target): Likewise.
24657 (grub_video_vga_swap_buffers): Likewise.
24658 (grub_video_vga_set_palette): Likewise.
24659 (grub_video_vga_get_info_and_fini): Likewise.
24660 (grub_vga_term): Removed.
24661 (grub_video_vga_adapter): New variable.
24662 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24663 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24664
2bf61a98
VS
246652010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24666
24667 * video/readers/jpeg.c: Indented.
24668
09ddcd11
VS
246692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 Various jpeg cleanups.
24672
24673 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24674 (grub_jpeg_decode_quan_table): Use sizeof.
24675 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24676
e5507505
PH
246772010-05-05 Peter Hurley <No e-mail available> (tiny change)
24678
24679 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24680 tables. Ignore non-last ac bit.
24681 (grub_jpeg_decode_quan_table): Likewise.
24682
7e720a9b
VS
246832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24684
24685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24686 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24687 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24688 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24689 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24690 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24691
a7fc080b
VS
246922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24693
24694 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24695 error.
24696
2bf6012d
VS
246972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24700
265d68cd
VS
247012010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24704 condition.
24705
247062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24707
24708 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24709 part.
24710
265d68cd 247112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24712
24713 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24714 pointers.
24715
265d68cd 247162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24717
24718 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24719
d1b61374
CF
247202010-05-01 Christian Franke <franke@computer.org>
24721
24722 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24723 Remove broken Cygwin path conversion.
24724 * util/misc.c: [__CYGWIN__] Add include and define.
24725 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24726 for Cygwin 1.7.
24727 (make_system_path_relative_to_its_root): Simplify loop, replace early
24728 return by break.
24729 [__CYGWIN__] Add conversion to win32 path.
24730 Include "/" case in trailing slash removal.
24731
3558c6e9
VS
247322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24733
24734 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24735 Reported by: Seth Goldberg
24736
f5f3ff93
VS
247372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 * commands/help.c (grub_cmd_help): Fix a typo.
24740 Reported by: Seth Goldberg
24741
d8b5cd40
VS
247422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24745 name and add N_.
24746 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24747 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24748 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24749 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24750 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24751 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24752 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24753 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24754 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24755 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24756 * normal/context.c (GRUB_MOD_INIT): Likewise.
24757 * normal/main.c (GRUB_MOD_INIT): Likewise.
24758 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24759 * term/serial.c (GRUB_MOD_INIT): Likewise.
24760 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24761
88c14915
VS
247622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24765 extra == 0.
24766
165134bc
VS
247672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 * commands/iorw.c: New file.
24770 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24771 (iorw_mod_SOURCES): New variable.
24772 (iorw_mod_CFLAGS): Likewise.
24773 (iorw_mod_LDFLAGS): Likewise.
24774
c5ac9b32
VS
247752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 Hotkey support
24778
24779 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24780 * normal/main.c (hotkey_aliases): New variable.
24781 (grub_normal_add_menu_entry): Parse "--hotkey".
24782 * normal/menu_text.c (run_menu): Handle hotkeys.
24783
ce60689c
VS
247842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24785
24786 * kern/i386/coreboot/init.c (grub_machine_init): Call
24787 grub_machine_mmap_init on qemu.
24788
0359d006
VS
247892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24790
24791 * boot/i386/qemu/boot.S: Add a missing .code16.
24792
7819a456
VS
247932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 Use LBIO on coreboot.
24796
24797 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24798 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24799 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24800 New declaration.
24801 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24802 grub_machine_mmap_init on coreboot.
24803 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24804 GRUB_LINUXBIOS_MEMBER_LINK.
24805 (grub_machine_mmap_iterate): Fix declaration.
24806 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24807
7210dca9
VS
248082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 Split coreboot and multiboot ports.
24811
24812 * conf/i386-multiboot.rmk: New file.
24813 * configure.ac: Add multiboot port.
24814 * include/grub/i386/multiboot/boot.h: New file.
24815 * include/grub/i386/multiboot/console.h: Likewise.
24816 * include/grub/i386/multiboot/init.h: Likewise.
24817 * include/grub/i386/multiboot/kernel.h: Likewise.
24818 * include/grub/i386/multiboot/loader.h: Likewise.
24819 * include/grub/i386/multiboot/memory.h: Likewise.
24820 * include/grub/i386/multiboot/serial.h: Likewise.
24821 * include/grub/i386/multiboot/time.h: Likewise.
24822 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24823 * loader/multiboot.c: Likewise.
24824 * loader/multiboot_mbi2.c: Likewise.
24825 * util/grub-mkrescue.in: Generate multiboot rescue.
24826
6f8aaf68
VS
248272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24828
3080f7a7
VS
24829 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24830
248312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24832
24833 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24834
24835 * commands/terminal.c (abstract_terminal): New struct.
24836 (handle_command): New function. Based on grub_cmd_terminal_input.
24837 (grub_cmd_terminal_input): Use handle_command.
24838 (grub_cmd_terminal_output): Use handle_command.
24839
a8ebb841
BC
248402010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24841
24842 Fix comment handling.
24843
24844 * tests/grub_script_comments.in: New testcase.
24845 * conf/tests.rmk: Rules for new testcase.
24846 * script/yylex.l: Updated flex rules.
24847
bb06ba08
ST
248482010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24849
24850 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24851 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24852 if argc is 1.
bb06ba08 24853
cc9d2425
VS
248542010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24855
24856 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24857 autogen issues.
24858
460d8402
CF
248592010-04-26 Christian Franke <franke@computer.org>
24860
24861 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24862 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24863 (grub_get_prefix): Remove function.
24864 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24865 make_system_path_relative_to_its_root ().
24866 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24867
553c01f9
CF
248682010-04-24 Christian Franke <franke@computer.org>
24869
24870 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24871 (kernel_img_LDFLAGS): Remove -static-libgcc.
24872
2aec1692
CF
248732010-04-24 Christian Franke <franke@computer.org>
24874
24875 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24876 and CHECK_END_SYMBOL if grub-emu is built.
24877 Unset TARGET_OBJ2ELF if grub-emu is built
24878 without module support.
24879
f67dc308
JS
248802010-04-24 Jiro SEKIBA <jir@unicus.jp>
24881
24882 Nilfs2 support.
24883
24884 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24885 (grub_fstest_SOURCES): Likewise.
24886 (pkglib_MODULES): Add nilfs2.mod.
24887 (nilfs2_mod_SOURCES): New variable.
24888 (nilfs2_mod_CFLAGS): Likewise.
24889 (nilfs2_mod_LDFLAGS): Likewise.
24890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24891 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24892 * fs/nilfs2.c: New file.
24893
4ba8d354
VS
248942010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24897 is not supported.
24898
0d2c20c6
GS
248992010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24900
24901 Add grub-mkconfig support for NetBSD.
24902
24903 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24904 * util/grub-mkconfig.in: export new NetBSD specific variables.
24905 * po/POTFILES-shell: added 10_netbsd.in.
24906 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24907
bc4a2d83
BC
249082010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24909
24910 Fix emu build with grub-emu-pci and grub-emu-modules.
24911
24912 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24913 functions.
24914 * include/grub/libpciaccess.h: New file.
24915 * conf/any-emu.rmk: Update kernel headers for emu build.
24916
f48c87aa
VS
249172010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24918
24919 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24920
18959385
VS
249212010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24924
0037de3f
VS
249252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24928 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24929 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24930 util/ieee1275/ofpath.c.
24931 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24932 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24933 * include/grub/sparc64/ieee1275/boot.h
24934 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24935 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24936 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24937 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24938 const char *.
24939 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24940 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24941 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24942 install.
24943
38e55e90
GS
249442010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24945
24946 * util/grub-mkconfig.in: Corrected two == equality tests.
24947 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24948 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24949 expect a number appended to it.
24950 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24951 expects a number appended to it.
24952
a9e6ff28
VS
249532010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24954
24955 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24956
0b830b8f
VS
249572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * util/hostdisk.c (make_device_name): Change to new partition naming.
24960
0973daeb
VS
249612010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24964
460d8402 249652010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24966
24967 * Makefile.in: Add missing localedir setting.
24968
0b456309
CW
249692010-04-14 Colin Watson <cjwatson@ubuntu.com>
24970
24971 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24972 mistake in r2156. Noticed by Anthony Fok.
24973
24974 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24975 @localedir@.
24976 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24977
08f46d62
BC
249782010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24979
24980 Fix a spurious, uninitialized variable warning.
24981
24982 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24983 Initialize variable, shdr.
24984 (grub_freebsd_load_elfmodule): Likewise.
24985 (grub_freebsd_load_elf_meta): Likewise.
24986
8c4a72d4
BC
249872010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24988
24989 Fix for escaped dollar in double quoted strings.
24990
24991 * script/yylex.l: Updated flex rules.
24992 * conf/tests.rmk: Rule for new testcase.
24993 * tests/grub_script_dollar.in: New testcase.
24994
ce44826e
CPE
249952010-04-13 Carles Pina i Estany <carles@pina.cat>
249962010-04-13 Colin Watson <cjwatson@ubuntu.com>
24997
24998 Enclose all translated strings in grub.cfg in single quotes, and
24999 escape them appropriately (Ubuntu bug #552921).
25000
25001 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25002 * util/grub.d/10_hurd.in: Use it.
25003 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25004 * util/grub.d/10_linux.in (linux_entry): Likewise.
25005
4b0cd8f8
VS
250062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25007
25008 Fix cygwin compilation.
25009
25010 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25011 * include/grub/misc.h (__register_frame_info)
25012 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25013 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25014 * kern/misc.c (__register_frame_info)
25015 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25016 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25017
01fcf061
VS
250182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25019
25020 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25021
5d04b11e
VS
250222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25023
25024 Unify libgcc processing.
25025
25026 * Makefile.in (kernel_img_LDFLAGS): New variable.
25027 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25028 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25029 overwriting.
25030 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25031 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25032 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25033 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25034 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25035 overwriting. Remove -lgcc and -static-libgcc
25036 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25037 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25038 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25039 (kernel_img_LDFLAGS): Append instead of overwriting.
25040 Remove -lgcc and -static-libgcc
25041 * conf/sparc64-ieee1275.rmk: Likewise.
25042 * include/grub/powerpc/libgcc.h: Move to ...
25043 * include/grub/libgcc.h: .. this.
25044 * include/grub/libgcc.h: Don't export most of the function on x86.
25045 (__bswapsi2): New export.
25046 (__bswapdi2): Likewise.
25047 * include/grub/mips/libgcc.h: Removed.
25048 * include/grub/sparc64/libgcc.h: Likewise.
25049
b7f3ac29
VS
250502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25051
25052 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25053 disk_info_msg (conflicts with gettexting into languages with cases).
25054
2c7031b1
GS
250552010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25056
25057 Add grub-probe support for NetBSD.
25058
25059 * util/getroot.c (find_root_device): Convert block device to
25060 character device on NetBSD.
25061 * util/probe.c (probe): Require character device on NetBSD.
25062 * util/hostdisk.c: NetBSD specific headers.
25063 (configure_device_driver): new function to tune device driver
25064 parameters (currently only for NetBSD floppy driver).
25065 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25066 via disklabel ioctl).
25067 (open_device): call configure_device_driver on NetBSD.
25068 (convert_system_partition_to_system_disk): NetBSD specific code.
25069 (device_is_wholedisk): Likewise.
25070 (grub_util_biosdisk_get_grub_dev): Likewise.
25071 (make_device_name): Fixed a typo in bsd_part_str.
25072 * configure.ac: check for opendisk() and getrawpartition() on
25073 NetBSD and set LIBUTIL.
25074 * Makefile.in: add LIBUTIL to LIBS.
25075
f516290c
BC
250762010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25077
25078 Documentation fix.
25079
25080 * util/grub-script-check.c: Better help message.
25081
d8dcc0df
BC
250822010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25083
25084 Fix FreeBSD build.
25085
25086 * configure.ac: Flex version check.
25087 * conf/common.rmk: Add -Wno-error to sh.mod.
25088 * script/yylex.l: Remove all #pragma.
25089
6734334a
VS
250902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25091
25092 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25093 prototype.
25094 Reported by: Seth Goldberg.
25095
daea6abd
VS
250962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25097
25098 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25099 Rename "module" to "module2".
25100 Reported by: Seth Goldberg.
25101
f2fd9d2b
VS
251022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25105 EXPORT_FUNC.
25106 Reported by: Seth Goldberg.
25107
be124579
VS
251082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25109
25110 * lib/posix_wrap/locale.h: Add missing file.
25111 Reported by: Seth Goldberg.
25112
ef5da797
VS
251132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25114
25115 grub-emu module load support.
25116
25117 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25118 NO_DYNAMIC_MODULES switched to this.
25119 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25120 (CFLAGS): Likewise.
25121 * conf/any-emu.rmk: Generate symlist.
25122 (kernel_img_HEADERS): Add util/datetime.h.
25123 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25124 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25125 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25126 kern/$(target_cpu)/cache.S.
25127 * configure.ac (grub-emu-modules): New option.
25128 * genmk.rb: Handle multiple source lists.
25129 * include/grub/sdl.h: New file.
25130 * include/grub/libusb.h: Likewise.
25131 * util/grub-emu.c (main): Hanle (host) root.
25132 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25133 GRUB_ERR_UNKNOWN_DEVICE.
25134 * util/misc.c: Move mm functions to ...
25135 * util/mm.c: ... here. All users updated.
25136
47822096
VS
251372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25138
25139 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25140 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25141 missing files.
25142 (maintainer-clean): Remove libgcrypt-grub.
25143
5d7e7445
VS
251442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25147
25f4e252
EC
251482010-04-09 EFI Coder <eficoder@hotmail.com>
25149
25150 * normal/menu_text.c (print_message): Clean up the message and show
25151 the Fn information when on EFI
25152 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25153
027de555
VS
251542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25155
25156 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25157 All users updated.
25158 * normal/crypto.c (read_crypto_list): Likewise.
25159 * normal/dyncmd.c (read_command_list): Likewise.
25160 * normal/term.c (read_terminal_list): Likewise.
25161 * normal/main.c (read_lists): Use explicit prefix.
25162 (read_lists_hook): Use read_lists.
25163 (grub_normal_execute): Likewise.
25164
47779711
VS
251652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25166
25167 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25168 Reported by: Thomas Schmitt.
25169 Add -no-emul-boot to grub-mkisofs parameters.
25170
1118c32e
VS
251712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * font/font.c: Indented.
25174
7d652447
BC
251752010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25176
25177 Elif support to GRUB script (by Deepak Vankadaru).
25178
25179 * tests/grub_script_if.in: New testcase.
25180 * conf/tests.rmk: Rule for new testcase.
25181 * script/parser.y: Grammar rules for elif.
25182
34bb22df
BC
251832010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25184
25185 While and until loops support to GRUB script.
25186
25187 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25188 (grub_script_create_cmdwhile): New function prototype.
25189 (grub_script_execute_cmdwhile): New function prototype.
25190 * script/execute.c (grub_script_execute_cmdwhile): New function.
25191 * script/parser.y (command): New commands.
25192 (whilecmd): New grammar rule.
25193 (untilcmd): New grammar rule.
25194 * script/script.c (grub_script_create_cmdwhile): New function.
25195 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25196 function.
25197
25198 * tests/grub_script_while1.in: New testcase.
25199 * conf/tests.rmk: Rule for new testcase.
25200
e215d8e0
VS
252012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25202
25203 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25204 as *.jpg.
25205
d7c43ba1
MV
252062010-04-09 Mario Vazquez <mariovazq@gmail.com>
25207
25208 GRUB_BACKGROUND support.
25209
25210 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25211 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25212
d64795c0
VS
252132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25214
25215 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25216 Idea by: Mario Vazquez
d64795c0
VS
25217
25218 * util/grub.d/00_header.in: Load pf2 and image modules.
25219
f267f83a
VS
252202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25221
25222 grub-mkconfig multiple terminal support.
25223
25224 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25225 * util/grub.d/00_header.in: Likewise.
25226
b7841ceb
VS
252272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25230 we use cd $(srcdir).
25231
df60998c
CW
252322010-04-08 Colin Watson <cjwatson@ubuntu.com>
25233
25234 * util/grub.d/10_linux.in: Only use the first word of
25235 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25236 spaces in GRUB_DISTRIBUTOR.
25237 * util/grub.d/10_kfreebsd.in: Likewise.
25238 * util/grub.d/10_hurd.in: Likewise.
25239
fa09c82e
BC
252402010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25241
14e18ae3 25242 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25243
25244 * tests/util/grub-shell.in: Remove -serial stdio option.
25245
daf892b3
BC
252462010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 POSIX header file wrappers.
25249
25250 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25251 equivalents.
25252 * lib/posix_wrap/ctype.h: Likewise.
25253 * lib/posix_wrap/errno.h: Likewise.
25254 * lib/posix_wrap/langinfo.h: Likewise.
25255 * lib/posix_wrap/limits.h: Likewise.
25256 * lib/posix_wrap/localcharset.h: Likewise.
25257 * lib/posix_wrap/stdint.h: Likewise.
25258 * lib/posix_wrap/stdio.h: Likewise.
25259 * lib/posix_wrap/stdlib.h: Likewise.
25260 * lib/posix_wrap/string.h: Likewise.
25261 * lib/posix_wrap/sys/types.h: Likewise.
25262 * lib/posix_wrap/unistd.h: Likewise.
25263 * lib/posix_wrap/wchar.h: Likewise.
25264 * lib/posix_wrap/wctype.h: Likewise.
25265 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25266 (grub_script.yy.h): Likewise.
25267 * script/yylex.l: Remove POSIX emulation #defines.
25268 * Makefile.in (POSIX_CFLAGS): New variable.
25269 (GNULIB_UTIL_CFLAGS): Likewise.
25270
25271 Regexp support.
25272
25273 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25274 (regexp_mod_SOURCES): New variable.
25275 (regexp_mod_CFLAGS): Likewise.
25276 (regexp_mod_LDFLAGS): Likewise.
25277 * commands/regexp.c: New file.
25278 * gnulib/regcomp.c: New file. Imported from gnulib.
25279 * gnulib/regex.c: Likewise.
25280 * gnulib/regex_internal.c: Likewise.
25281 * gnulib/regex_internal.h: Likewise.
25282 * gnulib/regexec.c: Likewise.
25283 * gnulib/regex.h: Likewise.
25284
974ac4f7
VS
252852010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25286
25287 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25288 unsupported video mode types.
25289
2622c3ff
VS
252902010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25291
25292 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25293
064cb524
VS
252942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25295
25296 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25297 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25298
a8c3b552
VS
252992010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 Remove unused grub_vga_get_font.
25302
25303 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25304 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25305
187bbe3d
GS
253062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25307
25308 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25309 * include/grub/misc.h: Likewise.
25310
b9396631
GS
253112010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25312
25313 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25314 for which failure is fatal.
25315
50479feb
GS
253162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25317
25318 * util/grub-install.in: Use mkdir -p to create grub directory.
25319 * util/i386/efi/grub-install.in: Likewise.
25320 * util/ieee1275/grub-install.in: Likewise.
25321
b1654fdf
GS
253222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25323
25324 * Makefile.in (LEX): new variable.
25325
bd5a6415
GS
253262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25327
25328 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25329 `=' and added double quotes on operands of this equality test.
25330
3db3a82b
VS
253312010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 * Makefile.in (uninstall): Remove a leftover debug echo.
25334 Reported by: Grégoire Sutre
25335
38023412
VS
253362010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 MIPS multiboot2 support.
25339
25340 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25341 (multiboot2_mod_SOURCES): New variable.
25342 (multiboot2_mod_CFLAGS): Likewise.
25343 (multiboot2_mod_LDFLAGS): Likewise.
25344 (multiboot2_mod_ASFLAGS): Likewise.
25345 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25346 definition.
25347 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25348 (MULTIBOOT_MBI_REGISTER): Likewise.
25349 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25350 (MULTIBOOT_ELF32_MACHINE): Likewise.
25351 (MULTIBOOT_ELF64_MACHINE): Likewise.
25352 * include/grub/mips/multiboot.h: New file.
25353 * include/grub/video.h (grub_video_driver_id): New type
25354 GRUB_VIDEO_DRIVER_SM712.
25355 (grub_video_get_info_and_fini): Export.
25356 (grub_video_get_palette): Likewise.
25357 (grub_video_get_driver_id): Likewise.
25358 * include/multiboot2.h: Resynced with spec.
25359 * loader/i386/multiboot.c: Moved from here ...
25360 * loader/multiboot.c: ... here. All users updated.
25361 (grub_multiboot_boot): Use platform-specific macros.
25362 * loader/i386/multiboot_elfxx.c: Moved from here ...
25363 * loader/multiboot_elfxx.c: ... here. All users updated.
25364 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25365 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25366 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25367
47674667
VS
253682010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25369
25370 Import gnulib argp module.
25371
25372 * gnulib/argp-ba.c: New file.
25373 * gnulib/argp-eexst.c: Likewise.
25374 * gnulib/argp-fmtstream.c: Likewise.
25375 * gnulib/argp-fmtstream.h: Likewise.
25376 * gnulib/argp-fs-xinl.c: Likewise.
25377 * gnulib/argp-help.c: Likewise.
25378 * gnulib/argp-namefrob.h: Likewise.
25379 * gnulib/argp-parse.c: Likewise.
25380 * gnulib/argp-pin.c: Likewise.
25381 * gnulib/argp-pv.c: Likewise.
25382 * gnulib/argp-pvh.c: Likewise.
25383 * gnulib/argp-version-etc.c: Likewise.
25384 * gnulib/argp-version-etc.h: Likewise.
25385 * gnulib/argp-xinl.c: Likewise.
25386 * gnulib/argp.h: Likewise.
25387
495442ed
VS
253882010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * kern/device.c (grub_device_iterate): Clear errors after failed
25391 opening device.
25392
f9fd65df
VS
253932010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25396 returned by firmware.
25397
af09641e
VS
253982010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25401 compilation on coreboot and qemu
25402
016883a5
VS
254032010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 * include/multiboot2.h: Resync with spec.
25406
f97e1f7d
VS
254072010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25408
25409 Multiboot2 tag support
25410
25411 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25412 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25413 Remove loader/multiboot_loader.c.
25414 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25415 (grub_multiboot2_real_boot): Likewise.
25416 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25417 (grub_get_multiboot_mmap_count): New proto.
25418 (grub_fill_multiboot_mmap): Likewise.
25419 (grub_multiboot_set_video_mode): Likewise.
25420 (grub_multiboot_set_console): Likewise.
25421 (grub_multiboot_load): Likewise.
25422 (grub_multiboot_load_elf): Likewise.
25423 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25424 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25425 * include/multiboot.h: Resynced with specification.
25426 * include/multiboot2.h: Resynced with specification.
25427 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25428 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25429 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25430 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25431 users updated.
25432 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25433 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25434 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25435 Removed.
25436 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25437 Moved from here...
25438 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25439 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25440 Moved from here...
25441 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25442 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25443 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25444 All users updated.
25445 * loader/i386/multiboot_mbi2.c: New file.
25446
3506b90b
VS
254472010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25448
25449 Resync with gnulib.
25450
25451 * Makefile.in (GNULIB_CFLAGS): New variable.
25452 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25453 (grub_script_check_CFLAGS): New variable.
25454 * gnulib/alloca.h: Resync with gnulib.
25455 * gnulib/error.c: Likewise.
25456 * gnulib/error.h: Likewise.
25457 * gnulib/fnmatch.c: Likewise.
25458 * gnulib/fnmatch_loop.c: Likewise.
25459 * gnulib/getdelim.c: Likewise.
25460 * gnulib/getline.c: Likewise.
25461 * gnulib/getopt.c: Likewise.
25462 * gnulib/getopt1.c: Likewise.
25463 * gnulib/getopt_int.h: Likewise.
25464 * gnulib/gettext.h: Likewise.
25465 * gnulib/progname.c: Likewise.
25466 * gnulib/progname.h: Likewise.
25467
394a3120
GS
254682010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25469
25470 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25471 which is the case with --disabled-nls.
25472
25473 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25474 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25475 * util/misc.c: Likewise.
25476 * util/mkisofs/mkisofs.c: Likewise.
25477 * util/mkisofs/mkisofs.h: Likewise.
25478
969d1c78
VS
254792010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25480
25481 Simplify Apple CC support.
25482
25483 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25484 Add 0 byte at the end not to have a symbol with empty target.
25485 * mmap/i386/pc/mmap_helper.S: Likewise.
25486 * genmk.rb: Ignore errors 2030 and 2050.
25487 * kern/i386/pc/startup.S: Use LOCAL when possible.
25488
8d2977bb
BC
254892010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25490
25491 Testcase and the fix for final semicolon on cmdline.
25492
25493 * tests/grub_script_final_semicolon.in: New testcase.
25494 * conf/tests.rmk: Rules for the new testcase.
25495 * script/parser.y: Grammar fix.
25496
a7bd6915
BC
254972010-03-26 BVK Chaitanya <bvk@localhost>
25498
25499 Blank lines testcase for GRUB script.
25500
25501 * tests/grub_script_blanklines.in: New testcase.
25502 * conf/tests.rmk: Rules for the new testcase.
25503
e4ff6628
VS
255042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 Don't use __FILE__.
25507
25508 * genmk.rb: Add -DGRUB_FILE to all C targets.
25509 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25510 * include/grub/list.h: Likewise.
25511 * include/grub/misc.h: Likewise.
25512 * include/grub/mm.h: Likewise.
25513 * include/grub/test.h: Likewise.
25514 * kern/mm.c: Likewise.
25515 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25516
6a5cf6b6
VS
255172010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 Sunpc partitions support.
25520
25521 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25522 (grub_fstest_SOURCES): Likewise.
25523 (pkglib_MODULES): Add part_sunpc.mod.
25524 (part_sunpc_mod_SOURCES): New variable.
25525 (part_sunpc_mod_CFLAGS): Likewise.
25526 (part_sunpc_mod_LDFLAGS): Likewise.
25527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25528 * partmap/sunpc.c: New file.
25529
746d9045
BC
255302010-03-26 BVK Chaitanya <bvk@localhost>
25531
25532 For loop support to GRUB script.
25533
25534 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25535 (grub_script_create_cmdfor): New function prototype.
25536 (grub_script_execute_cmdfor): New function prototype.
25537 * script/execute.c (grub_script_execute_cmdfor): New function.
25538 * script/parser.y (command): New for command.
25539 (forcmd): New grammar rule.
25540 * script/script.c (grub_script_create_cmdfor): New function.
25541 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25542 function.
25543 * tests/grub_script_for1.in: New testcase.
25544 * conf/tests.rmk: Rules for new testcase.
25545
18486b18
VS
255462010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25547
25548 Nested partitions
25549
25550 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25551 'partition' is NULL, grub_partition_get_start already does that.
25552 * commands/loadenv.c (check_blocklists): Likewise.
25553 (write_blocklists): Likewise.
25554 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25555 (grub_fstest_SOURCES): Likewise.
25556 (pkglib_MODULES): Add part_bsd.mod.
25557 (part_bsd_mod_SOURCES): New variable.
25558 (part_bsd_mod_CFLAGS): Likewise.
25559 (part_bsd_mod_LDFLAGS): Likewise.
25560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25561 (grub_emu_SOURCES): Likewise.
25562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25563 * include/grub/bsdlabel.h: New file.
25564 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25565 'get_name'.
25566 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25567 (grub_partition_map_list): New variable.
25568 (grub_partition_map_register): Inline.
25569 (grub_partition_map_unregister): Likewise.
25570 (FOR_PARTITION_MAPS): New macro.
25571 (grub_partition_map_iterate): Removed.
25572 (grub_partition_get_start): Handle nested partitions.
25573 * include/grub/msdos_partition.h: Remove bsd-related entries.
25574 (grub_pc_partition): Remove.
25575 * kern/disk.c (grub_disk_close): Free partition data.
25576 (grub_disk_adjust_range): Handle nested partitions.
25577 * kern/partition.c (grub_partition_map_probe): New function.
25578 (grub_partition_probe): Parse name to number, handle subpartitions.
25579 (get_partmap): New function.
25580 (grub_partition_iterate): Handle subpartitions.
25581 (grub_partition_get_name): Likewise.
25582 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25583 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25584 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25585 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25586 Set 'number'.
25587 (acorn_partition_map_probe): Remove.
25588 (acorn_partition_map_get_name): Likewise.
25589 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25590 Set 'number'.
25591 Set 'index' to 0 since there can be only one partition entry per sector.
25592 (amiga_partition_map_probe): Remove.
25593 (amiga_partition_map_get_name): Likewise.
25594 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25595 Set 'number'.
25596 Set 'offset' and 'index' to real positions of partitions.
25597 (apple_partition_map_probe): Remove.
25598 (apple_partition_map_get_name): Likewise.
25599 * partmap/bsdlabel.c: New file.
25600 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25601 Set 'number'.
25602 Allocate 'data' so it can be correctly freed.
25603 Set 'index' to offset inside sector.
25604 (gpt_partition_map_probe): Remove.
25605 (gpt_partition_map_get_name): Likewise.
25606 * partmap/msdos.c (grub_partition_parse): Remove.
25607 (pc_partition_map_iterate): Don't force raw access.
25608 Set 'number'.
25609 Make 'ext_offset' a local variable.
25610 (pc_partition_map_probe): Remove.
25611 (pc_partition_map_get_name): Remove.
25612 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25613 Set 'number'.
25614 (sun_partition_map_probe): Remove.
25615 (sun_partition_map_get_name): Likewise.
25616 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25617 (grub_pcpart_type): Likewise.
25618 * util/hostdisk.c (open_device): Handle new numbering scheme.
25619 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25620 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25621 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25622 * util/grub-install.in: Insert all subpartition modules.
25623 * util/ieee1275/grub-install.in: Likewise.
25624
a3940f88
AG
256252010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25626
25627 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25628 grammar.
25629
21b99926 256302010-03-24 Colin Watson <cjwatson@ubuntu.com>
25631
25632 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25633
bed1d352
CW
256342010-03-21 Colin Watson <cjwatson@ubuntu.com>
25635
25636 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25637 match where 'make install' puts them.
25638 * util/i386/efi/grub-install.in: Likewise.
25639
c9f58427
CW
256402010-03-19 Colin Watson <cjwatson@ubuntu.com>
25641
25642 * .bzrignore: Add gentrigtables, grub-script-check,
25643 grub_script_check_init.c, grub_script_check_init.h, and
25644 trigtables.c.
25645
f84afb27
VS
256462010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25647
25648 * kern/parser.c: Indented.
25649
ed0e3d30
VS
256502010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25651
25652 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25653
0ea81d98
VS
256542010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25655
25656 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25657 alpha_mask_size == 0 case.
25658
0cdc2a09
BC
256592010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25660
25661 GRUB shell lexer and parser improvements.
25662
25663 * conf/any-emu.rmk: Build rule updates.
25664 * conf/common.rmk: Likewise.
25665 * conf/i386-coreboot.rmk: Likewise.
25666 * conf/i386-efi.rmk: Likewise.
25667 * conf/i386-ieee1275.rmk: Likewise.
25668 * conf/i386-pc.rmk: Likewise.
25669 * conf/powerpc-ieee1275.rmk: Likewise.
25670 * conf/x86_64-efi.rmk: Likewise.
25671
25672 * configure.ac: Configure check for flex.
25673
25674 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25675 types.
25676 (grub_lexer_param): Struct member updates.
25677 (grub_parser_param): Likewise.
25678 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25679 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25680 (grub_script_lexer_init): Prototype update.
25681 (grub_script_lexer_record_start): Likewise.
25682 (grub_script_lexer_record_stop): Likewise.
25683 (grub_script_lexer_yywrap): New function prototype.
25684 (grub_script_lexer_fini): Likewise.
25685 (grub_script_execute_argument_to_string): Removed by...
25686 (grub_script_execute_argument_to_argv): ...better version.
25687
25688 * script/execute.c (ROUND_UPTO): New macro.
25689 (grub_script_execute_cmdline): Out of memory fixes.
25690 (grub_script_execute_menuentry): Likewise.
25691 (grub_script_execute_argument_to_string): Removed. Update all
25692 users by...
25693 (grub_script_execute_argument_to_argv): ...better version.
25694 * script/function.c (grub_script_function_create): Use
25695 grub_script_execute_argument_to_argv instead of
25696 grub_script_execute_argument_to_string.
25697
25698 * script/lexer.c (check_varstate): Removed.
25699 (check_textstate): Removed.
25700 (grub_script_lexer_record_start): Likewise.
25701 (grub_script_lexer_record_stop): Likewise.
25702 (recordchar): Replaced with...
25703 (grub_script_lexer_record): ...new function.
25704 (nextchar): Removed.
25705 (grub_script_lexer_init): Rewritten.
25706 (grub_script_yylex): Rewritten.
25707 (append_newline): New function.
25708 (grub_script_lexer_yywrap): New function.
25709 (grub_script_lexer_fini): New function.
25710 (grub_script_yyerror): Sets error flag.
25711
25712 * script/yylex.l: New file.
25713 (grub_lexer_yyfree): Wrapper for flex yyffre.
25714 (grub_lexer_yyalloc): Likewise.
25715 (grub_lexer_yyrealloc): Likewise.
25716 * script/parser.y: Refactored.
25717
25718 * script/script.c (grub_script_arg_add): Out of memory fixes.
25719 (grub_script_add_arglist): Likewise.
25720 (grub_script_create_cmdline): Likewise.
25721 (grub_script_create_cmdmenu): Likewise.
25722 (grub_script_add_cmd): Likewise.
25723 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25724 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25725 unnecessary code.
25726
25727 * tests/grub_script_echo1.in: New testcase.
25728 * tests/grub_script_vars1.in: New testcase.
25729 * tests/grub_script_echo_keywords.in: New testcase.
25730
1d63a066
VS
257312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25732
25733 Remove some redundancy in build system.
25734
25735 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25736 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25737 (TARGET_LDFLAGS): Add -nostdlib.
25738 (TARGET_IMG_LDFLAGS): Likewise.
25739 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25740 anything since mmap isn't available.
25741 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25742 Add util/time.c.
25743 (pkglib_MODULES): Remove reboot.mod.
25744 (reboot_mod_SOURCES): Removed.
25745 (reboot_mod_CFLAGS): Likewise.
25746 (reboot_mod_LDFLAGS): Likewise.
25747 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25748 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25749 (DEFSYMFILES): Add kernel_syms.lst.
25750 (kernel_img_HEADERS): Add common headers.
25751 (symlist.c): New target.
25752 (kernel_syms.lst): Likewise.
25753 (pkglib_MODULES): Add memdisk.mod.
25754 (memdisk_mod_SOURCES): New variable.
25755 (memdisk_mod_CFLAGS): Likewise.
25756 (memdisk_mod_LDFLAGS): Likewise.
25757 (pkglib_MODULES): Add reboot.mod.
25758 (reboot_mod_SOURCES): New variable.
25759 (reboot_mod_CFLAGS): Likewise.
25760 (reboot_mod_LDFLAGS): Likewise.
25761 (pkglib_MODULES): Add date.mod.
25762 (date_mod_SOURCES): New variable.
25763 (date_mod_CFLAGS): Likewise.
25764 (date_mod_LDFLAGS): Likewise.
25765 (pkglib_MODULES): Add datehook.mod.
25766 (datehook_mod_SOURCES): New variable.
25767 (datehook_mod_CFLAGS): Likewise.
25768 (datehook_mod_LDFLAGS): Likewise.
25769 (pkglib_MODULES): Add lsmmap.mod.
25770 (lsmmap_mod_SOURCES): New variable.
25771 (lsmmap_mod_CFLAGS): Likewise.
25772 (lsmmap_mod_LDFLAGS): Likewise.
25773 (pkglib_MODULES): Add boot.mod.
25774 (boot_mod_SOURCES): New variable.
25775 (boot_mod_CFLAGS): Likewise.
25776 (boot_mod_LDFLAGS): Likewise.
25777 * conf/i386-coreboot.rmk: Removed redundant parts.
25778 * conf/i386-ieee1275.rmk: Likewise.
25779 * conf/i386-pc.rmk: Likewise.
25780 * conf/mips-yeeloong.rmk: Likewise.
25781 * conf/mips.rmk: Likewise.
25782 * conf/powerpc-ieee1275.rmk: Likewise.
25783 * conf/sparc64-ieee1275.rmk: Likewise.
25784 * conf/x86_64-efi.rmk: Likewise.
25785 * conf/i386-coreboot.rmk: Moved qemu parts ..
25786 * conf/i386-qemu.rmk: ... here
25787 * conf/i386-efi.rmk: Moved common parts to...
25788 * conf/x86-efi.rmk: ... here.
25789 * conf/i386.rmk: Added modules common to all x86 variants.
25790 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25791 * disk/memdisk.c: Remove grub/machine/kernel.h.
25792 * gensymlist.sh.in: Include symbol.h.
25793 * hook/datehook.c: Correct module name.
25794 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25795 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25796 * include/grub/i386/efi/serial.h: New file.
25797 * include/grub/x86_64/efi/serial.h: Likewise.
25798 * util/time.c: Likewise.
25799 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25800
463ac55f
CK
258012010-03-14 Colin King <colin.king@ubuntu.com>
258022010-03-14 Colin Watson <cjwatson@ubuntu.com>
25803
25804 Shrink the pre-partition-table part of boot.img by eight bytes.
25805
25806 * boot/i386/pc/boot.S (ERR): New macro.
25807 (chs_mode): Use ERR.
25808 (geometry_error): Likewise.
25809 (hd_probe_error): Remove. This is only used once, so we wrwite
25810 it inline instead.
25811 (read_error): Instead of printing read_error_string, just set up
25812 %si and fall through to ...
25813 (error_message): ... this new function, also used by ERR.
25814
08e46ede
CW
258152010-03-14 Colin Watson <cjwatson@ubuntu.com>
25816
25817 Speed up consecutive hostdisk operations on the same device.
25818
25819 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25820 (grub_util_biosdisk_open): Initialise disk->data.
25821 (struct linux_partition_cache): New structure.
25822 (linux_find_partition): Cache partition start positions; these are
25823 expensive to compute on every read and write.
25824 (open_device): Cache open file descriptor in disk->data, so that we
25825 don't have to reopen it and flush the buffer cache for consecutive
25826 operations on the same device.
25827 (grub_util_biosdisk_close): New function.
25828 (grub_util_biosdisk_dev): Set `close' member.
25829
25830 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25831 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25832 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25833 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25834 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25835
4a6d2d06
VS
258362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25837
25838 Compile parts of grub-emu as modules.
25839
25840 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25841 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25842 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25843 (all-local): Add $(GRUB_EMU).
25844 (install-local): Install $(GRUB_EMU).
25845 (uninstall): Uninstall $(GRUB_EMU).
25846 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25847 * kern/dl.c: Likewise.
25848 * commands/sleep.c: Not include machine/time.h.
25849 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25850 (COMMON_CFLAGS): Likewise.
25851 (sbin_UTILITIES): Remove grub-emu.
25852 (grub_emu_SOURCES): Removed.
25853 (kernel_img_RELOCATABLE): New variable.
25854 (pkglib_PROGRAMS): Add kernel.img.
25855 (kernel_img_SOURCES): New variable
25856 (kernel_img_CFLAGS): Likewise.
25857 (kernel_img_LDFLAGS): Likewise.
25858 (TARGET_NO_STRIP): Likewise.
25859 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25860 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25861 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25862 (grub-emu): New target.
25863 (GRUB_EMU): New variable.
25864 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25865 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25866 * loader/xnu.c: Likewise.
25867 * include/grub/pci.h: Likewise.
25868 * genemuinit.sh: New file.
25869 * genemuinitheader.sh: Likewise.
25870 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25871 Support TARGET_NO_DYNAMIC_MODULES.
25872 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25873 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25874 * disk/loopback.c: Likewise.
25875 * font/font_cmd.c: Likewise.
25876 * partmap/acorn.c: Likewise.
25877 * partmap/amiga.c: Likewise.
25878 * partmap/apple.c: Likewise.
25879 * partmap/gpt.c: Likewise.
25880 * partmap/msdos.c: Likewise.
25881 * partmap/sun.c: Likewise.
25882 * parttool/msdospart.c: Likewise.
25883 * term/gfxterm.c: Likewise.
25884 * video/bitmap.c: Likewise.
25885 * video/readers/jpeg.c: Likewise.
25886 * video/readers/png.c: Likewise.
25887 * video/readers/tga.c: Likewise.
25888 * video/video.c: Likewise.
25889 * util/grub-emu.c (read_command_list): Removed.
25890 (main): Don't call util_init_nls.
25891 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25892 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25893
91fdd2ed
VS
258942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25895
25896 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25897 date.mod, datehook.mod.
25898 (datetime_mod_SOURCES): New variable.
25899 (datetime_mod_CFLAGS): Likewise.
25900 (datetime_mod_LDFLAGS): Likewise.
25901 (date_mod_SOURCES): Likewise.
25902 (date_mod_CFLAGS): Likewise.
25903 (date_mod_LDFLAGS): Likewise.
25904 (datehook_mod_SOURCES): Likewise.
25905 (datehook_mod_CFLAGS): Likewise.
25906 (datehook_mod_LDFLAGS): Likewise.
25907 * conf/sparc64-ieee1275.rmk: Likewise.
25908 * lib/ieee1275/datetime.c: New file.
25909
873ccae6
VS
259102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25911
25912 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25913 (ieee1275_fb_mod_SOURCES): New variable.
25914 (ieee1275_fb_mod_CFLAGS): Likewise.
25915 (ieee1275_fb_mod_LDFLAGS): Likewise.
25916 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25917 New proto.
25918 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25919 (HEAP_MAX_ADDR): Likewise.
25920 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25921 type.
25922 Correct stop condition.
25923 (grub_ieee1275_devices_iterate): New function.
25924 * video/ieee1275.c: New file.
25925
601c97c0
VS
259262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25927
25928 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25929
25930 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25931 as scratch.
25932 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25933 SCRATCH_PAD_DISKBOOT as scratch.
25934 (bootit): Pass Openfirmware pointer in %o4.
25935 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25936 of 0x200000.
25937 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25938 with util/grub-mkrawimage.c.
25939 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25940 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25941 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25942 (grub_aout_load) [GRUB_UTIL]: Likewise.
25943 * include/grub/kernel.h (grub_modules_get_end): New proto.
25944 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25945 (SCRATCH_PAD_BOOT): New definition.
25946 (SCRATCH_PAD_DISKBOOT): Likewise.
25947 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25948 * include/grub/sparc64/ieee1275/ieee1275.h
25949 (grub_ieee1275_original_stack): New variable
25950 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25951 New definition
25952 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25953 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25954 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25955 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25956 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25957 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25958 (grub_platform_image_format_t): New type.
25959 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25960 * kern/main.c (grub_modules_get_end)
25961 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25962 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25963 (codestart): Switch stacks.
25964 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25965 variable.
25966 (grub_heap_init): Use grub_modules_get_end.
25967 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25968 stack.
25969 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25970 (main): Likewise.
25971 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25972
d68b491e
TG
259732010-03-14 Thorsten Glaser <tg@mirbsd.org>
25974
25975 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25976
4e02ed50
MK
259772010-03-08 Matt Kraai <kraai@ftbfs.org>
25978
25979 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25980 bug #559005).
25981
1f15fc1e
VS
259822010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25983
25984 * genmoddep.awk: Output all missing symbols and not only first.
25985
fce5d8ff
VS
259862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25987
25988 * NEWS: Put the date of 1.98 release.
25989
d1e8a02f
VS
259902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25993 ft2build.h.
25994
696fd607
VS
259952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25996
25997 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25998 completition in the middle of string.
25999
33e2e6f3
VS
260002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26001
26002 * util/grub-mkrescue.in: Use mktemp with explicit template.
26003
b1f6d291
VS
260042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26005
26006 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26007
2ac227c7
VS
260082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26011 right pointer.
26012
8f9a632b
VS
260132010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26014
26015 Fix FreeBSD compilation.
26016
26017 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26018 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26019
60b03859
VS
260202010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26021
26022 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26023
48a5a769
VS
260242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26025
26026 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26027
3ab4bd77
VS
260282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26029
26030 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26031
d116e0d8
RM
260322010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 Support relative image path in theme file.
26035
26036 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26037 (image_set_property): Handle theme_dir and relative path.
26038
c7ef54aa
VS
260392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26040
26041 * configure.ac: Alias amd64 to x86_64.
26042
fcee14ed
VS
260432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26044
26045 * NEWS: mention multiboot on EFI.
26046
d0780363
VS
260472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26048
26049 * kern/main.c (grub_load_modules): Handle errors from init functions of
26050 embeded modules.
26051
41168ea4
VS
260522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26053
26054 * normal/autofs.c (autoload_fs_module): Handle errors.
26055
b54d93ac
VS
260562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26057
26058 Disable linux.mod on qemu-mips since it's not functional and leads
26059 to compilation failure.
26060
26061 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26062 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26063 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26064 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26065 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26066 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26067 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26068 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26069 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26070 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26071 Reported by: BVK Chaitanya
26072
fc8345da
JU
260732010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26074
26075 * INSTALL: Add gettext as a dependency and add qemu to a new section
26076 "Prerequisites for make-check".
26077
4760f979
CF
260782010-03-04 Christian Franke <franke@computer.org>
26079
26080 * util/grub-pe2elf.c: Add missing include "progname.h".
26081
f209b5b2
VS
260822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26083
26084 * normal/crypto.c (read_crypto_list): Fix a typo.
26085 Reported by: Seth Goldberg.
26086
b4b7be98
VS
260872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26090 Reported by: Seth Goldberg.
b4b7be98 26091
c0ee0385
VS
260922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26095 ascii.bitmaps.
26096
a8efbf64
VS
260972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26098
26099 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26100 Reported by: Seth Goldberg.
a8efbf64 26101
08dcd913
VS
261022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * util/i386/efi/grub-install.in: Copy gettext files.
26105
c4d0b332
VS
261062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26107
26108 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26109
c6f2fe52
VS
261102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26111
26112 Wait for user entry basing on presence of output rather than on errors.
26113
26114 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26115 (grub_install_newline_hook): Likewise.
26116 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26117 * normal/menu.c (show_menu): Check line_counter to determine presence
26118 of output.
26119 * normal/term.c (grub_normal_line_counter): New variable.
26120 (grub_normal_get_line_counter): New function.
26121 (grub_install_newline_hook): Likewise.
26122
5382b1e4
VS
261232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26124
26125 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26126
5519963b
VS
261272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26128
26129 * configure.ac: Update version to 1.98.
26130
72b28631
VS
261312010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 * util/grub.d/10_linux.in (linux_entry): Don't default to
26134 gfxpayload=keep if Linux doesn't support video handover.
26135
c140a180
VS
261362010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 Don't compile video modules on yeeloong since video subsystem is part
26139 of kernel.
26140
26141 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26142 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26143 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26144 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26145 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26146 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26147 * include/grub/bitmap_scale.h: Likewise.
26148 * include/grub/bufio.h: Likewise.
26149 * include/grub/font.h: Likewise.
26150 * include/grub/gfxterm.h: Likewise.
26151 * include/grub/video.h: Likewise.
26152 * include/grub/vbe.h: Don't include video_fb.h.
26153 * video/i386/pc/vbe.c: Include video_fb.h.
26154 * commands/i386/pc/vbetest.c: Include video.h.
26155
a0ca21c2
CW
261562010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26157
26158 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26159 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26160 default entry if GRUB_SAVEDEFAULT=true. This allows using
26161 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26162 saving a new default on every boot.
26163
4a8a763c
VS
261642010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26165
26166 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26167 * normal/term.c (read_terminal_list): Likewise.
26168 * normal/main.c (grub_normal_init_page): Likewise.
26169 (grub_normal_read_line_real): Likewise.
26170
607ffde2
VS
261712010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26174 memory leak.
26175 Reported by: Seth Goldberg.
26176
2b8fa975
CW
261772010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26178
26179 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26180 duplicate declaration of `start'.
26181
618307dd
VS
261822010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26183
26184 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26185 filename.
26186 Reported by: Georgy Buranov
26187
7dd05b96 261882010-02-20 Carles Pina i Estany <carles@pina.cat>
26189
26190 * util/grub-mkrawimage.c (usage): Change string formatting to
26191 improve gettext.
26192
d1484a42
MRA
261932010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26194
26195 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26196 backspace keys.
26197
42b1d186
VS
261982010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26199
26200 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26201 Reported by: Michael Suchanek.
26202
262032010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26204
26205 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26206 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26207
d9f31a41
VS
262082010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26209
26210 Remove any reference to non-free fonts.
26211
26212 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26213 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26214 uses non-free components.
26215 * font/font.c (grub_font_get_name): Remove example name.
26216 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26217 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26218 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26219 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26220
2793c71e
GB
262212010-02-16 Georgy Buranov <gburanov@gmail.com>
26222
26223 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26224
402e3779
VS
262252010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26226
26227 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26228 Double divisor.
26229 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26230 features.
26231 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26232
0dd1e0dd
VS
262332010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26234
26235 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26236
6fa7cfce
ST
262372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26238
26239 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26240 * docs/grub.texi (Command-line and menu entry commands): Document play
26241 command.
26242
37c8483b
ST
262432010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26244
26245 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26246 parse arguments as inline tempo and notes. Move code for playing notes
26247 to...
26248 (play): ... new function.
26249
14da0fb7
ST
262502010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26251
26252 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26253 grub_uint16_t instead of short.
26254 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26255 disk from little endian to cpu endianness.
26256
04459e70
ST
262572010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26258
26259 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26260 GRUB_TICKS_PER_SECOND instead of 120.
26261
a0876943
VS
262622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26265 escape sequence after \e.
26266
e29f95dc
VS
262672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26270 non-ASCII characters.
26271
d27859b2
VS
262722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26273
26274 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26275 set root in single quotes to prevent \, from being unescaped.
26276
bc028f2f
VS
262772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26278
26279 Prevent unknown commands from stopping menuentry execution.
26280
26281 * script/execute.c (grub_script_execute_cmdline): Print error after
26282 unknown command.
26283
095f5f82
VS
262842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26285
26286 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26287 Reported by: Pavel Pisa.
26288
8c717950
VS
262892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26292
904935c3
VS
262932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26294
26295 Merge grub_ieee1275_map_physical into grub_map and rename to
26296 grub_ieee1275_map
26297
26298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26299 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26300 Remove.
26301 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26302 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26303 necessary.
26304 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26305
5b59a4e3
VS
263062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26309 opening and not after.
26310
69e137e8
VS
263112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26312
26313 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26314 constants.
26315
2c0fcc36
VS
263162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26319 (alloc_phys): Use ALIGN_UP instead of align_addr.
26320
8c6052ce
VS
263212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26324
17cec782
VS
263252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26326
26327 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26328
e0128bbd
VS
263292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26330
26331 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26332 verbose dprintf.
26333
ca62070b
VS
263342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26335
26336 Fix over-4GiB seek on sparc64.
26337
26338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26339 Replace pos_i and pos_lo with pos. All users updated.
26340 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26341 New constant.
26342 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26343 Likewise.
26344 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26345 and pos_lo.
26346
bdca2607
VS
263472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 * util/grub-mkrawimage.c (main): Call set_program_name.
26350
da278c4d
VS
263512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 Properly align 64-bit targets.
26354
26355 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26356 (generate_image): Use ALIGN_ADDR.
26357
b274d734
VS
263582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26359
26360 Properly create cross-endian images.
26361
26362 * include/grub/types.h (grub_host_to_target_addr): New macro
26363 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26364
82da2062
VS
263652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26366
26367 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26368
7cae4377
VS
263692010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26372
26373 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26374 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26375 (grub_linux_boot): Divide by 64K when on VESA.
26376
65a533e7
VS
263772010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26378
26379 Support GRUB_GFXPAYLOAD_LINUX.
26380
26381 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26382 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26383
dd01d397
VS
263842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26385
26386 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26387 to show messages instead of discarding them.
26388 Process errors after executing command and not before. Keep old method
26389 too as precaution.
26390
660960d6
VS
263912010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26392
26393 * configure.ac: Check for ft2build.h.
26394
62509f04
VS
263952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26396
26397 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26398
473df63d
VS
263992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * genkernsyms.sh.in: Use TARGET_CC.
26402
c98d2a13
CW
264032010-02-07 Colin Watson <cjwatson@ubuntu.com>
26404
26405 * NEWS: Update.
26406
6e14234c
VS
264072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26410 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26411 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26412
b255e9cf
YB
264132010-02-07 Yves Blusseau <blusseau@zetam.org>
26414
6e14234c 26415 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26416
98e6959d
VS
264172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26418
26419 Fix warnings in grub-emu when compiling with maximum warning options.
26420
26421 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26422 (grub_arch_modules_addr): Return 0 and not NULL.
26423 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26424 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26425 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26426 of disk to dsk to avoid shadowing.
74e4934e
VS
26427 (find_free_slot): Fix prototype.
26428 * util/getroot.c (grub_util_is_dmraid): Make static.
26429 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26430 Add missing prototype.
26431 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26432
74e31b5c
VS
264332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26434
26435 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26436 appropriately.
26437
6b2ad14b
VS
264382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26439
26440 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26441 code out.
26442
8f891adc
VS
264432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26444
26445 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26446 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26447 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26448 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26449 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26450 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26451
74b45184
VS
264522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 * include/grub/err.h (grub_err_printf): Don't export.
26455
a4bced77
VS
264562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26457
26458 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26459
007d0695
VS
264602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26463 * kern/misc.c (grub_gettext_dummy): Make static.
26464
b6c0d9c2
VS
264652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26466
26467 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26468 by non-valid ones.
26469 * kern/term.c (grub_putchar): Likewise.
26470
f51a90d0
VS
264712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26472
26473 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26474 buggy hook call and memory leak.
26475
6846cec5
VS
264762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26477
26478 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26479
468d69fe
VS
264802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26481
26482 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26483
51906b8c
VS
264842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26487 modevar.
26488 Return grub_errno on allocation error.
26489
09706ce5
VS
264902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26493
911df80c
YB
264942010-02-06 Yves Blusseau <blusseau@zetam.org>
26495
26496 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26497 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26498
3746a6bc
VS
264992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26502 non-pxe disk.
26503 (grub_pxefs_open): Likewise.
26504
09706ce5
VS
265052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26506
26507 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26508 * util/grub.d/10_kfreebsd.in: Likewise.
26509 * util/grub.d/10_linux.in: Likewise.
26510
7cc192d9
VS
265112010-02-06 Colin D Bennett <colin@gibibit.com>
26512
26513 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26514 (gfxmenu_mod_SOURCES): New variable.
26515 (gfxmenu_mod_CFLAGS): Likewise.
26516 (gfxmenu_mod_LDFLAGS): Likewise.
26517 * include/grub/term.h (grub_term_set_current_output): Declare
26518 argument as const.
26519 * docs/gfxmenu-theme-example.txt: New file.
26520 * gfxmenu/gfxmenu.c: Likewise.
26521 * gfxmenu/gui_box.c: Likewise.
26522 * gfxmenu/gui_canvas.c: Likewise.
26523 * gfxmenu/gui_circular_progress.c: Likewise.
26524 * gfxmenu/gui_image.c: Likewise.
26525 * gfxmenu/gui_label.c: Likewise.
26526 * gfxmenu/gui_list.c: Likewise.
26527 * gfxmenu/gui_progress_bar.c: Likewise.
26528 * gfxmenu/gui_string_util.c: Likewise.
26529 * gfxmenu/gui_util.c: Likewise.
26530 * gfxmenu/icon_manager.c: Likewise.
26531 * gfxmenu/model.c: Likewise.
26532 * gfxmenu/named_colors.c: Likewise.
26533 * gfxmenu/theme_loader.c: Likewise.
26534 * gfxmenu/view.c: Likewise.
26535 * gfxmenu/widget-box.c: Likewise.
26536 * include/grub/gfxmenu_model.h: Likewise.
26537 * include/grub/gfxmenu_view.h: Likewise.
26538 * include/grub/gfxwidgets.h: Likewise.
26539 * include/grub/gui.h: Likewise.
26540 * include/grub/gui_string_util.h: Likewise.
26541 * include/grub/icon_manager.h: Likewise.
26542
265432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 Agglomerate scrolling in gfxterm.
26546
26547 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26548 (grub_virtual_screen_setup): Initialise 'total_screen'.
26549 (write_char): Split to ...
26550 (paint_char): ... this ...
26551 (write_char): ... and this.
26552 (paint_char): Handle delayed scrolling.
26553 (draw_cursor): Likewise.
26554 (scroll_up): Split to ...
26555 (real_scroll): ... this ...
26556 (scroll_up): ... and this.
26557 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26558 characters.
26559 (grub_gfxterm_refresh): Call real_scroll.
26560
265612010-02-06 Colin D Bennett <colin@gibibit.com>
26562
26563 * include/grub/misc.h (grub_iscntrl): New inline function.
26564 (grub_isalnum): Likewise.
26565 (grub_strtol): Likewise.
26566
265672010-02-06 Colin D Bennett <colin@gibibit.com>
26568
26569 * normal/menu_text.c (get_entry_number): Move from here ...
26570 * normal/menu.c (get_entry_number): ... moved here.
26571 * include/grub/menu.h (grub_menu_get_default_entry_index):
26572 New prototype.
26573 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26574 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26575 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26576 (grub_menu_viewer_should_return): Likewise.
26577 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26578 * normal/menu_text.c (run_menu): Enable menu switching.
26579 * normal/menu_viewer.c (should_return): New variable.
26580 (menu_viewer_changed): Likewise.
26581 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26582 (grub_menu_viewer_should_return): New function.
26583 (menuviewer_write_hook): Likewise.
26584 (grub_menu_viewer_init): Likewise.
26585
265862010-02-06 Colin D Bennet <colin@gibibit.com>
265872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26588
26589 Support for gfxterm in a window.
26590
26591 * include/grub/gfxterm.h: New file.
26592 * include/grub/video.h (struct grub_video_rect): New declaration.
26593 (grub_video_rect_t): Likewise.
26594 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26595 (refcount): New variable.
26596 (render_target): Likewise.
26597 (window): Likewise.
26598 (repaint_callback): Likewise.
26599 (grub_virtual_screen_setup): Use 'render_target'.
26600 (init_window): New function.
26601 (grub_gfxterm_init_window): Likewise.
26602 (grub_gfxterm_init): Check reference counter.
26603 Use init_window.
26604 (destroy_window): New function.
26605 (grub_gfxterm_destroy_window): Likewise.
26606 (grub_gfxterm_fini): Check reference counter.
26607 Use destroy_window.
26608 (redraw_screen_rect): Restore viewport.
26609 Use 'render_target' and 'window'.
26610 Call 'repaint_callback'.
26611 (write_char): Use 'render_target'.
26612 (draw_cursor): Likewise.
26613 (scroll_up): Restore viewport.
26614 Use 'render_target' and 'window'.
26615 Call 'repaint_callback'.
26616 (grub_gfxterm_cls): Likewise.
26617 (grub_gfxterm_refresh): Use 'window'.
26618 (grub_gfxterm_set_repaint_callback): New function.
26619 (grub_gfxterm_background_image_cmd): Use 'window'.
26620 (grub_gfxterm_get_term): New function.
26621 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26622
266232010-02-06 Colin D Bennett <colin@gibibit.com>
26624
26625 Bitmap scaling support.
26626
26627 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26628 (bitmap_scale_mod_SOURCES): New variable.
26629 (bitmap_scale_mod_CFLAGS): Likewise.
26630 (bitmap_scale_mod_LDFLAGS): Likewise.
26631 * include/grub/bitmap_scale.h: New file.
26632 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26633 (background_image_cmd_options): New variable.
26634 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26635 (cmd): Rename and change type to ...
26636 (background_image_cmd_handle): ... this. All users updated.
26637 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26638 * video/bitmap_scale.c: New file.
26639
266402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 SDL support.
26643
26644 * Makefile.in (LIBSDL): New variable.
26645 (enable_grub_emu_sdl): Likewise.
26646 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26647 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26648 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26649 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26650 * util/sdl.c: New file.
26651
266522010-02-06 Colin D Bennett <colin@gibibit.com>
266532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26654
26655 Double buffering support.
26656
26657 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26658 * include/grub/video.h: Update comment.
26659 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26660 New type.
26661 (grub_video_fb_doublebuf_blit_init): New prototype.
26662 * term/gfxterm.c (scroll_up): Support double buffering.
26663 (grub_gfxterm_refresh): Likewise.
26664 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26665 (grub_video_fb_doublebuf_blit_init): Likewise.
26666 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26667 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26668 'displayed_page', 'render_page' and 'update_screen'.
26669 (grub_video_vbe_fini): Free offscreen buffer.
26670 (doublebuf_pageflipping_commit): New function.
26671 (doublebuf_pageflipping_update_screen): Likewise.
26672 (doublebuf_pageflipping_init): Likewise.
26673 (double_buffering_init): Likewise.
26674 (grub_video_vbe_setup): Enable doublebuffering.
26675 (grub_video_vbe_swap_buffers): Implement.
26676 (grub_video_vbe_set_active_render_target): Handle double buffering.
26677 (grub_video_vbe_get_active_render_target): Likewise.
26678 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26679 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26680 (grub_video_vbe_enable_double_buffering): Likewise.
26681 (grub_video_vbe_swap_buffers): Use update_screen.
26682 (grub_video_set_mode): Use double buffering.
26683
266842010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26685
26686 * maintainance/gentrigtables.py: Remove.
26687 * lib/trig.c: Likewise.
26688
26689 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26690
26691 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26692 `trigtables.c'.
26693 (trigtables.c): New rule.
26694 (gentrigtables): Likewise.
26695 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26696
266972010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26698
26699 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26700 integer constants.
26701
267022010-02-06 Colin D Bennet <colin@gibibit.com>
26703
26704 Trigonometry support.
26705
26706 * include/grub/trig.h: New file.
26707 * lib/trig.c: Likewise.
26708 * maintainance/gentrigtables.py: Likewise.
26709 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26710 (trig_mod_SOURCES): New variable.
26711 (trig_mod_CFLAGS): Likewise.
26712 (trig_mod_LDFLAGS): Likewise.
26713
5562834e
VS
267142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26715
26716 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26717 disk devices.
26718
4f8528fc
VS
267192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26720
26721 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26722 error.
26723
2b4068e9
VS
267242010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26725
26726 * util/hostdisk.c (open_device): Don't use partition device when reading
26727 before the partition.
26728 (grub_util_biosdisk_read): Don't read from partition and before the
26729 partition in single operation.
26730 (grub_util_biosdisk_write): Don't write to partition and before the
26731 partition in single operation.
26732
399f6e4d
TL
267332010-02-03 Torsten Landschoff <torsten@debian.org>
26734
26735 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26736 last sectors.
26737
996649b0
VS
267382010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26739
26740 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26741 CDROM reads.
26742 (grub_biosdisk_write): Refuse to write to CDROM.
26743
3b205d4d
VS
267442010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26745
26746 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26747
61e89d9d
VS
267482010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 * font/font.c (find_glyph): Check that bmp_idx is available before
26751 using it.
26752 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26753 with (font == NULL).
26754
bf7fcba2
CS
267552010-01-28 Christian Schmitt <chris@ilovelinux.de>
26756
26757 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26758
f45d2663
BC
267592010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26760
26761 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26762 * util/grub-script-check.c (getline): Fix empty lines case.
26763
ec1444e6
RM
267642010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26765
26766 * Makefile.in (check): Exit with fail status when one of the tests
26767 fails.
26768 * tests/example_functional_test.c (example_test): Fix reversed assert.
26769 * tests/example_unit_test.c (example_test): Likewise.
26770
2e1cb9bb
CW
267712010-01-28 Colin Watson <cjwatson@ubuntu.com>
26772
26773 * util/grub.d/10_linux.in: This script does not use any of the
26774 contents of gettext.sh, only the external command `gettext', so stop
26775 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26776 the same prefix as GRUB.)
26777 * util/grub.d/10_kfreebsd.in: Likewise.
26778
63533ab0
VS
267792010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26782 of the line.
26783
989e1f93
VS
267842010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26787 last sectors.
26788
e709ebe2
VS
267892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26790
26791 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26792 having a 4KiB and not 32KiB buffer size.
26793
27dea7ed
RM
267942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * util/hostfs.c: Include `<errno.h>'.
26797 (grub_hostfs_read): Handle errors from fseeko() and fread().
26798
67667b9c
RM
267992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26800
26801 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26802 loop when using read hooks on files whose size isn't sector-aligned.
26803
c294d9d8
RM
268042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26805
26806 Remove unused parameter.
26807
26808 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26809 (grub_iso9660_open): Remove initialization of `data->length'.
26810
af75a9f1
RM
268112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26812
26813 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26814 memleak conditions.
26815
254e2ce5 268162010-01-27 Carles Pina i Estany <carles@pina.cat>
26817
26818 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26819 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26820
b510928c 268212010-01-26 Carles Pina i Estany <carles@pina.cat>
26822
26823 * util/bin2h.c (usage): Fix warning (space after backslash).
26824
aa2f9dd2 268252010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26826
26827 * font/font.c: Include `grub/fontformat.h.
26828 Remove font file format constants.
26829 (grub_font_load): Use the new macros.
26830 * include/grub/fontformat.h: New file.
26831 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26832 (write_font_pf2): Use the new macros.
26833
94e7e712
RM
268342010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26835
26836 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26837 does.
26838
3973a59a
RM
268392010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26840
26841 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26842
26843 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26844 (_start): Macroify `0x7F'.
26845
26846 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26847 (make_install_device): Use "(pxe)" as fallback prefix when booting
26848 via PXE.
26849
42e0cba3
GS
268502010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 * configure.ac: Reset LIBS after check for libgcc symbols.
26853
847effd8
CW
268542010-01-25 Colin Watson <cjwatson@ubuntu.com>
26855
26856 * util/hostdisk.c (open_device): Add trailing newline to debug
26857 message.
26858
ea4a7e35
GS
268592010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26860
26861 * configure.ac: Check for `limits.h'.
26862 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26863
67951a53
RM
268642010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26865
26866 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26867 capitalize error strings.
26868
c273d4ce
ST
268692010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26870
26871 * util/grub.d/10_hurd.in: Add a recovery mode.
26872
69be5b74
VS
268732010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26874
26875 * configure.ac: Check for libgcc symbols with -nostdlib.
26876
fc9e5810
BC
268772010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26878
26879 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26880
4b358c0a
VS
268812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26882
26883 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26884 stack since heap may be unavailable at that point.
26885 (grub_ofconsole_gotoxy): Likewise.
26886
454fcd1c
VS
268872010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 * configure.ac: Check for _restgpr_14_x.
26890 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26891 and _savegpr_* prototypes.
26892
566863ca
RM
268932010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26894
26895 Use generic grub_reboot() for i386-efi.
26896
26897 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26898 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26899 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26900
bf86e59a
VS
269012010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26902
26903 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26904 presence of "prefix" variable as it breaks when normal.mod is
26905 embedded.
26906
d645e0f8
VS
269072010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26910 stack since heap is unavailable at that point.
26911
f9ab2e25
VS
269122010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26915 (grub_freebsd_bootinfo): Rewritten.
26916 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26917
01fc7054
VS
269182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26919
26920 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26921
caab4fd6
RM
269222010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26923
26924 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26925 domain now.
26926
67eb1427
FZ
269272010-01-20 Felix Zielcke <fzielcke@z-51.de>
26928
26929 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26930 around for handling "/" to the correct fix. Fix a memory leak. Use
26931 xstrdup instead of strdup.
26932
a9ed4ff3
VS
269332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26934
26935 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26936
269372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26938
26939 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26940
26941 * font/font.c (struct grub_font): New member 'bmp_idx'.
26942 (font_init): Initialise 'bmp_idx'.
26943 (load_font_index): Fill 'bmp_idx'.
26944 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26945
48209f4f
VS
269462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26949 unnecessary calls.
26950
9f0a4bb7
VS
269512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 Move context handling out of the kernel.
26954
26955 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26956 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26957 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26958 * conf/i386-efi.rmk: Likewise.
26959 * conf/i386-ieee1275.rmk: Likewise.
26960 * conf/i386-pc.rmk: Likewise.
26961 * conf/powerpc-ieee1275.rmk: Likewise.
26962 * conf/sparc64-ieee1275.rmk: Likewise.
26963 * conf/x86_64-efi.rmk: Likewise.
26964 * include/grub/env.h: Include grub/menu.h.
26965 (grub_env_var_type): Removed.
26966 (grub_env_var): Replaced field 'type' with 'global'.
26967 (grub_env_find): New prototype.
26968 (grub_env_context_open): Remove EXPORT_FUNC.
26969 (grub_env_context_close): Likewise.
26970 (grub_env_export): Likewise.
26971 (grub_env_set_data_slot): Removed.
26972 (grub_env_get_data_slot): Likewise.
26973 (grub_env_unset_data_slot): Likewise.
26974 (grub_env_unset_menu): New prototype.
26975 (grub_env_set_menu): Likewise.
26976 (grub_env_get_menu): Likewise.
26977 * include/grub/env_private.h: New file.
26978 * include/grub/normal.h (grub_context_init): New prototype.
26979 (grub_context_fini): Likewise.
26980 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26981 * normal/context.c (grub_cmd_export): ... to here.
26982 * kern/env.c: Include env_private.h.
26983 (HASHSZ): Moved to include/grub/env_private.h.
26984 (grub_env_context): Likewise.
26985 (grub_env_sorted_var): Likewise.
26986 (current_context): Renamed from this ...
26987 (grub_current_context): ...to this. 'static' removed. All users updated.
26988 (grub_env_find): Removed 'static'.
26989 (grub_env_context_open): Moved to normal/context.c.
26990 (grub_env_context_close): Likewise.
26991 (grub_env_export): Likewise.
26992 (mangle_data_slot_name): Removed.
26993 (grub_env_set_data_slot): Likewise.
26994 (grub_env_get_data_slot): Likewise.
26995 (grub_env_unset_data_slot): Likewise.
26996 * kern/main.c (grub_set_root_dev): Don't export root.
26997 It will be done later.
26998 (grub_main): Don't export prefix.
26999 It will be done later.
27000 * normal/context.c: New file.
27001 * normal/main.c (free_menu): Use grub_env_unset_menu.
27002 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27003 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27004 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27005 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27006
8dd35b8c
VS
270072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 setpci support.
27010
27011 * commands/setpci.c: New file.
27012 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27013 (setpci_mod_SOURCES): New variable.
27014 (setpci_mod_CFLAGS): Likewise.
27015 (setpci_mod_LDFLAGS): Likewise.
27016
449193d5
VS
270172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27018
27019 Byte-addressable PCI configuration space.
27020
27021 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27022 dword address.
27023 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27024 GRUB_PCI_REG_CACHELINE.
27025 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27026 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27027 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27028 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27029 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27030 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27031 grub_pci_make_address.
27032 (lock_rom_area): Likewise.
27033 * commands/lspci.c (grub_lspci_iter): Use macroses
27034 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27035 of grub_pci_make_address.
27036 * disk/ata.c (grub_ata_pciinit): Likewise.
27037 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27038 (GRUB_PCI_REG_VENDOR): Likewise.
27039 (GRUB_PCI_REG_DEVICE): Likewise.
27040 (GRUB_PCI_REG_COMMAND): Likewise.
27041 (GRUB_PCI_REG_STATUS): Likewise.
27042 (GRUB_PCI_REG_REVISION): Likewise.
27043 (GRUB_PCI_REG_CLASS): Likewise.
27044 (GRUB_PCI_REG_CACHELINE): Likewise.
27045 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27046 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27047 (GRUB_PCI_REG_BIST): Likewise.
27048 (GRUB_PCI_REG_ADDRESSES): Likewise.
27049 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27050 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27051 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27052 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27053 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27054 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27055 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27056 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27057 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27058 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27059 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27060 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27061 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27062 (GRUB_PCI_REG_MIN_GNT): Likewise.
27063 (GRUB_PCI_REG_MAX_LAT): Likewise.
27064 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27065 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27066 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27067 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27068 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27069 space.
27070
96d73208
RM
270712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27072
27073 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27074 can be reliably determined to be supported.
27075
d4484482
RM
270762010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27077
27078 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27079 that VESA is supported.
27080 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27081 supported.
27082
00308ecf
VS
270832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27084
27085 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27086
f66924a4
RM
270872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27088
27089 * util/misc.c (make_system_path_relative_to_its_root): Work around
27090 special-casing of "/", as previous incarnation of this routine did.
27091
cbca0ada
VS
270922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27093
27094 Fix any-emu compilation.
27095
27096 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27097 * grub_bin2h_SOURCES: New variable.
27098
34a66d99
RM
270992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27100
27101 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27102
94fabf58
RM
271032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27104
27105 * util/grub.d/00_header.in: Fix handling of locale_dir.
27106
02cf98ca
VS
271072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27110 as possible unifont location (Gentoo).
27111 Reported by: Alexander Brüning
27112
327dbcd7
VS
271132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27114
27115 Don't try to generate lists for kernel.img.
27116
27117 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27118 (pkglib_MODULES): Remove kernel.img.
27119 (kernel_img_EXPORTS): Removed.
27120 (kernel_img_RELOCATABLE): New variable.
27121 * conf/x86_64-efi.rmk: Likewise.
27122 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27123
ca467290
VS
271242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27127 grub_xasprintf or grub_snprintf.
27128 (grub_vsprintf): Likewise.
27129 (grub_snprintf): New proto.
27130 (grub_vsnprintf): Likewise.
27131 (grub_xasprintf): Likewise.
27132 (grub_xvasprintf): Likewise.
27133 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27134 (grub_sprintf): Removed.
27135 (grub_vsnprintf): New function.
27136 (grub_snprintf): Likewise.
27137 (grub_xvasprintf): Likewise.
27138 (grub_xasprintf): Likewise.
27139 (grub_vsprintf): Renamed to ...
27140 (grub_vsnprintf_real): ...this. New argument max_len.
27141
aca655fd
BC
271422010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27143
27144 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27145 fix grub-script-check warning.
27146
7ee92c32
VS
271472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27148
27149 * include/grub/font.h (grub_font_load): Fix prototype.
27150
f80927ca
VS
271512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27152
27153 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27154
119c50ea
VS
271552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27156
27157 * include/grub/x86_64/at_keyboard.h: New file.
27158
47d5f3c1
VS
271592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27160
27161 * loader/mips/linux.c: Include missing grub/i18n.h.
27162
55ff5266
RM
271632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27164
27165 * normal/menu.c (notify_execution_failure): Clarify error message.
27166
c893cc87
RM
271672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27168
27169 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27170 return value (and revert all return statements). Update users.
27171
917dd370
CW
271722010-01-20 Dan Merillat <debian@dan.merillat.org>
27173
27174 * kern/device.c (grub_device_iterate): Allocate new part_ent
27175 structure based on sizeof (*p) rather than sizeof (p->next), to
27176 account for structure padding.
27177
27178 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27179 disk is NULL, which might happen for LVM physical volumes with no
27180 LVM signature.
27181
d4a4ee57
RM
271822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27183
27184 * loader/mips/linux.c (grub_cmd_initrd)
27185 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27186
271872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27188
27189 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27190 (grub_video_video_init, grub_video_bitmap_init)
27191 (grub_font_manager_init, grub_term_gfxterm_init)
27192 (grub_at_keyboard_init): New extern declarations.
27193 (grub_machine_init): Initialize gfxterm and at_keyboard.
27194
27195 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27196
27197 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27198 `gfxterm.mod' into core image.
27199
27200 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27201 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27202 (kernel_img_FORMAT): Copy to ...
27203
27204 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27205 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27206 (kernel_img_FORMAT): ... here, and ...
27207
27208 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27209 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27210 (kernel_img_FORMAT): ... here.
27211
27212 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27213 and input (at_keyboard) terminals in kernel.
27214 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27215
27216 (pkglib_MODULES): Remove `pci.mod'.
27217 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27218 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27219 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27220 (at_keyboard_mod_LDFLAGS): Remove variables.
27221
272222010-01-11 Felix Zielcke <fzielcke@z-51.de>
27223
27224 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27225
272262009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 * include/grub/mips/libgcc.h: Only export symbols for functions
27229 that libgcc provides.
27230
272312009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27232
27233 MIPS support.
27234
27235 * bus/bonito.c: New file.
27236 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27237 GRUB_PCI_NUM_DEVICES.
27238 * term/i386/pc/serial.c: Move to ...
27239 * term/serial.c: ... here. All users updated.
27240 * util/i386/pc/grub-mkimage.c: Move to ...
27241 * util/grub-mkrawimage.c: ... here. All users updated.
27242 * term/i386/pc/at_keyboard.c: Move to ...
27243 * term/at_keyboard.c: ... here. All users updated.
27244 * conf/mips-qemu-mips.rmk: New file.
27245 * conf/mips-yeeloong.rmk: Likewise.
27246 * conf/mips.rmk: Likewise.
27247 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27248 mipsel-qemu-mips.
27249 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27250 to port addresses.
27251 (grub_ata_pciinit): Support CS5536.
27252 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27253 * font/font_cmd.c (loadfont_command): Open file before passing it to
27254 grub_font_load.
27255 (pseudo_file_read): New function.
27256 (pseudo_file_close): Likewise.
27257 (pseudo_fs): New structure.
27258 (load_font_module): New function.
27259 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27260 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27261 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27262 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27263 * include/grub/i386/at_keyboard.h: Split into ...
27264 * include/grub/at_keyboard.h: ... this ...
27265 * include/grub/i386/at_keyboard.h: ... and this.
27266 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27267 New prototype.
27268 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27269 updated.
27270 (grub_elf64_size): Likewise.
27271 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27272 filename.
27273 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27274 * include/grub/i386/coreboot/serial.h: Rewritten.
27275 * include/grub/i386/ieee1275/serial.h: Include
27276 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27277 * include/grub/i386/pc/serial.h: Moved from here ...
27278 * include/grub/serial.h: ... to here. All users updated.
27279 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27280 (GRUB_PCI_NUM_BUS): Likewise.
27281 (GRUB_PCI_NUM_DEVICES): Likewise.
27282 (grub_pci_device_map_range): Add missing volatile keyword.
27283 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27284 * include/grub/mips/at_keyboard.h: New file.
27285 * include/grub/mips/cache.h: Likewise.
27286 * include/grub/mips/io.h: Likewise.
27287 * include/grub/mips/kernel.h: Likewise.
27288 * include/grub/mips/libgcc.h: Likewise.
27289 * include/grub/mips/pci.h: Likewise.
27290 * include/grub/mips/qemu-mips/boot.h: Likewise.
27291 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27292 * include/grub/mips/qemu-mips/loader.h: Likewise.
27293 * include/grub/mips/qemu-mips/memory.h: Likewise.
27294 * include/grub/mips/qemu-mips/serial.h: Likewise.
27295 * include/grub/mips/qemu-mips/time.h: Likewise.
27296 * include/grub/mips/relocator.h: Likewise.
27297 * include/grub/mips/time.h: Likewise.
27298 * include/grub/mips/types.h: Likewise.
27299 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27300 * include/grub/mips/yeeloong/boot.h: Likewise.
27301 * include/grub/mips/yeeloong/kernel.h: Likewise.
27302 * include/grub/mips/yeeloong/loader.h: Likewise.
27303 * include/grub/mips/yeeloong/memory.h: Likewise.
27304 * include/grub/mips/yeeloong/pci.h: Likewise.
27305 * include/grub/mips/yeeloong/serial.h: Likewise.
27306 * include/grub/mips/yeeloong/time.h: Likewise.
27307 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27308 * kern/elf.c (grub_elf32_size): New parameter. All users
27309 updated.
27310 (grub_elf64_size): Likewise.
27311 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27312 Load modules before saying "Welcome to GRUB!".
27313 Call grub_refresh after saying "Welcome to GRUB!".
27314 * kern/mips/cache.S: New file.
27315 * kern/mips/cache_flush.S: Likewise.
27316 * kern/mips/dl.c: Likewise.
27317 * kern/mips/init.c: Likewise.
27318 * kern/mips/qemu-mips/init.c: Likewise.
27319 * kern/mips/startup.S: Likewise.
27320 * kern/mips/yeeloong/init.c: Likewise.
27321 * kern/term.c (grub_putcode): Handle NULL terminal.
27322 (grub_getcharwidth): Likewise.
27323 (grub_getkey): Likewise.
27324 (grub_checkkey): Likewise.
27325 (grub_getkeystatus): Likewise.
27326 (grub_getxy): Likewise.
27327 (grub_getwh): Likewise.
27328 (grub_gotoxy): Likewise.
27329 (grub_cls): Likewise.
27330 (grub_setcolorstate): Likewise.
27331 (grub_setcolor): Likewise.
27332 (grub_getcolor): Likewise.
27333 (grub_refresh): Likewise.
27334 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27335 (write_jump): Add hatch nop.
27336 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27337 * lib/mips/setjmp.S: New file.
27338 * loader/mips/linux.c: Likewise.
27339 * term/i386/pc/at_keyboard.c: Move from here ...
27340 * term/at_keyboard.c: ... to here.
27341 * term/i386/pc/serial.c: Moved from here ...
27342 * term/serial.c: ... to here. All users updated.
27343 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27344 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27345 (serial_translate_key_sequence): Avoid deadlock.
27346 (grub_serial_getkey): Handle backspace.
27347 (grub_serial_putchar): Fix newline handling.
27348 * util/i386/pc/grub-mkimage.c: Move from here ...
27349 * util/grub-mkrawimage.c: ... to here. All users updated.
27350 (generate_image): New parameters 'font_path' and 'format'.
27351 Support embedding font.
27352 Use grub_host_to_target* instead of grub_cpu_to_le*.
27353 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27354 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27355 (options): New option "--font".
27356 (usage): Likewise.
27357 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27358 (main): Handle "--font".
27359 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27360 (grub_virtual_screen_setup): Set bg_color_display.
27361 (redraw_screen_rect): Use bg_color_display instead of incorrect
27362 bg_color.
27363 (grub_gfxterm_cls): Likewise.
27364 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27365 Support embedding config file.
27366 (add_segments): Likewise.
27367 (options): New option "--config".
27368 (main): Handle "--config".
27369 * video/sm712.c: New file.
27370
25c2b5b3
RM
273712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27372
27373 Fix parallel builds.
27374
27375 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27376 font.c depend on ascii.h).
27377
273782010-01-12 Carles Pina i Estany <carles@pina.cat>
27379
27380 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27381
273822010-01-11 Carles Pina i Estany <carles@pina.cat>
27383
27384 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27385 By default: disabled.
27386 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27387 parameter.
27388
273892010-01-10 Carles Pina i Estany <carles@pina.cat>
27390
27391 * font/font.c: Update copyright years.
27392 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27393
273942010-01-10 Carles Pina i Estany <carles@pina.cat>
27395
27396 * font/font.c: Include `ascii.h'.
27397 (ASCII_BITMAP_SIZE): New macro.
27398 (ascii_font_glyph): Define.
27399 (ascii_glyph_lookup): New function.
27400 (grub_font_get_string_width): Change comment. If glyph not found, use
27401 ascii_glyph_lookup.
27402 (grub_font_get_glyph_with_fallback): If glyph not available returns
27403 ascii_glyph_lookup.
27404 * util/grub-mkfont.c (file_formats): New enum.
27405 (options): Add `ascii-bitmaps' new option.
27406 (usage): Add `asii-bitmaps' new option.
27407 (write_font_ascii_bitmap): New function.
27408 (write_font): Rename to ...
27409 (write_font_p2): ... this. Remove print_glyphs call.
27410 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27411 used. Call print_glyphs.
27412 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27413
274142010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27415
27416 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27417 (grub_bin2h_SOURCES): New variable.
27418 * util/bin2h.c: New file.
27419
915fc1b8
VS
274202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27421
27422 * include/multiboot.h: Resynced with spec.
27423 * include/multiboot2.h: Likewise.
27424 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27425 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27426
9444b678
RM
274272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27428
27429 * include/grub/term.h (grub_term_register_input,
27430 grub_term_register_output): Check return of terminal init()
27431 routines, and abort if errors are raised.
27432
27433 * commands/terminal.c: Update copyright year.
27434
cba98e8d
RM
274352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27436
27437 * commands/terminal.c (grub_cmd_terminal_input)
27438 (grub_cmd_terminal_output): Check return of terminal init()
27439 routines, and abort if errors are raised.
27440
6f7db5d6
VS
274412010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 * include/grub/i386/bsd.h: Fix include pathes.
27444
262bff8d
VS
274452010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Add missing *BSD copyright headers.
27448
27449 * include/grub/aout.h: Add BSD licence.
27450 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27451 * include/grub/i386/freebsd_linker.h: ... here,
27452 * include/grub/i386/freebsd_reboot.h: ... here,
27453 * include/grub/i386/netbsd_bootinfo.h: ... here,
27454 * include/grub/i386/netbsd_reboot.h: ... here,
27455 * include/grub/i386/openbsd_bootarg.h: ... here,
27456 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27457 licence to each file.
27458
b2cab848
RM
274592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27460
27461 * acinclude.m4: Remove `nop' assembly instruction; it's not
27462 implemented by all architectures.
27463
2cb6be4b
RM
274642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27465
27466 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27467 ELILO. This is no longer necessary.
27468
a2eaee15
BC
274692010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27470
27471 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27472
27473 * util/grub-script-check.c: grub-script-check tool.
27474 * conf/common.rmk: Make rules for grub-script-check.
27475
88d17012
RM
274762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27477
27478 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27479 spotting it back in 2008. Shame on me for forgetting he did.
27480
27481 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27482
8040619d
RM
274832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27484
27485 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27486 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27487 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27488 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27489 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27490 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27491
a0c2a0f6
RM
274922010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27493
27494 * include/grub/test.h: Add license header.
27495 * tests/example_functional_test.c: Likewise.
27496 * tests/example_unit_test.c: Likewise.
27497 * tests/lib/functional_test.c: Likewise.
27498 * tests/lib/test.c: Likewise.
27499 * tests/lib/unit_test.c: Likewise.
27500
b0b13907
VS
275012010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 Use flag-based instead of hook-based video mode selection and "auto"
27504 keyword.
27505
27506 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27507 (grub_video_set_mode): Changed prototype. All users updated.
27508 (grub_video_check_mode_flag): New inline function.
27509 * video/video.c (parse_modespec): New function.
27510 (grub_video_set_mode): Parse flags and keywords.
27511
ea379330 275122010-01-17 Carles Pina i Estany <carles@pina.cat>
27513
27514 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27515 fprintf call.
27516
e15c215e
FZ
275172010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27518
27519 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27520
409ae1c9 275212010-01-16 Carles Pina i Estany <carles@pina.cat>
27522
27523 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27524 string.
27525 * util/grub-emu.c (usage): Likewise.
27526 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27527 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27528 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27529 * util/i386/pc/grub-setup.c (usage): Likewise.
27530
70a14d3d 275312010-01-16 Carles Pina i Estany <carles@pina.cat>
27532
27533 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27534 the message.
27535 (grub_util_info): Likewise.
27536 (grub_util_error): Likewise.
27537 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27538 and/or new lines in `grub_util_warna', `grub_util_info',
27539 `grub_util_error' calls.
27540 * util/getroot.c: Likewise.
27541 * util/grub-editenv.c: Likewise.
27542 * util/grub-emu.c: Likewise.
27543 * util/grub-fstest.c: Likewise.
27544 * util/grub-mkdevicemap.c: Likewise.
27545 * util/grub-mkfont.c: Likewise.
27546 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27547 * util/grub-mkrelpath.c: Likewise.
27548 * util/grub-pe2elf.c: Likewise.
27549 * util/grub-probe.c: Likewise.
27550 * util/hostdisk.c: Likewise.
27551 * util/i386/efi/grub-mkimage.c: Likewise.
27552 * util/i386/pc/grub-mkimage.c: Likewise.
27553 * util/i386/pc/grub-setup.c: Likewise.
27554 * util/ieee1275/ofpath.c: Likewise.
27555 * util/mkisofs/eltorito.c: Likewise.
27556 * util/mkisofs/rock.c: Likewise.
27557 * util/mkisofs/write.c: Likewise.
27558 * util/raid.c: Likewise.
27559 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27560 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27561
a0b766fc
VS
275622010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27563
27564 Enable multiboot on non-pc.
27565
27566 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27567 multiboot.mod and multiboot2.mod to ...
27568 * conf/i386.rmk (pkglib_MODULES): ... here.
27569 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27570 Moved to ...
27571 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27572 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27573 Moved to ...
27574 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27575 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27576 Moved to ...
27577 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27578 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27579 Moved to ...
27580 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27581 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27582 relocator.mod.
27583 (ata_mod_SOURCES): Removed.
27584 (ata_mod_CFLAGS): Likewise.
27585 (ata_mod_LDFLAGS): Likewise.
27586 (relocator_mod_SOURCES): Removed.
27587 (relocator_mod_CFLAGS): Likewise.
27588 (relocator_mod_ASFLAGS): Likewise.
27589 (relocator_mod_LDFLAGS): Likewise.
27590 Include i386.mk.
27591 * include/grub/x86_64/multiboot.h: New file.
27592 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27593 Terminate EFI.
27594
884ade56
VS
275952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27596
27597 Video multiboot support.
27598
27599 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27600 New prototype.
27601 * include/multiboot.h: Resynced with multiboot specification.
27602 * include/multiboot2.h: Likewise.
27603 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27604 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27605 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27606 (HAS_VGA_TEXT): Likewise.
27607 (accepts_video): New variable.
27608 (grub_multiboot_set_accepts_video): New function.
27609 (grub_multiboot_get_mbi_size): Account for video structures.
27610 (set_video_mode): New function.
27611 (retrieve_video_parameters): Likewise.
27612 (grub_multiboot_make_mbi): Fill video fields.
27613
0d90e8a6
VS
276142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 Video driver ids.
27617
27618 * include/grub/video.h (grub_video_driver_id): New type.
27619 (grub_video_adapter): New member 'id'. All users updated.
27620 (grub_video_get_driver_id): New proto.
27621 * video/video.c (grub_video_get_driver_id): New function.
27622
5c71db1b 276232010-01-14 Carles Pina i Estany <carles@pina.cat>
27624
27625 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27626 `var=val'.
27627
cca15b52 276282010-01-14 Carles Pina i Estany <carles@pina.cat>
27629
27630 * normal/cmdline.c (print_completion): Gettextizze.
27631
c586fbb2 276322001-01-14 Carles Pina i Estany <carles@pina.cat>
27633
27634 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27635
ba2f6848 276362010-01-14 Carles Pina i Estany <carles@pina.cat>
27637
27638 * gettext/gettext.c (grub_gettext_translate): Push and pop
27639 grub_errno.
27640 (grub_gettext_delete_list): Change comment style.
27641 * kern/err.c (grub_error): Gettextizze.
27642 (grub_fatal): Gettextizze.
27643
0a46429a
RM
276442010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27645
27646 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27647 (grub_linux16_real_boot): ... this.
27648 * kern/i386/loader.S: Likewise.
27649 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27650 (grub_linux16_boot): New function. Switches to text mode and calls
27651 grub_linux16_real_boot().
27652
27653 * loader/i386/bsd.c: Include `<grub/video.h>'.
27654 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27655 text mode before calling grub_unix_real_boot().
27656
27657 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27658 (grub_multiboot_boot): Switch to text mode before calling
27659 grub_relocator32_boot().
27660
27661 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27662 (grub_chainloader_boot): Switch to text mode before calling
27663 grub_chainloader_real_boot().
27664
d6f93a66
RM
276652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276662010-01-05 Colin Watson <cjwatson@ubuntu.com>
27667
27668 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27669 non-empty value.
27670
276712010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276722010-01-05 Colin Watson <cjwatson@ubuntu.com>
27673
27674 * util/grub.d/00_header.in: Define a "savedefault" function for use
27675 in menu entries.
27676 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27677
276782010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276792010-01-05 Colin Watson <cjwatson@ubuntu.com>
27680
27681 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27682 saved_entry if boot_once is unset.
27683 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27684 previous saved entry (i.e. grub-reboot).
27685
276862009-12-08 Colin Watson <cjwatson@ubuntu.com>
27687
27688 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27689
276902009-12-08 Colin Watson <cjwatson@ubuntu.com>
27691
27692 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27693 `var=val'.
27694 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27695
276962009-12-08 Colin Watson <cjwatson@ubuntu.com>
27697
27698 * util/grub-reboot.in: Fix --version output.
27699 * util/grub-set-default.in: Likewise.
27700
277012009-12-08 Colin Watson <cjwatson@ubuntu.com>
27702
27703 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27704 blocks.
27705
277062009-12-08 Colin Watson <cjwatson@ubuntu.com>
27707
27708 * util/grub.d/00_header.in: Quote the value assigned to `default',
27709 in case it contains spaces.
27710
277112009-12-08 Colin Watson <cjwatson@ubuntu.com>
27712
27713 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27714 `save_default_entry' call from the macosx case to the linux case.
27715
277162009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
277172009-10-25 Colin Watson <cjwatson@ubuntu.com>
27718
27719 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27720 in `chosen' environment variable.
27721 * normal/menu_text.c (get_entry_number): Check if the variable
27722 matches the title of a menu entry.
27723 (run_menu): Pass menu to get_entry_number.
27724
27725 * util/grub-reboot.in: New file.
27726 * util/grub-set-default.in: New file.
27727 * conf/common.rmk (grub-reboot): New utility.
27728 (grub-set-default): New utility.
27729
27730 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27731 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27732 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27733 move it to `saved_entry' for the next boot. Load environment on
27734 initialisation.
27735 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27736 * util/grub.d/10_hurd.in: Likewise.
27737 * util/grub.d/10_linux.in (linux_entry): Likewise.
27738 * util/grub.d/10_windows.in: Likewise.
27739 * util/grub.d/30_os-prober.in: Likewise.
27740
27741 * util/grub-install.in: Create environment block.
27742 * util/i386/efi/grub-install.in: Likewise.
27743 * util/ieee1275/grub-install.in: Likewise.
27744 * util/sparc64/ieee1275/grub-install.in: Likewise.
27745
0934d184
BC
277462010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27747
27748 Unit testing framework for GRUB.
27749
27750 * Makefile.in: Test framework build rules for 'make check'.
27751 * conf/tests.rmk: Build rules for individual tests and framework.
27752
27753 * include/grub/test.h: Header file for whitebox tests.
27754 * tests/lib/functional_test.c: Framework support for whitebox
27755 functional tests.
27756 * tests/lib/test.c: Common whitebox testing code for unit and
27757 functional tests.
27758 * tests/lib/unit_test.c: Framework support for whitebox unit
27759 tests.
27760
27761 * tests/util/grub-shell-tester.in: Support utility for grub-script
27762 tests.
27763 * tests/util/grub-shell.in: Utility to execute grub-script
27764 commands in a Qemu instance.
27765
27766 * tests/example_functional_test.c: Example whitebox functional
27767 test.
27768 * tests/example_grub_script_test.in: Example grub-script test.
27769 * tests/example_scripted_test.in: Example scripted test.
27770 * tests/example_unit_test.c: Example whitebox unit test.
27771
9c4ffeeb
VS
277722010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27775 Add loader/i386/multiboot_mbi.c.
27776 (multiboot2_mod_SOURCES): Likewise.
27777 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27778 (multiboot2_mod_SOURCES): Likewise.
27779 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27780 (grub_multiboot_make_mbi): Likewise.
27781 (grub_multiboot_free_mbi): Likewise.
27782 (grub_multiboot_init_mbi): Likewise.
27783 (grub_multiboot_add_module): Likewise.
27784 (grub_multiboot_set_bootdev): Likewise.
27785 * loader/i386/multiboot.c (mbi): Removed.
27786 (mbi_dest): Likewise.
27787 (alloc_mbi): New variable.
27788 (grub_multiboot_payload_size): Removed. All users updated.
27789 (grub_multiboot_pure_size): New variable.
27790 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27791 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27792 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27793 (grub_fill_multiboot_mmap): Likewise.
27794 (grub_multiboot_get_bootdev): Likewise.
27795 (grub_multiboot): Use multiboot_mbi functions.
27796 * loader/i386/multiboot_mbi.c: New file.
27797
17383dfe
VS
277982010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27801 it would result in module crash.
27802
c1f28820
VS
278032010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27804
27805 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27806 (grub_ofconsole_getwh): Split to ...
27807 (grub_ofconsole_getwh): ... this.
27808 (grub_ofconsole_dimensions): ...and this.
27809 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27810
58655a16
RM
278112010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27812
27813 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27814
10891398
VS
278152010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 * loader/i386/pc/multiboot2.c: Removed stalled file.
27818
0b8a223c
VS
278192010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27820
27821 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27822 Reported by: Grégoire Sutre
27823
92ab12b0
RM
278242010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27825
27826 * util/misc.c (canonicalize_file_name): New function.
27827 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27828 instead of realpath().
27829
a788afb6
CW
278302010-01-11 Colin Watson <cjwatson@ubuntu.com>
27831
27832 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27833 and make it clearer that it's optional. Based on confusion
27834 witnessed on IRC.
27835
ffa8e3d2
VS
278362010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27837
27838 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27839 in premature implicit newline.
27840
e9060a9d
VS
278412010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27842
27843 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27844 which resulted in garbled command line at the end of screen.
27845
f0d0c0b7
RM
278462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27847
27848 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27849 initialization with similar approach as with other Linux loaders.
27850
0e60bae7
RM
278512010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27852
27853 Fix i386-ieee1275 build.
27854
27855 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27856 and grub_term_height() for video_{width,height} initialization.
27857
278582010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27859
27860 Fix grub-emu build.
27861
27862 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27863
cdb3f378
RM
278642010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
278652010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27866
27867 Support for multiple terminals.
27868
27869 * Makefile.in (pkglib_DATA): terminal.lst.
27870 (terminal.lst): New target.
27871 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27872 (GRUB_MOD_INIT(handler)): Likewise.
27873 (GRUB_MOD_FINI(handler)): Likewise.
27874 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27875 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27876 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27877 (grub_cmd_sleep): Use grub_term_save_pos.
27878 * commands/terminal.c: New file.
27879 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27880 commands/terminal.c and lib/charset.c.
27881 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27882 (pkglib_MODULES): Add terminal.mod.
27883 (terminal_mod_SOURCES): New variable.
27884 (terminal_mod_CFLAGS): Likewise.
27885 (terminal_mod_LDFLAGS): Likewise.
27886 * genhandlerlist.sh: Don't handle terminals.
27887 * genmk.rb: Generate terminal-*.lst.
27888 * genterminallist.sh: New file.
27889 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27890 (grub_is_valid_utf8): Likewise.
27891 (grub_utf8_to_ucs4_alloc): Likewise.
27892 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27893 (grub_menu_register_viewer): Changed argument.
27894 (grub_menu_try_text): New proto.
27895 (grub_gfxmenu_try_hook): New declaration.
27896 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27897 (grub_menu_init_page): Additional argument term.
27898 (grub_normal_init_page): Likewise.
27899 (grub_cmdline_get): Arguments simplified.
27900 (grub_utf8_to_ucs4_alloc): Removed.
27901 (grub_print_ucs4): Additional argument term.
27902 (grub_getstringwidth): Likewise.
27903 (grub_print_message_indented): Likewise.
27904 (grub_menu_text_register_instances): New proto.
27905 (grub_show_menu): Likewise.
27906 (read_terminal_list): Likewise.
27907 (grub_set_more): Likewise.
27908 * include/grub/parser.h: Include handler.h.
27909 * include/grub/reader.h: Rewritten.
27910 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27911 (GRUB_TERM_WIDTH): Changed to function.
27912 (GRUB_TERM_HEIGHT): Likewise.
27913 (GRUB_TERM_BORDER_WIDTH): Likewise.
27914 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27915 (GRUB_TERM_NUM_ENTRIES): Likewise.
27916 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27917 (GRUB_TERM_CURSOR_X): Likewise.
27918 (grub_term_input_class): Likewise.
27919 (grub_term_output_class): Likewise.
27920 (grub_term_outputs_disabled): New declaration.
27921 (grub_term_inputs_disabled): Likewise.
27922 (grub_term_outputs): Likewise.
27923 (grub_term_inputs): Likewise.
27924 (grub_term_register_input): Rewritten.
27925 (grub_term_register_output): Likewise.
27926 (grub_term_unregister_input): Likewise.
27927 (grub_term_unregister_output): Likewise.
27928 (FOR_ACTIVE_TERM_INPUTS): New macro.
27929 (FOR_DISABLED_TERM_INPUTS): Likewise.
27930 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27931 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27932 * include/grub/terminfo.h: Add oterm argument to all protypes.
27933 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27934 Use grub_rescue_run.
27935 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27936 All users updated.
27937 * kern/reader.c: Removed. All users updated.
27938 * kern/rescue_reader.c (grub_rescue_init): Removed.
27939 (grub_rescue_reader): Likewise.
27940 (grub_register_rescue_reader): Likewise.
27941 (grub_rescue_run): New function based on kern/reader.c.
27942 * kern/term.c: Adapted for multiterm.
27943 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27944 (grub_is_valid_utf8): Likewise.
27945 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27946 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27947 right terminal.
27948 * loader/i386/linux.c (grub_linux_boot): Likewise.
27949 * normal/auth.c (grub_username_get): New function.
27950 (grub_auth_check_authentication): Use grub_username_get.
27951 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27952 * normal/color.c: Adapt for multiterm.
27953 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27954 (grub_normal_init_page): Additional argument term.
27955 (read_lists): Call read_terminal_lists.
27956 (grub_enter_normal_mode): Call grub_cmdline_run.
27957 Handle grub_normal_exit_level.
27958 (grub_cmd_normal): Make reentrant.
27959 (grub_cmd_normal_exit): New function.
27960 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27961 * normal/menu.c: Adapt for multiterm.
27962 * normal/menu_entry.c: Likewise.
27963 * normal/menu_text.c: Likewise.
27964 * normal/menu_viewer.c: Removed. All users updated.
27965 * normal/term.c: New file.
27966 * util/console.c: Change order of includes to workaround a bug in
27967 ncurses headers.
27968 * term/terminfo.c: New argument oterm on all exported functions.
27969 All users updated.
27970 * util/grub-editenv.c (grub_term_input_class): Removed.
27971 (grub_term_output_class): Likewise.
27972
1a064917
RM
279732010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27974
27975 Make loader output a bit more user-friendly.
27976
27977 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27978 is being loaded. Likewise for the Hurd.
27979
27980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27981 that kernel of FreeBSD ${version} is being loaded.
27982
27983 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27984 grub_dprintf().
27985 (grub_cmd_initrd): Likewise.
27986 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27987 that Linux ${version} is being loaded. Likewise for initrd.
27988
5ce0a83a 279892010-01-09 Carles Pina i Estany <carles@pina.cat>
27990
27991 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27992
809bbfeb 279932010-01-08 Carles Pina i Estany <carles@pina.cat>
27994
27995 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27996 (GRUB_MOD_INIT): Gettextizze.
27997 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27998 (GRUB_MOD_INIT): Gettextizze.
27999 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28000 (grub_cmd_linux): Capitalise Linux.
28001 (GRUB_MOD_INIT): Gettextizze.
28002 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28003 (grub_cmd_linux): Capitalise Linux.
28004 (GRUB_MOD_INIT): Gettextizze.
28005 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28006 (grub_cmd_linux): Capitalise Linux.
28007 (GRUB_MOD_INIT): Gettextizze.
28008 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28009 (GRUB_MOD_INIT): Gettextizze.
28010 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28011 (grub_cmd_linux): Capitalise Linux.
28012 (GRUB_MOD_INIT): Gettextizze.
28013 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28014 (grub_cpu_xnu_init): Gettextizze.
28015 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28016 (GRUB_MOD_INIT): Gettextizze.
28017 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28018 (GRUB_MOD_INIT): Gettextizze.
28019 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28020 (grub_linux_load64): Capitalise Linux.
28021 (GRUB_MOD_INIT): Gettextizze.
28022 * loader/xnu.c: Include `<grub/i18n.h>'.
28023 (GRUB_MOD_INIT): Gettextizze.
28024 * po/POTFILES: Add `loader/efi/appleloader.c',
28025 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28026 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28027 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28028 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28029 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28030 and `loader/xnu.c'.
28031
b394b2ca
RM
280322010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28033
28034 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28035
280362010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28037
28038 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28039 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28040 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28041
bc8b32b3
RM
280422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28043
28044 Reset Multiboot 2 support. New loader implements the draft in
28045 /branches/multiboot2 and shares as much code as possible with the
28046 production Multiboot 1 implementation.
28047
28048 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28049 * loader/multiboot2.c: Likewise.
28050 * loader/i386/multiboot_helper.S: Likewise.
28051 * include/multiboot2.h: Replace with latest version from the draft
28052 in /branches/multiboot2.
28053
28054 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28055 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28056 and `loader/multiboot2.c'.
28057 (pkglib_MODULES): Add `multiboot2.mod'.
28058 (multiboot2_mod_SOURCES): New variable.
28059 (multiboot2_mod_LDFLAGS): Likewise.
28060 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28061
28062 * conf/i386-pc.rmk: Likewise.
28063
28064 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28065 (multiboot_mod_SOURCES): Remove variable.
28066 (multiboot_mod_LDFLAGS): Likewise.
28067 (multiboot_mod_CFLAGS): Likewise.
28068
28069 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28070 `<multiboot2.h>' instead of `<multiboot.h>'.
28071 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28072 (MULTIBOOT_HEADER_MAGIC): New macros.
28073
28074 * loader/multiboot_loader.c (module_version_status): Remove variable.
28075 (find_multi_boot2_header): Remove function.
28076 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28077 logic. Always check for the Multiboot version we're compiling for.
28078 (grub_cmd_module_loader): Likewise.
28079 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28080 command instead of `multiboot'.
28081
5d2c52b8
RM
280822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28083
28084 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28085 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28086 all users.
28087
53108d92
RM
280882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
280892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 Fix breakage introduced with previous commit.
28092
28093 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28094 commands.
28095 * normal/handler.c (read_handler_list): Revert part of previous commit
28096 affecting this file.
28097 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28098 (grub_normal_execute): ... here.
28099
e2e936b2
RM
281002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28101
28102 Merge prefix-redefinition-fix branch.
28103
28104 * normal/autofs.c (read_fs_list): Make function capable of being
28105 run multiple times, gracefuly replacing the previous data
28106 structures.
28107 * normal/dyncmd.c (read_command_list): Likewise.
28108 * normal/handler.c (read_handler_list): Likewise.
28109 * normal/main.c (read_lists): New function. Calls all the
28110 list reading functions.
28111 (grub_normal_execute): Use read_lists() instead of calling all
28112 list reading functions explicitly. Register read_lists() as a
28113 variable hook attached to ${prefix}.
28114
607a3701
VS
281152010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 Merge crypto branch.
28118
28119 * Makefile.in (pkglib_DATA): Add crypto.lst.
28120 (crypto.lst): New target.
28121 * commands/hashsum.c: New file.
28122 * commands/password.c (check_password): Use grub_crypto_memcmp.
28123 * commands/password_pbkdf2.c: New file.
28124 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28125 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28126 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28127 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28128 -I$(srcdir)/lib/libgcrypt_wrap.
28129 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28130 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28131 password_pbkdf2.mod.
28132 (crypto_mod_SOURCES): New variable.
28133 (crypto_mod_CFLAGS): Likewise.
28134 (crypto_mod_LDFLAGS): Likewise.
28135 (hashsum_mod_SOURCES): New variable.
28136 (hashsum_mod_CFLAGS): Likewise.
28137 (hashsum_mod_LDFLAGS): Likewise.
28138 (pbkdf2_mod_SOURCES): New variable.
28139 (pbkdf2_mod_CFLAGS): Likewise.
28140 (pbkdf2_mod_LDFLAGS): Likewise.
28141 (password_pbkdf2_mod_SOURCES): New variable.
28142 (password_pbkdf2_mod_CFLAGS): Likewise.
28143 (password_pbkdf2_mod_LDFLAGS): Likewise.
28144 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28145 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28146 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28147 Include conf/gcry.rmk.
28148 * include/grub/auth.h: Rewritten.
28149 * include/grub/crypto.h: New file.
28150 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28151 * include/grub/normal.h (read_crypto_list): New prototype.
28152 * lib/crypto.c: New file.
28153 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28154 * lib/pbkdf2.c: Likewise.
28155 * normal/auth.c (grub_auth_strcmp): Removed.
28156 (grub_iswordseparator): Likewise.
28157 (grub_auth_strword): Likewise.
28158 (is_authenticated): Use grub_strword.
28159 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28160 and grub_strword. Pass entered password to authentication callback.
28161 * normal/crypto.c: New file.
28162 * normal/main.c: Call read_crypto_list.
28163 * util/grub-mkpasswd-pbkdf2.c: New file.
28164 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28165
42841caa
VS
281662010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 Fix descent and ascent calculation.
28169
28170 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28171 (options): New option "asce".
28172 (usage): Likewise.
28173 (add_char): Ignore invalid glyphs for descent calculation.
28174 Calculate ascent from actual content.
28175 (print_glyphs): Use 'asce'.
28176 (write_font): Likewise. Allow ascent override.
28177 (main): Handle "asce" option.
28178
e7730de7 281792010-01-06 Carles Pina i Estany <carles@pina.cat>
28180
28181 * kern/err.c: Include `<grub/i18n.h>'.
28182 (grub_print_error): Add full stop. Gettextizze.
28183 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28184 (grub_bsd_load_elf): Capitalise ELF.
28185 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28186 (grub_cmd_freebsd_module): Likewise.
28187 (grub_cmd_freebsd_module_elf): Likewise.
28188 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28189
40e3a41f 281902010-01-06 Carles Pina i Estany <carles@pina.cat>
28191
28192 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28193 * commands/search_file.c (HELP_MESSAGE): New macro.
28194 * commands/search_label.c (HELP_MESSAGE): Likewise.
28195 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28196 * po/POTFILES: Add `commands/search_file.c',
28197 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28198 `commands/search.c'.
28199
83507e68
RM
282002010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 * config.rpath: Update from Gnulib.
28203
465c787b
YB
282042010-01-05 Yves Blusseau <blusseau@zetam.org>
28205
28206 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28207
6581dd3a
YB
282082010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28209
28210 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28211
3bff18c5
CW
282122010-01-05 Colin Watson <cjwatson@ubuntu.com>
28213
28214 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28215 arguments to fread so that we get a return value in bytes, rather
28216 than something that will normally be rounded down to 0.
28217 Adjust error handling to avoid producing garbage when size_t is not
28218 the same size as long long.
28219
a1368118
CW
282202010-01-05 Colin Watson <cjwatson@ubuntu.com>
28221
28222 * util/mkisofs/write.c (padblock_write): Check return value of
28223 fread.
28224
7c302978
RM
282252010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28226
28227 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28228 floppy images now.
28229
28230 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28231
e33ace06
RM
282322010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28233
28234 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28235 instead of manual alignment.
28236 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28237 verbose). Avoid attempts to read past end of the device
28238 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28239 but GRUB_DISK_CACHE_SIZE may exceed that).
28240
4b856776
RM
282412010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28242
28243 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28244 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28245 it to upper layer.
28246
52c2d97f
VS
282472010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28250 New constant.
28251 (grub_efi_piwg_device_path): New structure
28252 (grub_efi_piwg_device_path_t): New type.
28253 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28254 (devpath_1): Transform to a structure. All users updated.
28255 (devpath_2): Likewise.
28256 (devpath_3): Likewise.
28257 (devpath_4): Likewise.
28258 (devpath_5): Likewise.
28259
98ff6a54
VS
282602010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28261
28262 * loader/efi/appleloader.c: Restored. Update all users.
28263
3a73dcb6
RM
282642010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28265
28266 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28267
28268 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28269 (struct boot_blocklist): Move from here ...
28270 * include/grub/i386/pc/boot.h [ASM_FILE]
28271 (struct grub_boot_blocklist): ... to here. Update all users.
28272 (setup): Only initialize `start' member of `first_block'
28273 structure. Add assert() calls to verify the other members.
28274
28275 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28276 (generate_image): Fix broken blocklist length initialization.
28277 Add assert() call to verify blocklist `segment' field.
28278
ab0eeb0c
RM
282792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28280
28281 * loader/efi/appleloader.c: Remove. Update all users.
28282
58bc8bd5
RM
282832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28284
28285 * boot/i386/pc/boot.S: Update copyright year.
28286 * boot/i386/pc/cdboot.S: Likewise.
28287 * boot/i386/pc/diskboot.S: Likewise.
28288 * boot/i386/pc/lnxboot.S: Likewise.
28289 * boot/i386/pc/pxeboot.S: Likewise.
28290 * bus/pci.c: Likewise.
28291 * commands/cmp.c: Likewise.
28292 * commands/help.c: Likewise.
28293 * commands/hexdump.c: Likewise.
28294 * commands/i386/pc/halt.c: Likewise.
28295 * commands/i386/pc/play.c: Likewise.
28296 * commands/i386/pc/vbeinfo.c: Likewise.
28297 * commands/ls.c: Likewise.
28298 * commands/test.c: Likewise.
28299 * disk/dmraid_nvidia.c: Likewise.
28300 * disk/i386/pc/biosdisk.c: Likewise.
28301 * disk/ieee1275/nand.c: Likewise.
28302 * disk/ieee1275/ofdisk.c: Likewise.
28303 * disk/lvm.c: Likewise.
28304 * disk/raid.c: Likewise.
28305 * disk/raid6_recover.c: Likewise.
28306 * disk/scsi.c: Likewise.
28307 * fs/affs.c: Likewise.
28308 * fs/cpio.c: Likewise.
28309 * fs/ext2.c: Likewise.
28310 * fs/hfs.c: Likewise.
28311 * fs/iso9660.c: Likewise.
28312 * fs/ntfs.c: Likewise.
28313 * fs/sfs.c: Likewise.
28314 * fs/udf.c: Likewise.
28315 * fs/ufs.c: Likewise.
28316 * fs/xfs.c: Likewise.
28317 * gencmdlist.sh: Likewise.
28318 * genmk.rb: Likewise.
28319 * include/grub/disk.h: Likewise.
28320 * include/grub/efi/api.h: Likewise.
28321 * include/grub/efi/efi.h: Likewise.
28322 * include/grub/efi/pe32.h: Likewise.
28323 * include/grub/elf.h: Likewise.
28324 * include/grub/fs.h: Likewise.
28325 * include/grub/i386/at_keyboard.h: Likewise.
28326 * include/grub/i386/pc/memory.h: Likewise.
28327 * include/grub/i386/pc/vbe.h: Likewise.
28328 * include/grub/i386/pci.h: Likewise.
28329 * include/grub/i386/tsc.h: Likewise.
28330 * include/grub/ieee1275/ieee1275.h: Likewise.
28331 * include/grub/ntfs.h: Likewise.
28332 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28333 * include/grub/sparc64/libgcc.h: Likewise.
28334 * include/grub/symbol.h: Likewise.
28335 * include/grub/types.h: Likewise.
28336 * include/multiboot2.h: Likewise.
28337 * io/gzio.c: Likewise.
28338 * kern/device.c: Likewise.
28339 * kern/disk.c: Likewise.
28340 * kern/efi/efi.c: Likewise.
28341 * kern/efi/mm.c: Likewise.
28342 * kern/elf.c: Likewise.
28343 * kern/file.c: Likewise.
28344 * kern/i386/dl.c: Likewise.
28345 * kern/i386/pc/init.c: Likewise.
28346 * kern/i386/pc/startup.S: Likewise.
28347 * kern/ieee1275/ieee1275.c: Likewise.
28348 * kern/ieee1275/init.c: Likewise.
28349 * kern/main.c: Likewise.
28350 * kern/mm.c: Likewise.
28351 * kern/powerpc/dl.c: Likewise.
28352 * kern/sparc64/dl.c: Likewise.
28353 * kern/x86_64/dl.c: Likewise.
28354 * lib/hexdump.c: Likewise.
28355 * loader/efi/appleloader.c: Likewise.
28356 * loader/i386/ieee1275/linux.c: Likewise.
28357 * loader/i386/pc/chainloader.c: Likewise.
28358 * loader/i386/pc/linux.c: Likewise.
28359 * loader/i386/pc/multiboot2.c: Likewise.
28360 * loader/ieee1275/multiboot2.c: Likewise.
28361 * loader/multiboot2.c: Likewise.
28362 * loader/multiboot_loader.c: Likewise.
28363 * loader/powerpc/ieee1275/linux.c: Likewise.
28364 * normal/completion.c: Likewise.
28365 * normal/menu_entry.c: Likewise.
28366 * partmap/apple.c: Likewise.
28367 * util/grub.d/10_hurd.in: Likewise.
28368 * util/hostfs.c: Likewise.
28369 * video/readers/png.c: Likewise.
28370
e2d70b5c
CW
283712010-01-03 Colin Watson <cjwatson@ubuntu.com>
28372
28373 * include/grub/misc.h (GNUC_PREREQ): New macro.
28374 (ATTRIBUTE_ERROR): New macro.
28375 * include/grub/list.h (grub_bad_type_cast_real): Use
28376 ATTRIBUTE_ERROR.
28377
a173283f 283782010-01-03 Carles Pina i Estany <carles@pina.cat>
28379
28380 * normal/menu_text.c (print_message): Change messages.
28381
7fa7ff74 283822010-01-03 Carles Pina i Estany <carles@pina.cat>
28383
28384 * normal/menu_entry.c (store_completion): Gettextizze.
28385
136d24f6 283862010-01-03 Carles Pina i Estany <carles@pina.cat>
28387
28388 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28389
f936862e 283902010-01-03 Carles Pina i Estany <carles@pina.cat>
28391
28392 * po/POTFILES: Sort correctly.
28393
29c44ad1 283942010-01-03 Carles Pina i Estany <carles@pina.cat>
28395
28396 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28397 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28398 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28399 full stop.
28400 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28401 summary. Gettextizze the strings.
28402 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28403 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28404 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28405 full stop.
28406 (GRUB_MOD_INIT): Remove command name from summary.
28407 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28408 summary.
28409 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28410 * term/i386/pc/serial.c (options): Add full stops.
28411 (GRUB_MOD_INIT): Remove command name from the summary.
28412
77a79592 284132010-01-03 Carles Pina i Estany <carles@pina.cat>
28414
28415 * commands/acpi.c: Gettextizze help strings and/or options. Include
28416 `grub/i18n.h' if needed.
28417 * commands/blocklist.c: Likewise.
28418 * commands/boot.c: Likewise.
28419 * commands/cat.c: Likewise.
28420 * commands/cmp.c: Likewise.
28421 * commands/configfile.c: Likewise.
28422 * commands/crc.c: Likewise.
28423 * commands/date.c: Likewise.
28424 * commands/echo.c: Likewise.
28425 * commands/efi/fixvideo.c: Likewise.
28426 * commands/efi/loadbios.c: Likewise.
28427 * commands/gptsync.c: Likewise.
28428 * commands/halt.c: Likewise.
28429 * commands/handler.c: Likewise.
28430 * commands/hdparm.c: Likewise.
28431 * commands/hexdump.c: Likewise.
28432 * commands/i386/cpuid.c: Likewise.
28433 * commands/i386/pc/drivemap.c: Likewise.
28434 * commands/i386/pc/halt.c: Likewise.
28435 * commands/i386/pc/pxecmd.c: Likewise.
28436 * commands/i386/pc/vbeinfo.c: Likewise.
28437 * commands/i386/pc/vbetest.c: Likewise.
28438 * commands/ieee1275/suspend.c: Likewise.
28439 * commands/keystatus.c: Likewise.
28440 * commands/loadenv.c: Likewise.
28441 * commands/ls.c: Likewise.
28442 * commands/lsmmap.c: Likewise.
28443 * commands/lspci.c: Likewise.
28444 * commands/memrw.c: Likewise.
28445 * commands/minicmd.c: Likewise.
28446 * commands/parttool.c: Likewise.
28447 * commands/password.c: Likewise.
28448 * commands/probe.c: Likewise.
28449 * commands/read.c: Likewise.
28450 * commands/reboot.c: Likewise.
28451 * commands/search.c: Likewise.
28452 * commands/sleep.c: Likewise.
28453 * commands/test.c: Likewise.
28454 * commands/true.c: Likewise.
28455 * commands/usbtest.c: Likewise.
28456 * commands/videotest.c: Likewise.
28457 * commands/xnu_uuid.c: Likewise.
28458 * disk/loopback.c: Likewise.
28459 * hello/hello.c: Likewise.
28460 * loader/i386/bsd.c: Likewise.
28461 * term/i386/pc/serial.c: Likewise.
28462 * po/POTFILES: Add new files.
28463
da8d5c53
CW
284642010-01-02 Colin Watson <cjwatson@ubuntu.com>
28465
28466 * term/i386/pc/at_keyboard.c
28467 (keyboard_controller_wait_untill_ready): Rename to ...
28468 (keyboard_controller_wait_until_ready): ... this. Update all users.
28469
33937904 284702010-01-01 Carles Pina i Estany <carles@pina.cat>
28471
28472 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28473 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28474 string using string width.
28475 * normal/menu_text.c (grub_print_message_indented): Use
28476 grub_print_spaces and not print_spaces.
28477 (print_timeout): Likewise.
28478 (print_spaces): Move to...
28479 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28480
3fd3b8d8
RM
284812010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28482
28483 Import from Gnulib.
28484
28485 * gnulib/getdelim.c: New file.
28486 * gnulib/getline.c: Likewise.
28487
33433555
VS
284882009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28489
28490 * include/grub/list.h (grub_assert_fail): Removed.
28491 (grub_bad_type_cast_real): New function.
28492 (grub_bad_type_cast): New macro.
28493 (GRUB_AS_LIST): Use grub_bad_type_cast.
28494 (GRUB_AS_LIST_P): Likewise.
e44721e8 28495 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28496 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28497 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28498 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28499 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28500
f5a51306
VS
285012009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28502
28503 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28504 Fix syntax error.
28505
90d1e879
RM
285062009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28507
28508 * configure.ac: Check for TARGET_CFLAGS initialization before we
28509 initialize it ourselves (sigh).
28510 Move a few modifications to TARGET_CFLAGS to be unconditional
28511 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28512 eh_frame)
28513
28514 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28515 * term/i386/pc/at_keyboard.c
28516 (keyboard_controller_wait_untill_ready): Likewise.
28517 (keyboard_controller_led): Rename `led_status' paramter to avoid
28518 name conflict.
28519
465b5a81 285202009-12-28 Carles Pina i Estany <carles@pina.cat>
28521
28522 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28523 quotes.
28524
c181849b
VS
285252009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28528
9c8739a4
VS
285292009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28530
28531 * normal/menu_text.c (grub_print_message_indented): Prevent
28532 past-the-end-of-array dereference.
28533
3e74249c
VS
285342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28535
28536 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28537 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28538
64fd18ed 285392009-12-27 Carles Pina i Estany <carles@pina.cat>
28540
28541 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28542 * normal/main.c (grub_normal_read_line): Remove a space from the
28543 default prompt.
28544
714af9b9 285452009-12-27 Carles Pina i Estany <carles@pina.cat>
28546
28547 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28548 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28549 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28550 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28551 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28552 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28553 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28554
82f3e412 285552009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28556
28557 * video/readers/jpeg.c (cmd): Declare.
28558 (grub_cmd_jpegtest): Use `grub_command_t' type.
28559 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28560 Assign to `cmd'.
28561 (GRUB_MOD_FINI): Use `cmd' to unregister.
28562 * video/readers/png.c (cmd): Declare.
28563 (grub_cmd_pngtest): Use `grub_command_t' type.
28564 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28565 Assign to `cmd'.
28566 (GRUB_MOD_FINI): Use `cmd' to unregister.
28567 * video/readers/tga.c (cmd): Declare.
28568 (grub_cmd_tgatest): Use `grub_command_t' type.
28569 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28570 Assign to `cmd'.
28571 (GRUB_MOD_FINI): Use `cmd' to unregister.
28572
82f3e412 285732009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28574
28575 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28576 stops.
28577 * kern/corecmd.c (grub_register_core_commands): Likewise.
28578 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28579 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28580 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28581 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28582 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28583 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28584 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28585 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28586 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28587 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28588 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28589 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28590 * normal/handler.c (insert_handler): Likewise.
28591 * normal/main.c (GRUB_MOD_INIT): Likewise.
28592 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28593
fdcdbb66 285942009-12-26 Carles Pina i Estany <carles@pina.cat>
28595
28596 * commands/help.c (grub_cmd_help): Print the command name before the
28597 summary.
28598 (GRUB_MOD_INIT): Remove command name from the summary.
28599 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28600 string as summary.
fdcdbb66 28601 * lib/arg.c (find_long): Print the command name before the summary.
28602 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28603 summary.
28604 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28605 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28606 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28607 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28608 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28609 * commands/date.c (GRUB_MOD_INIT): Likewise.
28610 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28611 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28612 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28613 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28614 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28615 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28616 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28617 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28618 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28619 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28620 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28621 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28622 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28623 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28624 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28625 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28626 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28627 * commands/password.c (GRUB_MOD_INIT): Likewise.
28628 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28629 * commands/read.c (GRUB_MOD_INIT): Likewise.
28630 * commands/search.c (GRUB_MOD_INIT): Likewise.
28631 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28632 * commands/test.c (GRUB_MOD_INIT): Likewise.
28633 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28634 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28635 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28636 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28637 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28638 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28639 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28640 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28641 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28642 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28643 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28644 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28645 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28646 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28647
9c288be2
VS
286482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28649
28650 Use search command for preliminar UUID search.
28651
28652 * commands/search.c: Split into ...
28653 * commands/search_wrap.c: ...this
28654 * commands/search.c: ...and this.
28655 * commands/search_file.c: New file.
28656 * commands/search_label.c: New file.
28657 * commands/search_uuid.c: New file.
28658 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28659 Add commands/search_wrap.c, commands/search_file.c,
28660 commands/search_label.c and commands/search_uuid.c.
28661 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28662 (search_mod_SOURCES): Set to commands/search_wrap.c.
28663 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28664 search_label.mod.
28665 (search_fs_file_mod_SOURCES): New variable.
28666 (search_fs_file_mod_CFLAGS): Likewise.
28667 (search_fs_file_mod_LDFLAGS): Likewise.
28668 (search_label_mod_SOURCES): Likewise.
28669 (search_label_mod_CFLAGS): Likewise.
28670 (search_label_mod_LDFLAGS): Likewise.
28671 (search_fs_uuid_mod_SOURCES): New variable.
28672 (search_fs_uuid_mod_CFLAGS): Likewise.
28673 (search_fs_uuid_mod_LDFLAGS): Likewise.
28674 (fs_file_mod_SOURCES): Removed.
28675 (fs_file_mod_CFLAGS): Likewise.
28676 (fs_file_mod_LDFLAGS): Likewise.
28677 (fs_uuid_mod_SOURCES): Removed.
28678 (fs_uuid_mod_CFLAGS): Likewise.
28679 (fs_uuid_mod_LDFLAGS): Likewise.
28680 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28681 Set to util/grub-install.in.
28682 * disk/fs_file.c: Removed.
28683 * disk/fs_uuid.c: Likewise.
28684 * include/grub/search.h: New file.
28685 * util/grub-install.in: Handle sparc64.
28686 Create and use load.cfg.
28687 * util/sparc64/ieee1275/grub-install.in: Removed.
28688
db943399
VS
286892009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28690
28691 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28692 Ignore return status if CF is cleared.
28693 (grub_biosdisk_get_diskinfo_standard): Likewise.
28694
3fdae612
RM
286952009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 * term/i386/pc/at_keyboard.c
28698 (keyboard_controller_wait_untill_ready): New function.
28699 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28700 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28701 for keyboard polling, rather than duplicate the same loop. This
28702 saves a few bytes in code size.
28703
7ebaa2b4
VS
287042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 Support for (pxe[:server[:gateway]]) syntax and
28707 use environment variable for PXE.
28708
28709 * commands/i386/pc/pxecmd.c (options): Removed.
28710 (print_ip): Removed.
28711 (grub_cmd_pxe): Removed
28712 (grub_cmd_pxe_unload): New function.
28713 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28714 (grub_pxe_your_ip): Made static.
28715 (grub_pxe_default_server_ip): Likewise.
28716 (grub_pxe_default_gateway_ip): Likewise.
28717 (grub_pxe_blksize): Likewise.
28718 (parse_ip): New function.
28719 (grub_pxe_open): Support server and gateway specification.
28720 (grub_pxe_close): Free disk->data.
28721 (grub_pxefs_open): Use disk->data.
28722 (grub_pxefs_read): Likewise.
28723 (grub_env_write_readonly): New function.
28724 (set_mac_env): Likewise.
28725 (set_env_limn_ro): Likewise.
28726 (parse_dhcp_vendor): Likewise.
28727 (grub_pxe_detect): Set the environment variables.
28728 (set_ip_env): New function.
28729 (write_ip_env): Likewise.
28730 (grub_env_write_pxe_default_server): Likewise.
28731 (grub_env_write_pxe_default_gateway): Likewise.
28732 (grub_env_write_pxe_blocksize): Likewise.
28733 (GRUB_MOD_INIT(pxe)): Set environment variables.
28734 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28735 (grub_pxe_mac_addr_t): ... this. All users updated.
28736 (grub_pxe_your_ip): Removed.
28737 (grub_pxe_server_ip): Likewise.
28738 (grub_pxe_gateway_ip): Likewise.
28739 (grub_pxe_blksize): Likewise.
28740
ec5f98ab 287412009-12-25 Carles Pina i Estany <carles@pina.cat>
28742
28743 * commands/help.c: Include `<grub/i18n.h>'.
28744 (grub_cmd_help): Gettextizze.
28745 (GRUB_MOD_INIT): Likewise.
28746 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28747 (GRUB_MOD_INIT): Gettextizze.
28748 * commands/search.c: Include `<grub/i18n.h>'.
28749 (options): Gettextizze.
28750 (GRUB_MOD_INIT): Gettextizze.
28751 * lib/arg.c: Include `<grub/i18n.h>'.
28752 (help_options): Gettextizze.
28753 (find_long): Likewise.
28754 (grub_arg_show_help): Likewise.
28755 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28756 (read_command_list): Gettextizze.
28757 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28758 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28759
22815526
RM
287602009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28761
28762 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28763 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28764 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28765 (led_status): New variable.
28766 (keyboard_controller_led): New function.
28767 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28768 update led status for caps lock, num lock and scroll lock.
28769
0ad46fd7
FZ
287702009-12-25 Felix Zielcke <fzielcke@z-51.de>
28771
28772 * util/hostdisk.c (open_device): Fix a comment.
28773
d0e158c2
RM
287742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28775
28776 * util/grub-install.in (host_os): New variable.
28777 * util/i386/efi/grub-install.in (host_os): Likewise.
28778
401c0ad6
RM
287792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28780
28781 * util/mkisofs/write.c (padblock_write): Abort when given an
28782 excedingly large embed image, instead of silently truncating it.
28783
d14d3370
RM
287842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28785
28786 * include/multiboot.h: Indentation fixes.
28787
eeed10b4
RM
287882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28789
28790 * include/multiboot.h (struct multiboot_aout_symbol_table)
28791 (struct multiboot_elf_section_header_table): New structure
28792 declarations (stolen from GRUB Legacy).
28793 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28794 table information.
28795
28796 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28797 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28798 type aliases.
28799
681c70ab
RM
288002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28801
28802 * include/multiboot.h: Make comments src2texi-friendly.
28803
e4d47d8d
RM
288042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28805
28806 For consistency with [multiboot]/docs/boot.S.
28807
28808 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28809 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28810 (MULTIBOOT_MAGIC2): Rename from this ...
28811 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28812
a0b70bda
RM
288132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * include/multiboot.h: Remove `<grub/types.h>'.
28816 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28817 types. Update all users.
28818
61ba42be 288192009-12-25 Carles Pina i Estany <carles@pina.cat>
28820
28821 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28822 `couldn't' and `can not' by `cannot'.
28823 * commands/i386/pc/drivemap.c: Likewise.
28824 * disk/ata.c: Likewise.
28825 * disk/ieee1275/nand.c: Likewise.
28826 * fs/affs.c: Likewise.
28827 * fs/fat.c: Likewise.
28828 * fs/hfs.c: Likewise.
28829 * fs/hfsplus.c: Likewise.
28830 * fs/iso9660.c: Likewise.
28831 * fs/jfs.c: Likewise.
28832 * fs/minix.c: Likewise.
28833 * fs/reiserfs.c: Likewise.
28834 * fs/sfs.c: Likewise.
28835 * fs/udf.c: Likewise.
28836 * fs/ufs.c: Likewise.
28837 * fs/xfs.c: Likewise.
28838 * loader/powerpc/ieee1275/linux.c: Likewise.
28839 * loader/sparc64/ieee1275/linux.c: Likewise.
28840 * util/grub-probe.c: Likewise.
28841 * util/misc.c: Likewise.
28842
7fd0baee 288432009-12-24 Carles Pina i Estany <carles@pina.cat>
28844
28845 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28846 grub_errno calls.
28847 * commands/acpi.c: Likewise.
28848 * commands/blocklist.c: Likewise.
28849 * commands/efi/loadbios.c: Likewise.
28850 * commands/i386/pc/drivemap.c: Likewise.
28851 * commands/loadenv.c: Likewise.
28852 * commands/memrw.c: Likewise.
28853 * commands/password.c: Likewise.
28854 * commands/videotest.c: Likewise.
28855 * disk/ata.c: Likewise.
28856 * disk/ata_pthru.c: Likewise.
28857 * disk/dmraid_nvidia.c: Likewise.
28858 * disk/ieee1275/nand.c: Likewise.
28859 * disk/ieee1275/ofdisk.c: Likewise.
28860 * disk/loopback.c: Likewise.
28861 * disk/lvm.c: Likewise.
28862 * disk/mdraid_linux.c: Likewise.
28863 * disk/raid.c: Likewise.
28864 * disk/raid6_recover.c: Likewise.
28865 * disk/scsi.c: Likewise.
28866 * efiemu/main.c: Likewise.
28867 * efiemu/mm.c: Likewise.
28868 * efiemu/pnvram.c: Likewise.
28869 * efiemu/symbols.c: Likewise.
28870 * font/font.c: Likewise.
28871 * fs/cpio.c: Likewise.
28872 * fs/hfsplus.c: Likewise.
28873 * fs/iso9660.c: Likewise.
28874 * fs/jfs.c: Likewise.
28875 * fs/minix.c: Likewise.
28876 * fs/ntfs.c: Likewise.
28877 * fs/ntfscomp.c: Likewise.
28878 * fs/reiserfs.c: Likewise.
28879 * fs/ufs.c: Likewise.
28880 * fs/xfs.c: Likewise.
28881 * gettext/gettext.c: Likewise.
28882 * include/grub/auth.h: Likewise.
28883 * kern/elf.c: Likewise.
28884 * kern/file.c: Likewise.
28885 * kern/ieee1275/init.c: Likewise.
28886 * kern/ieee1275/mmap.c: Likewise.
28887 * kern/ieee1275/openfw.c: Likewise.
28888 * kern/powerpc/dl.c: Likewise.
28889 * kern/sparc64/dl.c: Likewise.
28890 * lib/arg.c: Likewise.
28891 * loader/i386/bsd.c: Likewise.
28892 * loader/i386/bsdXX.c: Likewise.
28893 * loader/i386/efi/linux.c: Likewise.
28894 * loader/i386/efi/xnu.c: Likewise.
28895 * loader/i386/ieee1275/linux.c: Likewise.
28896 * loader/i386/linux.c: Likewise.
28897 * loader/i386/multiboot.c: Likewise.
28898 * loader/i386/pc/linux.c: Likewise.
28899 * loader/i386/pc/multiboot2.c: Likewise.
28900 * loader/i386/xnu.c: Likewise.
28901 * loader/ieee1275/multiboot2.c: Likewise.
28902 * loader/macho.c: Likewise.
28903 * loader/machoXX.c: Likewise.
28904 * loader/multiboot2.c: Likewise.
28905 * loader/multiboot_loader.c: Likewise.
28906 * loader/powerpc/ieee1275/linux.c: Likewise.
28907 * loader/sparc64/ieee1275/linux.c: Likewise.
28908 * loader/xnu.c: Likewise.
28909 * loader/xnu_resume.c: Likewise.
28910 * mmap/i386/pc/mmap.c: Likewise.
28911 * normal/menu_viewer.c: Likewise.
28912 * partmap/acorn.c: Likewise.
28913 * partmap/amiga.c: Likewise.
28914 * partmap/apple.c: Likewise.
28915 * script/lexer.c: Likewise.
28916 * term/gfxterm.c: Likewise.
28917 * term/i386/pc/serial.c: Likewise.
28918 * term/i386/pc/vga.c: Likewise.
28919 * term/ieee1275/ofconsole.c: Likewise.
28920 * term/terminfo.c: Likewise.
28921 * video/bitmap.c: Likewise.
28922 * video/efi_gop.c: Likewise.
28923 * video/efi_uga.c: Likewise.
28924 * video/fb/video_fb.c: Likewise.
28925 * video/i386/pc/vbe.c: Likewise.
28926 * video/readers/tga.c: Likewise.
28927 * video/video.c: Likewise.
28928
0ad46fd7 289292009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28930
28931 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28932 * commands/lspci.c: Likewise.
28933 * commands/probe.c: Likewise.
28934 * commands/xnu_uuid.c: Likewise.
28935 * conf/i386-coreboot.rmk: Likewise.
28936 * conf/i386-efi.rmk: Likewise.
28937 * conf/i386-ieee1275.rmk: Likewise.
28938 * conf/i386-pc.rmk: Likewise.
28939 * conf/powerpc-ieee1275.rmk: Likewise.
28940 * conf/sparc64-ieee1275.rmk: Likewise.
28941 * conf/x86_64-efi.rmk: Likewise.
28942 * fs/i386/pc/pxe.c: Likewise.
28943 * gettext/gettext.c: Likewise.
28944 * include/grub/efi/graphics_output.h: Likewise.
28945 * include/grub/i386/pc/memory.h: Likewise.
28946 * kern/env.c: Likewise.
28947 * kern/i386/qemu/startup.S: Likewise.
28948 * lib/i386/pc/biosnum.c: Likewise.
28949 * lib/i386/relocator.c: Likewise.
28950 * lib/i386/relocator_asm.S: Likewise.
28951 * lib/relocator.c: Likewise.
28952 * loader/i386/bsd.c: Likewise.
28953 * loader/i386/multiboot.c: Likewise.
28954 * loader/i386/pc/chainloader.c: Likewise.
28955 * loader/i386/xnu.c: Likewise.
28956 * loader/xnu.c: Likewise.
28957 * normal/main.c: Likewise.
28958 * normal/menu_text.c: Likewise.
28959 * util/getroot.c: Likewise.
28960 * util/grub-mkconfig_lib.in: Likewise.
28961 * util/grub.d/00_header.in: Likewise.
28962 * util/i386/pc/grub-mkimage.c: Likewise.
28963 * util/mkisofs/eltorito.c: Likewise.
28964 * util/mkisofs/exclude.h: Likewise.
28965 * util/mkisofs/hash.c: Likewise.
28966 * util/mkisofs/iso9660.h: Likewise.
28967 * util/mkisofs/joliet.c: Likewise.
28968 * util/mkisofs/mkisofs.c: Likewise.
28969 * util/mkisofs/mkisofs.h: Likewise.
28970 * util/mkisofs/multi.c: Likewise.
28971 * util/mkisofs/name.c: Likewise.
28972 * util/mkisofs/rock.c: Likewise.
28973 * util/mkisofs/tree.c: Likewise.
28974 * util/mkisofs/write.c: Likewise.
28975 * video/efi_gop.c: Likewise.
28976
009ec743
VS
289772009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28978
28979 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28980 size counting.
28981
0ad46fd7 289822009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28983
28984 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28985 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28986
d3d30ea0
VS
289872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28990 (GRUB_MOD_INIT(memrw)): Update help line.
28991
a34f5c70
VS
289922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28993
28994 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28995 Use grub_extcmd_t. All users updated.
28996 (options): New variable.
28997 (grub_cmd_read): Restructure for readability. Support "-v" option.
28998 (grub_cmd_write): Restructure for readability.
28999
0ad46fd7 290002009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29001
29002 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29003
0ad46fd7 290042009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29005
29006 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29007 with the actual contents of the correspondending make variable.
29008 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29009 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29010 specifying `*.lst' and `efiemu??.o'
29011
0ad46fd7 290122009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29013
29014 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29015 after function name.
29016 Noticed by Rene Engelhard <rene@debian.org>.
29017
dc77a799
VS
290182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29019
29020 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29021 (options): New variable.
29022 (iospace): Likewise.
29023 (grub_lspci_iter): List IO spaces if "-i" was given.
29024 (grub_cmd_lspci): Parse options.
29025 (GRUB_MOD_INIT(lspci)): Use extcmd.
29026 (GRUB_MOD_FINI(lspci)): Likewise.
29027
0ad46fd7 290282009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29029
29030 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29031 `function' keyword.
29032 Patch by Tony Mancill <tmancill@debian.org>.
29033
b5d5993b
VS
290342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29035
29036 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29037 (grub_uhci_portstatus): Likewise.
29038 (grub_uhci_portstatus): Add necessary delay.
11d18281 29039 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29040
941903f2 290412009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29042
941903f2 29043 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29044 (GRUB_MOD_INIT): Likewise.
29045 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29046 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29047 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29048 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29049 (enable_rom_area): Likewise.
29050 (GRUB_MOD_INIT): Likewise.
29051 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29052 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29053 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29054 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29055 * commands/hexdump.c (options): Likewise.
29056 * commands/i386/cpuid.c (options): Likewise.
29057 (GRUB_MOD_INIT): Likewise.
29058 * commands/i386/pc/drivemap.c (options): Likewise.
29059 (GRUB_MOD_INIT): Likewise.
29060 * commands/i386/pc/halt (options): Likewise.
29061 (GRUB_MOD_INIT): Likewise.
29062 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29063 * commands/i386/pc/pxecmd.c (options): Likewise.
29064 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29065 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29066 * commands/keystatus.c (options): Likewise.
29067 (GRUB_MOD_INIT): Likewise.
29068 * commands/loadenv.c (options): Likewise.
29069 * commands/ls.c (options): Likewise.
29070 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29071 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29072 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29073 * commands/parttool.c (helpmsg): Likewise.
29074 * commands/probe.c (options): Likewise.
29075 * commands/read.c (GRUB_MOD_INIT): Likewise.
29076 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29077 * commands/search.c (options): Likewise.
29078 * commands/sleep.c (options): Likewise.
29079 * commands/test.c (GRUB_MOD_INIT): Likewise.
29080 * commands/true.c (GRUB_MOD_INIT): Likewise.
29081 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29082 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29083 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29084 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29085 `$(XGETTEXT)'.
98a50553 29086 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29087
0ad46fd7 290882009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29089
ef3c2c3a 29090 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29091 instead of specifying them explicit.
29092
7922f68b
RM
290932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29094
29095 * NEWS: Add grub-probe support for GNU/Hurd.
29096
537ce47f
RM
290972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29098
29099 * NEWS: gettext was added after 1.97.
29100
9b214e3a
RM
291012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29102
29103 * util/mkisofs/msdos_partition.h: New file (based on
29104 include/grub/msdos_partition.h).
29105 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29106 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29107 (ld_options, main): Recognize --protective-msdos-label.
29108 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29109 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29110 (padblock_write): If `use_protective_msdos_label' is set, patch a
29111 protective DOS-style label in the output image.
29112
29113 * util/grub-mkrescue.in: Use --protective-msdos-label.
29114
e9309813
RM
291152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29116
29117 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29118 boot.
29119
0ae56929
RM
291202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29121
29122 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29123 variables.
29124 (ld_options, main): Recognize `--embedded-boot'.
29125 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29126 declarations.
29127 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29128 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29129 (padblock_write): Likewise. Rewrite to support embedded boot image.
29130
29131 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29132 for BIOS-based disk boot instead of only ElTorito.
29133
b15937b1
RM
291342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29135
29136 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29137 build (not needed for bootstrap).
29138
52cc3ce0
RM
291392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29140
29141 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29142 from i386-pc build (not needed for bootstrap).
29143 Rewrite a pair of strings.
29144
36f5ff04
RM
291452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29148
973c6c85 291492009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29150
29151 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29152
05d21547
AB
291532009-12-21 Andreas Born <futur.andy@googlemail.com>
29154
29155 * kern/env.c (grub_env_context_open): Mark exported variable for
29156 reexport.
29157
0175d51f
AB
291582009-12-21 Andreas Born <futur.andy@googlemail.com>
29159
29160 * kern/env.c (grub_env_export): Create nonexistent variables before
29161 exporting.
29162
7f39d92f 291632009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29164
7f39d92f 29165 * include/grub/auth.h: Include `<grub/i18n.h>'.
29166 (GRUB_GET_PASSWORD): Gettextizze string.
29167 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29168 menu_text.c.
29169 (grub_utf8_to_ucs4_alloc): Fix indentation.
29170 (grub_print_ucs4): Likewise.
29171 (grub_getstringwidth): Likewise.
29172 (print_message_indented): New declaration.
29173 * normal/auth.c: Include `<grub/i18n.h>'.
29174 (grub_auth_check_authentication): Gettexttize string.
29175 * normal/cmdline.c: Include `<grub/i18n.h>'.
29176 (grub_cmdline_get): Gettextizze.
29177 * normal/color.c: Include `<grub/i18n.h>'.
29178 (grub_parse_color_name_pair): Gettexttize strings.
29179 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29180 string (use `print_message_indented').
29181 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29182 `include/grub/normal.h'.
29183 (print_message_indented): Renamed to ...
29184 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29185 used in normal/main.c).
29186 (print_message): Use `grub_print_message_indented' instead of
29187 `print_message_indented'.
29188 (print_timeout): Likewise.
29189 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29190 (grub_normal_print_device_info): Gettexttize strings.
29191 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29192
3041d898
VS
291932009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29194
29195 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29196 of arguments. Return number of tokens and not arguments. All users
29197 updated.
29198
de15bf8e
VS
291992009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29200
29201 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29202 non-MSDOS paritions.
29203
e0a6ca52
VS
292042009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 * include/grub/types.h (UNUSED): Removed since it conflicts with
29207 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29208 Reported by Grégoire Sutre.
29209
b99518d1 292102009-12-19 Carles Pina i Estany <carles@pina.cat>
29211
29212 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29213 (grub_print_ucs4_alloc): Likewise.
29214 (grub_getstringwidth): Likewise.
29215 * normal/main.c (grub_normal_init_page): Gettextize version string.
29216 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29217 (getstringwidth): Renamed to ...
29218 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29219 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29220 (grub_print_ucs4): Remove `static' qualifer (now used in
29221 normal/main.c).
29222 * po/POTFILES: Add normal/main.c.
29223
bfd5e52b 292242009-12-19 Carles Pina i Estany <carles@pina.cat>
29225
29226 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29227 (print_message_indented): Add `margin_left' and `margin_right'
29228 parameters.
29229 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29230 strings.
29231 (print_timeout): Use `print_message_indented' to print the message.
29232 Deletes `second_stage' parameter.
29233 (run_menu): Update `print_timeout' calls.
29234
5a1ad2b9
VS
292352009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 Fix console palette on OpenFirmware.
29238
29239 * term/ieee1275/ofconsole.c (MAX): Removed.
29240 (colors): Redone based on VGA palette.
29241 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29242 colors are supported.
29243 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29244
b045f00a
VS
292452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 Fix potential EfiEmu double prepare.
29248
29249 * efiemu/main.c (prepared): New variable
29250 (grub_efiemu_unload): Set prepare to '0'.
29251 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29252
29253 set_virtual_address_map support.
29254
29255 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29256 prototype.
29257 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29258 prototype.
29259 (grub_efiemu_crc32): Likewise.
29260 (grub_efiemu_crc64): Likewise.
29261 (grub_efiemu_set_virtual_address_map): Likewise.
29262 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29263 New definition.
29264 (grub_autoefi_set_virtual_address_map): Likewise.
29265 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29266 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29267 Restructure flow to accomodate it.
29268 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29269 (grub_efiemu_crc): Recompute CRC32.
29270 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29271 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29272 * efiemu/symbols.c (relocated_handle): New variable.
29273 (grub_efiemu_free_syms): Free relocated_handle.
29274 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29275 (grub_efiemu_write_sym_markers): New function.
29276 (grub_efiemu_set_virtual_address_map): Likewise.
29277
29278 Newer XNU parameters.
29279
29280 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29281 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29282 (grub_xnu_fill_devicetree): New prototype.
29283 (grub_xnu_heap_real_start): New variable.
29284 * loader/xnu.c (get_name_ptr): New function.
29285 (grub_xnu_load_driver): Fill namelen and name.
29286
29287 64-bit xnu support.
29288
29289 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29290 and 'loader/macho64.c'.
29291 * conf/i386-pc.rmk: Likewise.
29292 * conf/x86_64-efi.rmk: Likewise.
29293 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29294 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29295 * include/grub/macho.h (grub_macho_segment64): New structure.
29296 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29297 (grub_macho_size32): ... to this.
29298 (grub_macho32_get_entry_point): Renamed from ...
29299 (grub_macho_get_entry_point32): ... to this.
29300 (grub_macho_contains_macho64): New prototype.
29301 (grub_macho_size64): Likewise.
29302 (grub_macho_get_entry_point64): Likewise.
29303 (grub_macho32_load): Renamed from ...
29304 (grub_macho_load32): ... to this.
29305 (grub_macho32_filesize): Renamed from ...
29306 (grub_macho_filesize32): ... to this.
29307 (grub_macho32_readfile): Renamed from ...
29308 (grub_macho_readfile32): ... to this.
29309 (grub_macho_filesize64): New prototype.
29310 (grub_macho_readfile64): Likewise.
29311 (grub_macho_parse32): Likewise.
29312 (grub_macho_parse64): Likewise.
29313 * loader/macho.c: Split into ...
29314 * loader/machoXX.c: ... and this. Replace 32 with XX.
29315 * loader/macho32.c: New file.
29316 * loader/macho64.c: Likewise.
29317 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29318 (grub_cmd_xnu_kernel): Make 32-bit only.
29319 (grub_cmd_xnu_kernel64): New function.
29320 (grub_xnu_load_driver): Support Mach-O 64.
29321 (grub_cmd_xnu_mkext): Likewise.
29322 * util/grub.d/30_os-prober.in (osx_entry): New function.
29323 Generate entries for 64-bit boot too.
29324
29325 Eliminate ad-hoc tree format in XNU and EfiEmu.
29326
29327 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29328 * efiemu/pnvram.c: Rewritten to use environment variables.
29329 All users updated.
29330
29331 Inline utf16_to_utf8.
29332
29333 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29334 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29335 All users updated.
29336 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29337
29338 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29339 * commands/usbtest.c (grub_usb_get_string): ... move here.
29340 (usb_print_str): Fix error handling.
29341 * include/grub/usb.h (grub_usb_get_string): Remove.
29342
29343 UTF-8 to UTF-16 transformation.
29344
29345 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29346 (charset_mod_SOURCES): New variable.
29347 (charset_mod_CFLAGS): Likewise.
29348 (charset_mod_LDFLAGS): Likewise.
29349 * include/grub/utf.h: New file.
29350 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29351
29352 Support for device properties.
29353
29354 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29355 (grub_xnu_devprop_device_header): Likewise.
29356 (grub_xnu_devprop_device_descriptor): Likewise.
29357 (grub_xnu_devprop_add_device): New prototype.
29358 (grub_xnu_devprop_remove_device): Likewise.
29359 (grub_xnu_devprop_remove_property): Likewise.
29360 (grub_xnu_devprop_add_property_utf8): Likewise.
29361 (grub_xnu_devprop_add_property_utf16): Likewise.
29362 (grub_cpu_xnu_init): Likewise.
29363 (grub_cpu_xnu_fini): Likewise.
29364 (grub_cpu_xnu_unload): Likewise.
29365 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29366 (property_descriptor): Likewise.
29367 (devices): New variable.
29368 (grub_xnu_devprop_remove_property): New function.
29369 (grub_xnu_devprop_add_device): Likewise.
29370 (grub_xnu_devprop_remove_device): Likewise.
29371 (grub_xnu_devprop_add_property): Likewise.
29372 (grub_xnu_devprop_add_property_utf8): Likewise.
29373 (grub_xnu_devprop_add_property_utf16): Likewise.
29374 (hextoval): Likewise.
29375 (grub_cpu_xnu_fill_devprop): Likewise.
29376 (grub_cmd_devprop_load): Likewise.
29377 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29378 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29379 (cmd_devprop_load): New variable.
29380 (grub_cpu_xnu_init): New function.
29381 (grub_cpu_xnu_fini): Likewise.
29382 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29383 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29384 (grub_cmd_xnu_devtree): Likewise.
29385 (hextoval): New function.
29386 (unescape): Likewise.
29387 (grub_xnu_fill_devicetree): Likewise.
29388
29389 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29390 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29391
0945f181
VS
293922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29393
29394 Workaround for broken ATI VBE.
29395
29396 * video/i386/pc/vbe.c (last_set_mode): New variable.
29397 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29398 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29399 (grub_video_vbe_setup): Don't check for reserved flag.
29400
0ad46fd7 294012009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29402
29403 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29404 the `find' command.
29405
c179ebe4
VS
294062009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29407
29408 UUID support for HFS.
29409
29410 * fs/hfs.c (grub_hfs_uuid): New function.
29411 (grub_hfs_fs): New value .uuid.
29412 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29413
0ad46fd7 294142009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29415
29416 Fix a segfault with parsing unknown long options.
29417
29418 * util/grub-mkrelpath.c (options): Zero terminate it.
29419
c4a3e41a
CPE
294202009-12-13 Carles Pina i Estany <carles@pina.cat>
29421
29422 * include/grub/misc.h (grub_puts): New declaration.
29423 (grub_puts_): Likewise.
a22008a6 29424 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29425 (grub_puts_): Likewise.
29426
2e8a7602
RM
294272009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29428
29429 * util/grub-probe.c (probe): Improve error message.
29430
b50b77b9
RM
294312009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29432
29433 * loader/i386/multiboot_elfxx.c
29434 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29435 initialization.
29436
294372009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29438
29439 Relocator framework
29440
29441 * loader/i386/xnu_helper.S: Removed. All users updated.
29442 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29443 (relocator_mod_SOURCES): New variable.
29444 (relocator_mod_CFLAGS): Likewise.
29445 (relocator_mod_LDFLAGS): Likewise.
29446 (relocator_mod_ASFLAGS): Likewise.
29447 * conf/x86_64.rmk: Likewise.
29448 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29449 (grub_multiboot_payload_entry_offset): Likewise.
29450 (grub_multiboot_forward_relocator): Likewise.
29451 (grub_multiboot_forward_relocator_end): Likewise.
29452 (grub_multiboot_backward_relocator): Likewise.
29453 (grub_multiboot_backward_relocator_end): Likewise.
29454 (grub_multiboot_payload_eip): New variable.
29455 (grub_multiboot_payload_orig): Likewise.
29456 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29457 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29458 * include/grub/i386/memory.h
29459 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29460 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29461 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29462 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29463 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29464 * include/grub/i386/relocator.h: New file.
29465 * include/grub/x86_64/relocator.h: Likewise.
29466 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29467 (XNU_RELOCATOR): New macro.
29468 (grub_xnu_launcher_start): Remove.
29469 (grub_xnu_launcher_end): Likewise.
29470 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29471 (grub_xnu_heap_real_start): Remove.
29472 (grub_xnu_heap_start): Change to void *. All users updated.
29473 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29474 * lib/i386/relocator.c: New file.
29475 * lib/i386/relocator_asm.S: Likewise.
29476 * lib/i386/relocator_backward.S: Likewise.
29477 * lib/mips/relocator.c: Likewise.
29478 * lib/mips/relocator_asm.S: Likewise.
29479 * lib/relocator.c: Likewise.
29480 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29481 (entry): Removed.
29482 (playground): Likewise.
29483 (grub_multiboot_payload_orig): New variable.
29484 (grub_multiboot_payload_dest): Likewise.
29485 (grub_multiboot_payload_size): Likewise.
29486 (grub_multiboot_payload_eip): Likewise.
29487 (grub_multiboot_payload_esp): Likewise.
29488 (grub_multiboot_boot): Use grub_relocator32_boot.
29489 (grub_multiboot_unload): Free relocators.
29490 (grub_multiboot): Setup stack. Use relocators.
29491 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29492 (grub_multiboot_load_elfXX): Use relocators.
29493 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29494 (grub_multiboot_payload_size): Likewise.
29495 (grub_multiboot_payload_dest): Likewise.
29496 (grub_multiboot_payload_entry_offset): Likewise.
29497 (grub_multiboot_forward_relocator): Likewise.
29498 (grub_multiboot_backward_relocator): Likewise.
29499 (grub_multiboot_real_boot): Likewise.
29500 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29501 (grub_xnu_entry_point): Likewise.
29502 (grub_xnu_arg1): Likewise.
29503 (grub_xnu_stack): Likewise.
29504 (grub_xnu_launch): Removed.
29505 (grub_xnu_boot_resume): New function.
29506 (grub_xnu_boot): Use relocators.
29507 * loader/i386/xnu_helper.S: Removed.
29508 * loader/xnu.c (grub_xnu_heap_start): New variable.
29509 (grub_xnu_heap_size): Likewise.
29510 (grub_xnu_heap_malloc): Use relocators.
29511 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29512
29eb90c6
VS
295132009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29514
29515 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29516 anything.
29517
31027430
CPE
295182009-12-13 Carles Pina i Estany <carles@pina.cat>
29519
29520 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29521 GRUB_ERR_NONE before calling grub_env_set.
29522
dc0c71d9
RM
295232009-12-12 Robert Millan <rmh@aybabtu.com>
29524
29525 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29526 * genmk.rb (video): New variable.
29527 (CLEANFILES, VIDEOFILES): Add #{video}.
29528 (#{video}): New target rule.
29529 * genvideolist.sh: New file.
29530 * Makefile.in (pkglib_DATA): Add video.lst.
29531 (video.lst): New target rule.
29532 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29533 `video.lst'.
29534 * util/grub.d/30_os-prober.in: Replace `vbe' with
29535 ${GRUB_VIDEO_BACKEND}.
29536
2a4bfcf0
RM
295372009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29538
29539 * THANKS: Add David Miller.
29540
2a3aa4d5
RM
295412009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 libpciaccess support.
29544
29545 * Makefile.in (LIBPCIACCESS): New variable.
29546 (enable_grub_emu_pci): Likewise.
29547 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29548 util/pci.c and commands/lspci.c.
29549 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29550 * configure.ac (grub-emu-pci): New option.
29551 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29552 (grub_pci_device_unmap_range): Likewise.
29553 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29554 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29555 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29556 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29557 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29558 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29559 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29560 * include/grub/pciutils.h: New file.
29561 * util/pci.c: Likewise.
29562
0ad46fd7 295632009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29564
29565 * util/misc.c: Don't include <errno.h> twice.
29566
0ad46fd7 295672009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29568
29569 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29570 name in an error message.
29571 (grub_biosdisk_rw): Likewise.
29572
2e59983c
VS
295732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29574
29575 Eliminate NTFS 4Gib barrier.
29576
29577 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29578 (read_run_data): Likewise.
29579 (grub_ntfs_read_run_list): Likewise.
29580 (grub_ntfs_read_block): Likewise.
29581 (grub_ntfs_iterate_dir): Likewise.
29582 (read_mft): Likewise.
29583 (read_data): Likewise.
29584 Use COM_LOG_LEN.
29585 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29586 to avoid 64-bit division
29587 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29588 (grub_ntfs_rlst): Use grub_disk_addr_t.
29589
71ee178a
VS
295902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29591
29592 Eliminate grub-fstest 4Gib barrier.
29593
29594 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29595 (read_file): Fix error reporting.
29596
2520d4b8
VS
295972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 Eliminate hexdump 4Gib barrier.
29600
29601 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29602 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29603
e1f27065
VS
296042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29605
29606 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29607 Fixes amarsh bug.
29608
1a0f7f45
RM
296092009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29610
29611 Remove miscellaneous files in distclean target.
29612
29613 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29614
c631d9fb
CW
296152009-12-09 Colin Watson <cjwatson@ubuntu.com>
29616
29617 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29618 if they're already set. This resolves the conflict between my
29619 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29620 fixing the --grub-probe option again.
29621 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29622 change on 2009-10-06, so that we now once again source
29623 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29624
7c7b6106
RM
296252009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29628 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29629 `util/devicemap.c'.
29630
e3069ec1
CPE
296312009-12-08 Carles Pina i Estany <carles@pina.cat>
29632
29633 * include/grub/misc.h (grub_printf_): New declaration.
29634 * kern/misc.c (grub_printf_): New definition.
29635 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29636 instead of `grub_printf' and `_'.
29637 * normal/menu_entry.c (store_completion): Likewise.
29638 (run): Likewise.
29639 (grub_menu_entry_run): Likewise.
29640 * normal/menu_text.c (grub_wait_after_message): Likewise.
29641 (notify_booting): Likewise.
29642 (notify_fallback): Likewise.
29643 (notify_execution_failure): Likewise.
29644
d6ceebf1
CW
296452009-12-07 Colin Watson <cjwatson@ubuntu.com>
29646
29647 * configure.ac: Check for vasprintf.
29648 * util/misc.c (asprintf): Move allocation from here ...
29649 (vasprintf): ... to here. New function.
29650 (xasprintf): New function.
29651 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29652 prototypes.
29653 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29654 * util/grub-mkfont.c (write_font): Likewise.
29655 * util/grub-probe.c (probe): Likewise.
29656 * util/hostdisk.c (make_device_name): Likewise.
29657
de6daa8b
DM
296582009-12-06 David S. Miller <davem@sunset.davemloft.net>
29659
29660 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29661 anything even prefixed with 'cdrom' as a cdrom.
29662
0ad46fd7 296632009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29664
29665 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29666 mount points.
29667
98d3dc02
CPE
296682009-12-05 Carles Pina i Estany <carles@pina.cat>
29669
29670 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29671 grub_gettext_msg_list.
29672 (grub_gettext_gettranslation_from_position): Return const char *
29673 and not char *.
a2c1332b 29674 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29675 returns from the list if existing there.
29676 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29677 (grub_gettext_delete_list): Delete the list.
29678 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29679 lang environment variable is changed.
29680 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29681
b283f108
VS
296822009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29683
29684 Rename kernel.mod to kernel.img.
29685
29686 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29687 (kernel_mod_EXPORTS): Rename to ...
29688 (kernel_img_EXPORTS): ... this.
29689 (kernel_mod_SOURCES): Rename to ...
29690 (kernel_img_SOURCES): ... this.
29691 (kernel_mod_HEADERS): Rename to ...
29692 (kernel_img_HEADERS): ... this. All users updated.
29693 (kernel_mod_CFLAGS): Rename to ...
29694 (kernel_img_CFLAGS): ... this.
29695 (kernel_mod_ASFLAGS): Rename to ...
29696 (kernel_img_ASFLAGS): ... this.
29697 (kernel_mod_LDFLAGS): Rename to ...
29698 (kernel_img_LDFLAGS): ... this.
29699 * conf/x86_64-efi.rmk: Likewise.
29700 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29701 (read_kernel_image): ... this. All users updated.
29702 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29703
69055f8a
CPE
297042009-12-05 Carles Pina i Estany <carles@pina.cat>
29705
29706 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29707 (print_spaces): New function.
29708 (grub_print_ucs4): New function.
29709 (getstringwidth): New function.
29710 (print_message_indented): New function.
29711 (print_message): Gettexttize strings using print_message_indented.
29712 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29713 width.
29714 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29715 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29716 Gettextize.
29717 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29718 string.
29719 (run): Likewise.
29720 (grub_menu_entry_run): Likewise.
29721 * PO/POTFILES: Add normal/menu_entry.c.
29722
f616f51c
VS
297232009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29724
29725 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29726
57bbe3be
CPE
297272009-12-05 Carles Pina i Estany <carles@pina.cat>
29728
29729 * util/grub-install.in: Install gettext .mo files.
29730 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29731
013d67a1
CPE
297322009-12-05 Carles Pina i Estany <carles@pina.cat>
29733
29734 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29735 grub_dprintf.
29736
fb954db0
RM
297372009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29738
29739 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29740 non-firmware-dependant one in realmode.S takes precedence.
29741
6b8474f8
RM
297422009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29743
29744 * commands/halt.c: Replace misc arch-specific headers with
29745 `<grub/misc.h>'.
29746 * commands/reboot.c: Likewise.
29747 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29748 `<grub/misc.h>'.
29749 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29750 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29751 (kernel_img_SOURCES): ... to here.
29752
29753 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29754 * include/grub/i386/pc/init.h: Likewise.
29755 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29756 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29757
29758 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29759
29760 * include/grub/i386/halt.h: Remove.
29761 * include/grub/i386/reboot.h: Likewise.
29762
29763 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29764
4b2e6ca2
DM
297652009-12-03 David S. Miller <davem@sunset.davemloft.net>
29766
29767 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29768 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29769 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29770 "progname.h"
29771 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29772 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29773 (usage): Add missing comma in printf.
29774
5239348f
RM
297752009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29776
29777 Use the same reboot approach on i386 coreboot and qemu as we do on
29778 BIOS.
29779
29780 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29781 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29782 * kern/i386/reboot.c: Remove.
29783 * include/grub/i386/reboot.h (grub_reboot): Export function.
29784 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29785 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29786 0xf000:0xfff0 instead of 0xffff:0x0000.
29787 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29788 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29789
ef34cbd4
RM
297902009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29791
29792 Fix $srcdir != $objdir build.
29793
29794 * Makefile.in (po/%.po): Rewrite as ...
29795 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29796
dc9837ea
ST
297972009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29798
29799 Fix GNU/Hurd grub-install crash.
29800 * util/grub-probe.c (probe): Try to access `path' only when it is not
29801 NULL.
29802
2f857f98
VS
298032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29804
29805 Correct module naming.
29806
29807 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29808 (GRUB_MOD_INIT(efi_uga)): ... to this
29809 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29810 (GRUB_MOD_FINI(efi_uga)): ... to this
29811 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29812 (GRUB_MOD_INIT(efi_gop)): ... to this
29813 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29814 (GRUB_MOD_FINI(efi_gop)): ... to this
29815
c5448046
RM
298162009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29817
29818 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29819 translatable.
29820 (usage): Translate `arg' strings using gettext().
29821 Thanks to Jordi Mallach for the suggestion.
29822
c85184ad
VS
298232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29824
29825 GOP support. Based on patch from Bean
29826 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29827
29828 * video/efi_gop.c: New file.
29829 * include/grub/efi/graphics_output.h: Likewise.
29830 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29831 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29832 variables.
29833 * conf/x86_64-efi.rmk: Likewise.
29834
8a4c48d8
VS
298352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29836
29837 Rename efi_fb to efi_uga.
29838
29839 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29840 'efi_uga.mod'.
29841 (efi_fb_mod_SOURCES): Rename this ...
29842 (efi_uga_mod_SOURCES): ... to this.
29843 (efi_fb_mod_CFLAGS): Rename this ...
29844 (efi_uga_mod_CFLAGS): ... to this.
29845 (efi_fb_mod_LDFLAGS): Rename this ...
29846 (efi_uga_mod_LDFLAGS): ... to this.
29847 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29848 'efi_uga.mod'.
29849 (efi_fb_mod_SOURCES): Rename this ...
29850 (efi_uga_mod_SOURCES): ... to this.
29851 (efi_fb_mod_CFLAGS): Rename this ...
29852 (efi_uga_mod_CFLAGS): ... to this.
29853 (efi_fb_mod_LDFLAGS): Rename this ...
29854 (efi_uga_mod_LDFLAGS): ... to this.
29855 * video/efi_fb.c: Move this ...
29856 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29857
fb6c1a7b
RM
298582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29859
29860 * po/README: New file. Explain our PO file workflow.
29861
3bc7896c
RM
298622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 * po/ChangeLog: Remove. Move relevant entries back to ...
29865 * ChangeLog: ... here.
29866 * po/ca.po: Remove (now handled by TLP).
29867 * po/id.po: Likewise.
29868 * po/zh_CN.po: Likewise.
29869 * Makefile.in (LINGUAS): Initialize in a way that supports
29870 empty set.
29871
9ed4841d
RM
298722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29873
29874 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29875 reliing on po/LINGUAS.
29876 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29877 (po/%.po): ... this.
29878
0ad46fd7 298792009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29880
29881 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29882 (main): Use `program_name' instead of nonexistent `progname'.
29883
e30dd392
FZ
298842009-11-26 Felix Zielcke <fzielcke@z-51.de>
29885
29886 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29887 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29888
7656de4f
RM
298892009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29890
29891 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29892 commit.
29893 * conf/i386-efi.rmk: Likewise.
29894 * conf/i386-ieee1275.rmk: Likewise.
29895 * conf/powerpc-ieee1275.rmk: Likewise.
29896 * conf/sparc64-ieee1275.rmk: Likewise.
29897 * conf/x86_64-efi.rmk: Likewise.
29898
db77c4d4
FZ
298992009-11-26 Felix Zielcke <fzielcke@z-51.de>
29900
29901 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29902
a755bb04
FZ
299032009-11-26 Felix Zielcke <fzielcke@z-51.de>
29904
29905 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29906
8a4c07fd
RM
299072009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29908
29909 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29910 (grub_mkdevicemap_SOURCES): New variable.
29911 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29912 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29913 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29914 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29915 (grub_mkdevicemap_SOURCES): Remove.
29916 * conf/i386-efi.rmk: Likewise.
29917 * conf/i386-ieee1275.rmk: Likewise.
29918 * conf/i386-pc.rmk: Likewise.
29919 * conf/powerpc-ieee1275.rmk: Likewise.
29920 * conf/sparc64-ieee1275.rmk: Likewise.
29921 * conf/x86_64-efi.rmk: Likewise.
29922 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29923 (usage): Fix strings to use `program_name'.
29924 (main): Initialize gettext.
29925 * util/grub-editenv.c: Likewise.
29926 * util/grub-emu.c: Likewise.
29927 * util/grub-fstest.c: Likewise.
29928 * util/grub-mkdevicemap.c: Likewise.
29929 * util/grub-mkfont.c: Likewise.
29930 * util/grub-mkrelpath.c: Likewise.
29931 * util/grub-pe2elf.c: Likewise.
29932 * util/grub-probe.c: Likewise.
29933 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29934 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29935 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29936
29937 * util/misc.c: Include `"progname.h"'.
29938 (progname): Remove variable.
29939 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29940
6f61ed55
FZ
299412009-11-25 Felix Zielcke <fzielcke@z-51.de>
29942
29943 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29944 printf and print a newline after the menuentry header line.
29945 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29946
f022876b
FZ
299472009-11-25 Felix Zielcke <fzielcke@z-51.de>
29948
29949 autoconf >= 2.60 support $(localedir).
29950
29951 * INSTALL: Note that autoconf 2.60 is required.
29952 * configure.ac (AC_PREREQ): Bump to 2.60.
29953 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29954 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29955
6717926e
YB
299562009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29957
29958 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29959 aclocal is run.
29960
08806a54
RM
299612009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * normal/main.c (grub_normal_read_line): Fix off-by-one
29964 buffer overflow.
29965
13b33fba
RM
299662009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29967
29968 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29969 "parser.grub" in grub_command_execute() call.
29970
4a8572e9
CPE
299712009-11-24 Carles Pina i Estany <carles@pina.cat>
29972
29973 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29974 * conf/i386-efi.rmk: Likewise.
29975 * conf/i386-ieee1275.rmk: Likewise.
29976 * conf/i386-pc.rmk: Likewise.
29977 * conf/powerpc-ieee1275.rmk: Likewise.
29978 * conf/sparc64-ieee1275.rmk: Likewise.
29979 * conf/x86_64-efi.rmk: Likewise.
29980 * gettext/gettex.c: Include <grub/i18n.h>.
29981 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29982 here ...
29983 * include/grub/i18n.h: ... to here
29984 * include/grub/i18n.h: ... to here.
29985 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29986 (grub_gettext_dummy): Move above user.
4a8572e9 29987
bee48093
FZ
299882009-11-24 Felix Zielcke <fzielcke@z-51.de>
29989
29990 * util/Makefile.in (install-local): Convert a `for' into a normal
29991 shell expansion.
29992
a031e91c
RM
299932009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29994
29995 * autogen.sh: Add automake call.
29996 * config.guess: Remove.
29997 * config.sub: Likewise.
29998 * install-sh: Likewise.
29999
26bec39d
FZ
300002009-11-24 Felix Zielcke <fzielcke@z-51.de>
30001
30002 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30003
8e2532fd
FZ
300042009-11-24 Felix Zielcke <fzielcke@z-51.de>
30005
30006 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30007 function to a normal shell `for'.
30008
fefa1b7d
FZ
300092009-11-24 Felix Zielcke <fzielcke@z-51.de>
30010
30011 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30012
4501250b
FZ
300132009-11-24 Felix Zielcke <fzielcke@z-51.de>
30014
30015 * util/grub-mkrelpath.c: New file.
30016 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30017 (grub_mkrelpath_SOURCES): New variable.
30018 * include/grub/util/misc.h: New function prototype.
30019 * util/misc.c (make_system_path_relative_to_its_root): New function.
30020
30021 * util/grub-mkconfig_lib.in (bindir): New variable.
30022 (grub_mkrelpath): Likewise.
30023 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30024
30025 * util/probe.c (probe): Make the file path relative to its root.
30026 Change a info message to use the GRUB path. Enable again the
30027 check if we can read the file with GRUB facilities.
30028
30029 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30030 to its root.
30031
11d9778b
FZ
300322009-11-24 Felix Zielcke <fzielcke@z-51.de>
30033
30034 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30035 platform.
30036
4465287d
FZ
300372009-11-24 Felix Zielcke <fzielcke@z-51.de>
30038
30039 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30040 strncmp().
30041
62b47f22
FZ
300422009-11-24 Felix Zielcke <fzielcke@z-51.de>
30043
30044 * util/getroot.c (grub_util_is_dmraid): New function.
30045 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30046 devices as normal ones, not as LVM.
30047
1eafb9b9 300482009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30049
30050 * conf/common.rmk: Add grub-gettext_lib target and updates
30051 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30052 LDFLAGS.
30053 * gettext/gettext.c: New file. (Reads mo files).
30054 * include/grub/file.h (grub_file_pread): New prototype.
30055 * include/grub/i18n.h (_): New prototype.
30056 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30057 prototypes.
30058 * kern/misc.c (grub_gettext_dummy): New function.
30059 * normal/menu_text.c: Include <grub/i18n.h>.
30060 * normal/menu_text.c (print_timeout): Gettexttize string.
30061 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30062 * po/POTFILES: Add `normal/menu_text.c'.
30063 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30064 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30065 gettext module and defines locale_dir and lang in grub.cfg.
30066 * NEWS: Add gettext support.
30067
0fdb2568
RM
300682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30069
30070 * util/hostdisk.c: Include `<grub/i18n.h>'.
30071 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30072 (make_device_name): Rewrite using asprintf.
30073 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30074 (find_system_device): If a device is not found, generate one just
30075 by reusing the OS path name.
30076 (read_device_map): Make it permissible for device.map not to exist.
30077
f515aa62
RM
300782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * script/sh/execute.c: Move from here ...
30081 * script/execute.c: ... to here. Update all users.
30082 * script/sh/function.c: Move from here ...
30083 * script/function.c: ... to here. Update all users.
30084 * script/sh/lexer.c: Move from here ...
30085 * script/lexer.c: ... to here. Update all users.
30086 * script/sh/main.c: Move from here ...
30087 * script/main.c: ... to here. Update all users.
30088 * script/sh/parser.y: Move from here ...
30089 * script/parser.y: ... to here. Update all users.
30090 * script/sh/script.c: Move from here ...
30091 * script/script.c: ... to here. Update all users.
30092
f84b481b
RM
300932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30094
30095 * configure.ac: Detect all `emu' platforms. Define
30096 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30097 --enable-grub-emu logic. Disable include/grub/machine
30098 symlink on `emu' platforms.
30099
30100 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30101 * gensymlist.sh.in: Likewise.
30102
30103 * include/grub/i386/coreboot/machine.h: Remove file.
30104 * include/grub/i386/efi/machine.h: Likewise.
30105 * include/grub/i386/ieee1275/machine.h: Likewise.
30106 * include/grub/i386/pc/machine.h: Likewise.
30107 * include/grub/i386/qemu/machine.h: Likewise.
30108 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30109 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30110 * include/grub/x86_64/efi/machine.h: Likewise.
30111
30112 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30113 * commands/halt.c: Likewise.
30114 * commands/reboot.c: Likewise.
30115 * include/grub/autoefi.h: Likewise.
30116 * include/grub/i386/at_keyboard.h: Likewise.
30117 * include/grub/i386/kernel.h: Likewise.
30118 * include/grub/i386/loader.h: Likewise.
30119 * include/grub/i386/pc/memory.h: Likewise.
30120 * kern/dl.c: Likewise.
30121 * kern/i386/coreboot/init.c: Likewise.
30122 * loader/i386/bsd.c: Likewise.
30123 * loader/i386/linux.c: Likewise.
30124 * loader/multiboot_loader.c: Likewise.
30125 * term/i386/pc/serial.c: Likewise.
30126 * term/usb_keyboard.c: Likewise.
30127
30128 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30129 `<grub/machine/machine.h>'
30130 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30131 * util/misc.c: Remove `<grub/machine/machine.h>' and
30132 `<grub/machine/time.h>'.
30133
30134 * Makefile.in (enable_grub_emu): Remove variable.
30135 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30136
30137 * conf/any-emu.rmk: New file.
30138 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30139 (grub_emu_init.c): Move from here ...
30140 * conf/any-emu.rmk: ... to here.
30141
30142 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30143 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30144 * conf/any-emu.rmk: ... to here.
30145
4efeab03
RM
301462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30147
30148 * include/grub/parser.h (grub_parser_register): Document need
30149 of `name' parameter.
30150 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30151 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30152 "sh" to "grub".
30153
ea1dd8bf
RM
301542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30155
30156 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30157 `$(XGETTEXT)'.
30158 * include/grub/i18n.h (N_): New macro.
30159 * util/mkisofs/mkisofs.h: Likewise.
30160 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30161 around N_().
30162 (usage): Use gettext() to translate help strings when printing them.
30163
0c140626
RM
301642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30165
30166 Based on patch from Bean
30167 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30168
30169 * video/efi_fb.c: New file.
30170 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30171 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30172 variables.
30173 * conf/x86_64-efi.rmk: Likewise.
30174
87d58298
RM
301752009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30176
30177 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30178 * util/i386/pc/grub-setup.c: Likewise.
30179
994cc3a3
ST
301802009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30181
30182 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30183 <hurd/fs.h>
30184 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30185 file_get_storage_info to implement grub_guess_root_device.
30186
26a61d6a
FZ
301872009-11-21 Felix Zielcke <fzielcke@z-51.de>
30188
30189 * Makefile.in (target): Use make's builtin $(shell) function
30190 instead of calling directly $(SHELL) to create the locale directories,
30191 inside the $(foreach) function.
30192
74ff1dd5
FZ
301932009-11-21 Felix Zielcke <fzielcke@z-51.de>
30194
30195 * util/grub-mkrescue.in: Print an error and usage if output option
30196 has not been given.
30197
0b787d0e
FZ
301982009-11-21 Felix Zielcke <fzielcke@z-51.de>
30199
30200 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30201 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30202 root and /boot are on different devices.
30203
1164b270
RM
302042009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30205
30206 Fix build for srcdir != objdir.
30207
30208 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30209 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30210 $(srcdir).
30211 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30212 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30213 reference for input.
30214
13774a2f
RM
302152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30218 or hardlinking it). Remove -J option, Joliet is not compatible with
30219 multiple source directories.
30220
efda854e
RM
302212009-11-21 Carles Pina i Estany <carles@pina.cat>
302222009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30223
30224 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30225 (process_input_dir): New function. Process an arbitrary input
30226 directory.
30227 Misc adjustments to support both "override mode" and system-wide mode.
30228
6c09890c
FZ
302292009-11-20 Felix Zielcke <fzielcke@z-51.de>
30230
30231 * configure.ac (UNIFONT_BDF): Rename to ...
30232 (FONT_SOURCE): ... this. Update all users.
30233
a797824f
FZ
302342009-11-20 Felix Zielcke <fzielcke@z-51.de>
30235
30236 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30237 to the list of unifont files to look for.
30238
cd4f42b0
RM
302392009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30240
30241 Patch from Joe Auricchio <jauricchio@gmail.com>
30242 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30243 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30244 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30245
393c783d
FZ
302462009-11-19 Felix Zielcke <fzielcke@z-51.de>
30247
30248 * Makefile.in (install-local): Add a missing backslash.
30249
b2f1e327
FZ
302502009-11-19 Felix Zielcke <fzielcke@z-51.de>
30251
30252 * include/grub/x86_64/io.h: New file.
30253
f577f7a0
RM
302542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30255
30256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30257 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30258 Include `"progname.h"'.
30259 (main): Initialize gettext.
30260 * util/i386/pc/grub-setup.c: Gettexttize.
30261 * util/i386/pc/grub-mkimage.c: Likewise.
30262
30263 * Makefile.in (po/*.po): Redefine as ...
30264 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30265
3bc7896c
RM
30266 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30267
c37943b6
RM
302682009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30269
30270 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30271 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30272 (program_name): Remove.
30273 (main): Initialize gettext support.
6323f705
RM
30274 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30275 Include `<libintl.h>'.
30276 (_): New macro.
c37943b6
RM
30277
30278 * util/mkisofs/eltorito.c: Gettexttize.
30279 * util/mkisofs/joliet.c: Likewise.
30280 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30281 * util/mkisofs/multi.c: Likewise.
30282 * util/mkisofs/rock.c: Likewise.
30283 * util/mkisofs/tree.c: Likewise.
30284 * util/mkisofs/write.c: Likewise.
30285
3bc7896c
RM
30286 * po/POTFILES: Update with new files.
30287
5ce77c6e
RM
302882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30289
30290 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30291 * util/mkisofs/iso9660.h: Likewise.
30292 * util/mkisofs/joliet.c: Likewise.
30293 * util/mkisofs/mkisofs.c: Likewise.
30294 * util/mkisofs/mkisofs.h: Likewise.
30295 * util/mkisofs/rock.c: Likewise.
30296 * util/mkisofs/tree.c: Likewise.
30297 * util/mkisofs/write.c: Likewise.
30298
30299 * util/mkisofs/eltorito.c (rcsid): Remove.
30300 * util/mkisofs/hash.c: Likewise.
30301 * util/mkisofs/joliet.c: Likewise.
30302 * util/mkisofs/name.c: Likewise.
30303 * util/mkisofs/rock.c: Likewise.
30304 * util/mkisofs/tree.c: Likewise.
30305 * util/mkisofs/write.c: Likewise.
30306
1dabbc77
RM
303072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30308
30309 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30310 instead of static allocation.
30311 * util/mkisofs/match.h: Likewise.
30312
633877cb
RM
303132009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30314
3bc7896c
RM
30315 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30316 and `util/grub.d/10_linux.in'.
633877cb
RM
30317 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30318 translatable Shell files.
30319
af1c0c85
RM
303202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30321
30322 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30323
769ae37b
RM
303242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30325
30326 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30327 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30328 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30329 Add gettext initialization.
30330 (kfreebsd_entry): Make menuentry output translatable.
30331
303322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30333
30334 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30335 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30336 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30337 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30338 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30339 * po/LINGUAS: New file.
769ae37b
RM
30340
303412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30342
30343 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30344 other things).
30345 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30346 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30347 bindtextdomain() calls for gettext initialization.
30348
303492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30350
30351 * gnulib/progname.c: New file (imported from Gnulib).
30352 * gnulib/progname.h: Likewise.
30353 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30354 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30355 (usage): Replace `progname' with `program_name'.
30356 (main): Use set_program_name() for program name initialization.
30357
303582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30359
30360 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30361 from here ...
30362 * Makefile.in (CPPFLAGS): ... to here.
30363
303642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30365
30366 * aclocal.m4: Move from here ...
30367 * acinclude.m4: ... to here.
30368 * autogen.sh: Add call to `aclocal'.
30369 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30370
303712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30372
30373 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30374 (LINGUAS): New variable.
30375 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30376 (install-local): Install MO files.
30377 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30378 * include/grub/i18n.h: New file.
3bc7896c
RM
30379 * po/POTFILES: New file.
30380 * po/ca.po: New file.
769ae37b
RM
30381 * util/grub.d/10_linux.in (bindir): New variable.
30382 Add gettext initialization.
30383 (linux_entry): Make menuentry output translatable.
30384 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30385 (usage): Make --help output translatable.
30386 (main): Initialize gettext.
30387
02c0a6ad
RM
303882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * import_gcry.py: New file (written by Vladimir with minor
30391 adjustments).
30392 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30393 ciphers.
30394 * INSTALL: Document that Python is required for bootstrap.
30395
303962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30397
30398 Import ciphers from libgcrypt 1.4.4.
30399
30400 * lib/libgcrypt/cipher/ChangeLog
30401 * lib/libgcrypt/cipher/ac.c
30402 * lib/libgcrypt/cipher/arcfour.c
30403 * lib/libgcrypt/cipher/bithelp.h
30404 * lib/libgcrypt/cipher/blowfish.c
30405 * lib/libgcrypt/cipher/camellia-glue.c
30406 * lib/libgcrypt/cipher/camellia.c
30407 * lib/libgcrypt/cipher/camellia.h
30408 * lib/libgcrypt/cipher/cast5.c
30409 * lib/libgcrypt/cipher/cipher.c
30410 * lib/libgcrypt/cipher/crc.c
30411 * lib/libgcrypt/cipher/des.c
30412 * lib/libgcrypt/cipher/dsa.c
30413 * lib/libgcrypt/cipher/ecc.c
30414 * lib/libgcrypt/cipher/elgamal.c
30415 * lib/libgcrypt/cipher/hash-common.c
30416 * lib/libgcrypt/cipher/hash-common.h
30417 * lib/libgcrypt/cipher/hmac-tests.c
30418 * lib/libgcrypt/cipher/md.c
30419 * lib/libgcrypt/cipher/md4.c
30420 * lib/libgcrypt/cipher/md5.c
30421 * lib/libgcrypt/cipher/primegen.c
30422 * lib/libgcrypt/cipher/pubkey.c
30423 * lib/libgcrypt/cipher/rfc2268.c
30424 * lib/libgcrypt/cipher/rijndael-tables.h
30425 * lib/libgcrypt/cipher/rijndael.c
30426 * lib/libgcrypt/cipher/rmd.h
30427 * lib/libgcrypt/cipher/rmd160.c
30428 * lib/libgcrypt/cipher/rsa.c
30429 * lib/libgcrypt/cipher/seed.c
30430 * lib/libgcrypt/cipher/serpent.c
30431 * lib/libgcrypt/cipher/sha1.c
30432 * lib/libgcrypt/cipher/sha256.c
30433 * lib/libgcrypt/cipher/sha512.c
30434 * lib/libgcrypt/cipher/tiger.c
30435 * lib/libgcrypt/cipher/twofish.c
30436 * lib/libgcrypt/cipher/whirlpool.c
30437
af2f93ac
RM
304382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30439
30440 Fix build for systems without error().
30441
30442 * gnulib/error.c: New file (imported from Gnulib).
30443 * gnulib/error.h: Likewise.
30444 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30445 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30446 (this variable is now used by error()).
30447
73fb3dd5
FZ
304482009-11-16 Felix Zielcke <fzielcke@z-51.de>
30449
814f5e96
FZ
30450 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30451 instead of relying that char is signed.
73fb3dd5 30452
a691ca33
VS
304532009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30456 blocksize different from specified.
30457 (grub_pxefs_read): Likewise.
30458
2af8f0f4
FZ
304592009-11-16 Felix Zielcke <fzielcke@z-51.de>
30460
30461 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30462
30463 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30464 (grub_ata_readwrite): Likewise. Update 2 format strings.
30465 (grub_atapi_read): Likewise.
30466
30467 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30468 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30469 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30470 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30471 (ata_mod_LDFLAGS): Move from here ...
30472 * conf/i386.rmk: ... to here ...
30473 * conf/x86_64-efi.rmk: ... and here.
30474 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30475 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30476
83bdecaf
RM
304772009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 Relicense multiboot.h, with RMS' blessing.
30480
30481 * include/multiboot.h: Change to X11 license.
30482
fd6fd3d7
RM
304832009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30484
30485 Support --version in grub-mkisofs.
30486
30487 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30488 (OPTION_VERSION): New macro.
30489 (ld_options): Recognize --version.
30490 (usage): Move `program_name' from here ...
30491 (program_name): ... to here. Add `static' qualifier.
30492 (main): Recognize `OPTION_VERSION'.
30493
16a88c49
FZ
304942009-11-15 Felix Zielcke <fzielcke@z-51.de>
30495
30496 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30497 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30498
a4158476
RM
304992009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30500
30501 Fix help2man generation for mkisofs.
30502
30503 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30504 (usage): Send output to stdout (rather than stderr).
30505
fc2208b0
RM
305062009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30507
30508 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30509 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30510 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30511 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30512 (bin_SCRIPTS): Add `grub-mkfloppy'.
30513 (grub_mkfloppy_SOURCES): New variable.
30514
30515 * util/grub-mkrescue.in: New file.
30516 * util/i386/pc/grub-mkfloppy.in: New file.
30517
30518 * util/i386/coreboot/grub-mkrescue.in: Remove.
30519 * util/i386/pc/grub-mkrescue.in: Remove.
30520
8d0edf4a
RM
305212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30522
30523 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30524 from here ...
30525 * include/multiboot.h (struct multiboot_header): ... to here. Update
30526 all users.
30527 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30528 from here ...
30529 * include/multiboot.h (struct multiboot_info): ... to here. Update
30530 all users.
30531 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30532 from here ...
30533 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30534 Update all users.
30535 * include/grub/multiboot.h (struct grub_mod_list): Move
30536 from here ...
30537 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30538 Update all users.
30539
a73f5969
RM
305402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30541
30542 * include/multiboot2.h (multiboot_word): Rename from this ...
30543 (multiboot2_word): ... to this. Update all users.
30544 (multiboot_header): Rename from this ...
30545 (multiboot2_header): ... to this. Update all users.
30546 (multiboot_tag_header): Rename from this ...
30547 (multiboot2_tag_header): ... to this. Update all users.
30548 (multiboot_tag_start): Rename from this ...
30549 (multiboot2_tag_start): ... to this. Update all users.
30550 (multiboot_tag_name): Rename from this ...
30551 (multiboot2_tag_name): ... to this. Update all users.
30552 (multiboot_tag_module): Rename from this ...
30553 (multiboot2_tag_module): ... to this. Update all users.
30554 (multiboot_tag_memory): Rename from this ...
30555 (multiboot2_tag_memory): ... to this. Update all users.
30556 (multiboot_tag_unused): Rename from this ...
30557 (multiboot2_tag_unused): ... to this. Update all users.
30558 (multiboot_tag_end): Rename from this ...
30559 (multiboot2_tag_end): ... to this. Update all users.
30560
1c8927f0
RM
305612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30562
30563 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30564 this platform we should support Multiboot1 first.
30565
30566 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30567 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30568 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30569
6e1e0d89
RM
305702009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30571
30572 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30573 of write calls (converting them to fwrite() if they aren't already).
30574 (get_torito_desc): Likewise.
30575 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30576
7f2b34d8
RM
305772009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30578
30579 * util/i386/pc/grub-install.in: Move from here ...
30580 * util/grub-install.in: ... to here. Update all users.
30581
c0ef3311
CW
305822009-11-11 Colin Watson <cjwatson@ubuntu.com>
30583
30584 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30585
e1f240ff
RM
305862009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 Support for El Torito without floppy emulation.
30589
30590 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30591 (init_boot_catalog): Improve error handling.
30592 (get_torito_desc): Don't use floppy emulation unless requested by
30593 user. Patch boot information table when requested via
30594 `-boot-info-table'.
30595 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30596 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30597 (use_boot_info_table): New variables.
30598 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30599 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30600 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30601 `--eltorito-emul-floppy'.
30602 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30603 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30604 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30605 (use_boot_info_table, get_731): New prototypes.
30606 * util/mkisofs/write.c (get_731): New function.
30607
af7d4de5
FZ
306082009-11-11 Felix Zielcke <fzielcke@z-51.de>
30609
30610 Fix the generation of the man page.
30611
30612 * util/pc/i386/grub-install.in: Source
30613 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30614
2c55dbc0
RM
306152009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30616
30617 Large file support for grub-mkisofs.
30618
30619 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30620 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30621 (session_start): Upgrade type to `uint64_t'. Update all users.
30622 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30623 (struct directory_entry): Upgrade type of `starting_block' and
30624 `size' to `uint64_t'. Update all users.
30625 (struct deferred): Remove unused structure.
30626 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30627 Update all users.
30628 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30629 file is larger than `UINT32_MAX'.
30630 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30631 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30632 return value.
30633 (struct deferred_write): Upgrade type of `extent' and `size' to
30634 `uint64_t'. Update all users.
30635 (last_extent_written): Upgrade type to `uint64_t'. Update all
30636 users.
30637 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30638 Update all users. Upgrade type of `remain' to `int64_t' and
30639 `use' to `size_t'. Use error() to handle fread() errors.
30640 (write_files): Rely on write_one_file() rather than calling
30641 xfwrite() directly.
30642
6a9cead5
FZ
306432009-11-09 Felix Zielcke <fzielcke@z-51.de>
30644
30645 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30646
4825d790
RM
306472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30648
30649 * util/mkisofs/fnmatch.c: Remove.
30650 * util/mkisofs/getopt1.c: Likewise.
30651 * util/mkisofs/getopt.c: Likewise.
30652 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30653 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30654 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30655 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30656 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30657
30658 * configure.ac: Detect `mingw32msvc' host_os.
30659 Check for lstat(), getuid() and getgid().
30660
30661 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30662 instances of `u_char' with `uint8_t'.
30663
30664 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30665 [!HAVE_GETUID] (getuid): New function (stub).
30666 [!HAVE_GETGID] (getgid): Likewise.
30667 [!HAVE_LSTAT] (lstat): Likewise.
30668 [!S_IROTH] (S_IROTH): New macro (dummy).
30669 [!S_IRGRP] (S_IRGRP): Likewise.
30670
84b860d8
RM
306712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30672
30673 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30674 conditional expression).
30675
66e9b712
RM
306762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 Import from Gnulib.
30679
30680 * gnulib/fnmatch.c: New file.
30681 * gnulib/fnmatch.h: Likewise.
30682 * gnulib/fnmatch_loop.c: Likewise.
30683 * gnulib/getopt.c: Likewise.
30684 * gnulib/getopt.h: Likewise.
30685 * gnulib/getopt1.c: Likewise.
30686 * gnulib/getopt_int.h: Likewise.
30687 * gnulib/gettext.h: Likewise.
30688
34f4a5b0
RM
306892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30690
30691 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30692 * normal/handler.c (read_handler_list): Likewise.
30693
ac451143
RM
306942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30695
30696 Misc cleanup.
30697
30698 * kern/command.c (grub_register_command_prio): Use
30699 grub_zalloc() instead of explicitly zeroing data.
30700 * kern/list.c: Include `<grub/mm.h>'.
30701 (grub_named_list_find): Replace `0' with `NULL'.
30702 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30703 (fs_module_list): Change type to `grub_named_list_t'. Update all
30704 users.
30705 * normal/dyncmd.c (read_command_list): Add space between function
30706 call and parenthesis.
30707 * normal/handler.c (read_handler_list): Likewise.
30708
4089b167
RM
307092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 * normal/auth.c (punishment_delay): Moved from here ...
30712 (grub_auth_strcmp): ... to here (inside function).
30713
325f5037
RM
307142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30715
30716 * include/grub/list.h (struct grub_named_list): Remove `const'
30717 qualifier from `name'.
30718 (struct grub_prio_list): Likewise.
30719
7aea29a3
RM
307202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * normal/auth.c: Include `<grub/time.h>'.
30723 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30724
3fd6f044
RM
307252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30726
30727 * normal/auth.c (punishment_delay): New variable.
30728 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30729 (grub_auth_check_authentication): Punish failed login attempts with
30730 an incremental (2^N) delay.
30731
a4cd68e4
RM
307322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30733
30734 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30735 path with $(srcdir).
30736
7ad12f43
VS
307372009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30738
30739 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30740
c1129f03
RM
307412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30742
30743 * util/i386/coreboot/grub-mkrescue.in: New file.
30744 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30745 variables.
30746
30747 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30748 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30749 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30750 requirements.
30751 * util/mkisofs/defaults.h: New file.
30752 * util/mkisofs/eltorito.c: Likewise.
30753 * util/mkisofs/exclude.h: Likewise.
30754 * util/mkisofs/fnmatch.c: Likewise.
30755 * util/mkisofs/getopt.c: Likewise.
30756 * util/mkisofs/getopt1.c: Likewise.
30757 * util/mkisofs/hash.c: Likewise.
30758 * util/mkisofs/include/fctldefs.h: Likewise.
30759 * util/mkisofs/include/mconfig.h: Likewise.
30760 * util/mkisofs/include/prototyp.h: Likewise.
30761 * util/mkisofs/include/statdefs.h: Likewise.
30762 * util/mkisofs/iso9660.h: Likewise.
30763 * util/mkisofs/joliet.c: Likewise.
30764 * util/mkisofs/match.c: Likewise.
30765 * util/mkisofs/match.h: Likewise.
30766 * util/mkisofs/mkisofs.c: Likewise.
30767 * util/mkisofs/mkisofs.h: Likewise.
30768 * util/mkisofs/multi.c: Likewise.
30769 * util/mkisofs/name.c: Likewise.
30770 * util/mkisofs/rock.c: Likewise.
30771 * util/mkisofs/tree.c: Likewise.
30772 * util/mkisofs/write.c: Likewise.
30773
ec8bb77d
VS
307742009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30775
30776 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30777 being insecure.
30778
3716b12c
RM
307792009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30780
30781 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30782 `grub-mkimage' (and use $0 when possible).
30783
b97b7b91
RM
307842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30785
30786 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30787 error message for excessively large memory map.
30788
04114812
RM
307892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30790
30791 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30792 executable bit.
30793
e4eb2373
RM
307942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30795
30796 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30797 message for coreboot users.
30798
c926e1d5 307992009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30800
30801 Fix build with GNU gold.
30802
30803 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30804 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30805 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30806 link addresses.
30807 * aclocal.m4: Likewise.
30808
86e5b1db 308092009-11-04 Felix Zielcke <fzielcke@z-51.de>
30810
30811 * configure.ac (AC_PREREQ): Bump to 2.59d.
30812 * INSTALL: Make it more clear when Autoconf and Ruby are
30813 needed and when to run `./autogen.sh'.
30814
246cd78f 308152009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30816
30817 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30818 OSes.
30819
4f9dfb37 308202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30821
30822 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30823
b82bd5e1 308242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30825
30826 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30827 giving it to GNU Mach.
30828
ff1a9bca 308292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30830
30831 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30832 GNU partition number to get internal GRUB partition number.
30833
61697d9c 308342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30835
30836 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30837 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30838
a50569e1 308392009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30842 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30843 case.
30844
5b153867 308452009-11-01 Felix Zielcke <fzielcke@z-51.de>
30846
30847 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30848
d9e2cd70 308492009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30850
30851 Fix build problem.
30852
30853 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30854 `-isystem=$(srcdir)/include'.
30855
805111a4 308562009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30857
30858 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30859 checked (grub-install doesn't currently rely on it).
30860
fa6e945f 308612009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30862
30863 Revert SVN r2660.
30864
30865 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30866 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30867 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30868 * conf/i386-ieee1275.rmk: Likewise.
30869 * conf/i386-pc.rmk: Likewise.
30870 * conf/powerpc-ieee1275.rmk: Likewise.
30871 * conf/sparc64-ieee1275.rmk: Likewise.
30872 * conf/x86_64-efi.rmk: Likewise.
30873
cee15086 308742009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30875
30876 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30877
95b9239e 308782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30879
30880 * include/grub/misc.h: Stop checking for APPLE_CC.
30881
2ed19dfd 308822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30885 doesn't cause an infinite call loop.
30886
fdcdde19 308872009-10-28 Felix Zielcke <fzielcke@z-51.de>
30888
30889 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30890 strings.
30891
cefabfe1 308922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30893
30894 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30895 variable.
30896 * Makefile.in: Likewise.
30897
ed96ab6d 308982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30899
30900 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30901
0579b753 309022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30903
30904 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30905
478df409 309062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30907
30908 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30909
083d1679 309102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30911
30912 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30913 from here ...
30914 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30915
5947ae32 309162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30917
30918 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30919 in $(MAKEINFO) invocation. This makes it clear in output that
30920 errors are being ignored.
30921
94180ff6 309222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30923
30924 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30925 from here ...
30926 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30927 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30928 * conf/i386-ieee1275.rmk: Likewise.
30929 * conf/i386-pc.rmk: Likewise.
30930 * conf/powerpc-ieee1275.rmk: Likewise.
30931 * conf/sparc64-ieee1275.rmk: Likewise.
30932 * conf/x86_64-efi.rmk: Likewise.
30933
9031b03a 309342009-10-26 Colin Watson <cjwatson@ubuntu.com>
30935
30936 * util/grub-editenv.c (main): If only a command is given, use
30937 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30938 (usage): FILENAME is now optional and has a default.
30939
e4f6809b 309402009-10-26 Colin Watson <cjwatson@ubuntu.com>
30941
30942 Improve grub-mkconfig performance when there are several menu
30943 entries on a single filesystem.
30944
30945 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30946 prepare_grub_to_access_device.
30947 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30948 * util/grub.d/30_os-prober.in: Likewise.
30949
67937d4d 309502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30951
30952 * util/grub.d/10_freebsd.in: Remove.
30953 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30954 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30955
ee3756cc 309562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30957
5c35048e 30958 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30959
4dea1c6f 309602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30961
30962 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30963 grub_util_error() call.
30964
042484d7 309652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30968 `reserved_first_sector' member.
30969 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30970 `reserved_first_sector' to 1.
30971 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30972 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30973 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30974 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30975 filesystems which begin at first sector.
30976 (options): New option --skip-fs-probe.
30977 (main): Handle --skip-fs-probe and pass it to setup().
30978
d64448a7 309792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30980
30981 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30982 (memset): Fix function prototype.
30983
508d42ec 309842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
309852009-10-25 Vasily Averin <vvs@parallels.com>
30986
30987 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30988 `dirent.direntlen == 0'.
30989
b240e30c 309902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30991
30992 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30993 `cpio'.
30994 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30995
346e7fbe 309962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30997
30998 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30999 `__trampoline_setup' and `__ucmpdi2'.
31000 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31001 that libgcc provides.
31002
cdb308b0 310032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31004
31005 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31006 * include/grub/sparc64/libgcc.h (memset): Likewise.
31007 * include/grub/misc.h (memset, memcmp): New function prototypes.
31008
fb26abc2 310092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31010
31011 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31012 `cpio'.
31013 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31014
f6693890 310152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31016
31017 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31018 * docs/grub.cfg: Compensate for recent change in multiboot
31019 loader (since 2009-08-14 it won't pass filename to payload).
31020 * util/grub.d/10_hurd.in: Likewise.
31021
0933cdc0 310222009-10-21 Felix Zielcke <fzielcke@z-51.de>
31023
31024 * config.guess: Update to latest version from config git
31025 repository.
31026 * config.sub: Likewise.
31027
3b2fe8c2 310282009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31029
31030 Fix build on sparc64.
31031
31032 * configure.ac: Perform checks for libgcc symbols before
31033 adding `-nostdlib' to LDFLAGS.
31034
46695a62 310352009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 Let user specify OpenBSD root device.
31038
31039 * loader/i386/bsd.c (openbsd_root): New variable.
31040 (openbsd_opts): New option 'root'.
31041 (OPENBSD_ROOT_ARG): New macro.
31042 (grub_openbsd_boot): Use 'openbsd_root'.
31043 (grub_cmd_openbsd): Fill 'openbsd_root'.
31044
d2b6b7fc 310452009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31046
31047 * NEWS: Misc adjustments.
31048
421bd7ac 310492009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31052
f1d29d87 310532009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 * configure.ac: Bump version to 1.97.
31056
6f3cd880 310572009-10-16 Colin Watson <cjwatson@ubuntu.com>
31058
31059 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31060 -mno-3dnow on x86 architectures. Some toolchains enable these
31061 features by default, but they rely on registers that aren't enabled
31062 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31063
035f7122 310642009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 Make entry text a bit more readable.
31067
31068 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31069
44998e58 310702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31071
31072 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31073
cd2851b3 310742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31075
31076 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31077 operations.
31078
c6f3b249 310792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31080
31081 * configure.ac: Add missing dollar.
31082
6b5886ba 310832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31084
31085 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31086
31087 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31088 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31089 exports.
31090 * include/grub/sparc64/libgcc.h: Likewise. Use
31091 preprocessor conditionals.
31092
e9d66f6d 310932009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 * conf/common.rmk (grub-dumpbios): Remove rule.
31096 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31097 * util/grub-dumpbios.in: Remove file.
31098
9155bc17 310992009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31100
31101 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31102 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31103
31104 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31105 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31106 users.
31107
31108 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31109 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31110 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31111 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31112 users.
31113
bf7f7a18 311142009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31115
31116 * term/tparm.c: Switch to GPLv3.
31117
86564c26 311182009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31119
31120 * include/grub/i386/cpuid.h: Add header protection.
31121
5c936493 311222009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31123
31124 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31125
31126 * include/grub/i386/cpuid.h: New file.
31127 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31128 (has_longmode): Rename to ...
31129 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31130 `static' attribute.
31131 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31132 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31133 on a CPU that doesn't implement AMD64 instruction set.
31134
186e7cf2 311352009-10-06 Colin Watson <cjwatson@ubuntu.com>
31136
31137 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31138 that version.texi is rebuilt on version number changes.
31139
83b65c4a 311402009-10-06 Colin Watson <cjwatson@ubuntu.com>
31141
31142 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31143 Fixes bug #27602.
31144
d244281c 311452009-10-06 Colin Watson <cjwatson@ubuntu.com>
31146
31147 * util/i386/pc/grub-install.in: Source
31148 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31149 that the --grub-probe option will work.
31150 * util/sparc64/ieee1275/grub-install.in: Likewise.
31151
da25306d 311522009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31153
31154 * configure.ac: Bump version to 1.97~beta4.
31155
e8ee83c0 311562009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31157
31158 Resync grub-mkdevicemap in x86_64-efi.
31159
31160 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31161 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31162 `util/devicemap.c'.
31163
50dcabcf 311642009-10-01 Colin Watson <cjwatson@ubuntu.com>
31165
31166 * util/grub-editenv.c (create_envblk_file): Write new block with a
31167 .new suffix and then rename it into place, to ensure atomic
31168 creation.
31169
0e51c3a7 311702009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31171
31172 Do not automatically install headers.
31173
31174 * Makefile.in (include_DATA): Remove. Update all users.
31175
31299a95 311762009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31177
31178 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31179 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31180
31181 * util/osdetect.lua: Remove.
31182 * script/lua/lauxlib.c: Likewise.
31183 * script/lua/ldebug.c: Likewise.
31184 * script/lua/grub_main.c: Likewise.
31185 * script/lua/lauxlib.h: Likewise.
31186 * script/lua/ldebug.h: Likewise.
31187 * script/lua/ltablib.c: Likewise.
31188 * script/lua/liolib.c: Likewise.
31189 * script/lua/lstrlib.c: Likewise.
31190 * script/lua/lualib.h: Likewise.
31191 * script/lua/ldo.c: Likewise.
31192 * script/lua/ldump.c: Likewise.
31193 * script/lua/ldo.h: Likewise.
31194 * script/lua/loslib.c: Likewise.
31195 * script/lua/lundump.c: Likewise.
31196 * script/lua/grub_lib.c: Likewise.
31197 * script/lua/ldblib.c: Likewise.
31198 * script/lua/lundump.h: Likewise.
31199 * script/lua/lmem.c: Likewise.
31200 * script/lua/grub_lib.h: Likewise.
31201 * script/lua/lmathlib.c: Likewise.
31202 * script/lua/lstate.c: Likewise.
31203 * script/lua/ltm.c: Likewise.
31204 * script/lua/lvm.c: Likewise.
31205 * script/lua/lmem.h: Likewise.
31206 * script/lua/lstate.h: Likewise.
31207 * script/lua/ltm.h: Likewise.
31208 * script/lua/ltable.c: Likewise.
31209 * script/lua/lvm.h: Likewise.
31210 * script/lua/llex.c: Likewise.
31211 * script/lua/lgc.c: Likewise.
31212 * script/lua/grub_lua.h: Likewise.
31213 * script/lua/loadlib.c: Likewise.
31214 * script/lua/lfunc.c: Likewise.
31215 * script/lua/lopcodes.c: Likewise.
31216 * script/lua/lparser.c: Likewise.
31217 * script/lua/ltable.h: Likewise.
31218 * script/lua/llex.h: Likewise.
31219 * script/lua/lgc.h: Likewise.
31220 * script/lua/lfunc.h: Likewise.
31221 * script/lua/lbaselib.c: Likewise.
31222 * script/lua/lopcodes.h: Likewise.
31223 * script/lua/lparser.h: Likewise.
31224 * script/lua/lzio.c: Likewise.
31225 * script/lua/linit.c: Likewise.
31226 * script/lua/lobject.c: Likewise.
31227 * script/lua/llimits.h: Likewise.
31228 * script/lua/lstring.c: Likewise.
31229 * script/lua/lzio.h: Likewise.
31230 * script/lua/lapi.c: Likewise.
31231 * script/lua/lcode.c: Likewise.
31232 * script/lua/lua.h: Likewise.
31233 * script/lua/lobject.h: Likewise.
31234 * script/lua/lstring.h: Likewise.
31235 * script/lua/lapi.h: Likewise.
31236 * script/lua/lcode.h: Likewise.
31237 * script/lua/luaconf.h: Likewise.
31238
cb8a2c38 312392009-09-26 Colin Watson <cjwatson@ubuntu.com>
31240
31241 * docs/grub.texi (Command-line and menu entry commands): Document
31242 date and echo commands.
31243
6b9b6276 312442009-09-24 Pavel Roskin <proski@gnu.org>
31245
31246 * include/grub/kernel.h (struct grub_module_header): Remove
31247 `grub_module_header_types'. Make `type' unsigned. Make `size'
31248 32-bit on all platforms.
31249 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31250 8-bit field. Use grub_host_to_target32() for `size'.
31251 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31252 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31253 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31254
4e5a02a7 312552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31256
31257 Fix "lost keypress" bug in at_keyboard.
31258
31259 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31260 Checks for readyness of input buffer (without flushing it).
31261 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31262 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31263
c6dcedf6 312642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31265
31266 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31267 size check within GRUB_MACHINE_PCBIOS section.
31268
74c958b1 312692009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31270
31271 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31272 return value.
31273 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31274 KEYBOARD_ISREADY check.
31275 (grub_at_keyboard_checkkey): Rename to ...
31276 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31277 Remove gratuitous cast.
31278
ff420223 312792009-09-23 Colin Watson <cjwatson@ubuntu.com>
31280
31281 * configure.ac: Call AC_PROG_MKDIR_P.
31282 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31283 version.texi in $(builddir) rather than $(srcdir).
31284 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31285 to makeinfo's @include search path.
31286
d96875df 312872009-09-23 Felix Zielcke <fzielcke@z-51.de>
31288
31289 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31290
9b3f8365 312912009-09-23 Felix Zielcke <fzielcke@z-51.de>
31292
31293 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31294 for `*.dpkg-new'.
31295
c44c90db 312962009-09-21 Colin Watson <cjwatson@ubuntu.com>
31297
31298 Build info documentation. Some code borrowed from Automake.
31299
31300 * configure.ac: Check for makeinfo.
31301 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31302 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31303 docs/version.texi.
31304 (MOSTLYCLEANFILES): Add vti.tmp.
31305 (docs/version.texi, docs/stamp-vti): Update automatically.
31306 (docs/grub.info): Build info documentation. Use --force and ignore
31307 errors for now.
31308 (all-local): Add $(INFOS).
31309 (install-local): Install info files.
31310 (uninstall): Uninstall info files.
31311 * docs/version.texi: Remove from revision control. This file is
31312 automatically generated on build now.
31313 * gendistlist.sh: Add `*.info'.
31314
e0b37bb5 313152009-09-21 Felix Zielcke <fzielcke@z-51.de>
31316
31317 * kern/term.c: Fix indentation.
31318
5a78865b 313192009-09-21 Felix Zielcke <fzielcke@z-51.de>
31320
31321 * util/hostdisk.c: Fix a comment.
31322
dace7e8a 313232009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31324
31325 Fix regression introduced in r2539.
31326
31327 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31328 to 0xA1.
31329
a83d079b 313302009-09-19 Colin Watson <cjwatson@ubuntu.com>
31331
31332 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31333 os-prober. Under normal operation, it does not print anything to
31334 stderr; if it does, we need to debug it, and throwing away stderr
31335 makes that excessively difficult.
a83d079b 31336
be94a509 313372009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31338
31339 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31340
63f745e8 313412009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31342
31343 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31344 AC_LANG_PROGRAM from autoconf.
31345 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31346 prototypes (fixes warning).
31347
31348 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31349 `--disable-werror' was used.
31350
bbb2a70f 313512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31352
31353 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31354 uninitialized `lastaddr'.
31355
77c24f1d 313562009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31357
0f0b8c87 31358 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31359
07197f23 313602009-09-14 Colin Watson <cjwatson@ubuntu.com>
31361
31362 * commands/test.c (get_fileinfo): Return immediately if
31363 grub_fs_probe fails.
31364
dabf1798 313652009-09-14 José Martínez <xosemp@gmail.com>
31366
31367 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31368
d52109a7 313692009-09-14 Colin Watson <cjwatson@ubuntu.com>
31370
31371 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31372 output.
31373
56532179 313742009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31375
31376 * configure.ac: Remove --enable-grub-pe2elf. Only build
31377 grub-pe2elf when needed by the build system itself.
31378 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31379
8ef070f5 313802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31381
31382 * configure.ac: Bump version to 1.97~beta3.
31383 * docs/version.texi: Likewise.
31384
61229557 313852009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31386
31387 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31388 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31389 from here ...
31390 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31391 (grub_linux_setup_video): ... to here (with some adjustments).
31392
5c9f8d84 313932009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 Fix memory corruption issue (spotted by Colin Watson).
31396
31397 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31398 causing returned size to be stored in an incorrect memory location.
31399 Fix use of uninitialized value when storing the returned size.
31400
e8f5d6e9 314012009-09-12 Yves Blusseau <blusseau@zetam.org>
31402
31403 Change clean rules to properly remove files
31404
31405 * genmk.rb: add new clean rules
31406 * Makefile.in (clean): add the new targets
31407 (mostlyclean): likewise
31408
cda2a409 314092009-09-11 Colin Watson <cjwatson@ubuntu.com>
31410
31411 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31412 to grub_uint64_t.
31413 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31414 non-resident files.
31415
86695375 314162009-09-11 Colin Watson <cjwatson@ubuntu.com>
31417
31418 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31419 part of bug #27349.
31420
8aa1541a 314212009-09-10 Felix Zielcke <fzielcke@z-51.de>
31422
31423 * util/grub-mkconfig.in: Make the created config mode 400 and
31424 print a warning if it fails.
31425
48d9bb0a 314262009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * util/grub.d/40_custom.in: Ask user to type custom entries below
31429 comment, rather than below 'exec tail' line.
31430
3b0521be 314312009-09-10 Colin Watson <cjwatson@ubuntu.com>
31432
31433 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31434 visible in grub.cfg.
31435
50051d55 314362009-09-10 Colin Watson <cjwatson@ubuntu.com>
31437
31438 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31439 file.
31440
c0d34387 314412009-09-10 Felix Zielcke <fzielcke@z-51.de>
31442
31443 * docs/grub.cfg: Add an example menu entry for memtest86+.
31444
80a608f3 314452009-09-09 Felix Zielcke <fzielcke@z-51.de>
31446
a2094832 31447 * config.guess: Update to latest version from config git.
80a608f3 31448 * config.sub: Likewise.
31449
99423078 314502009-09-08 Colin Watson <cjwatson@ubuntu.com>
31451
31452 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31453 unknown-command case. Fixes bug #27320.
31454
44454e4c 314552009-09-08 Felix Zielcke <fzielcke@z-51.de>
31456
31457 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31458 `help' if the command exists.
31459
e30d87ad 314602009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31461
31462 * INSTALL: Require GCC 4.1.3 or later.
31463
9a86f1ec 314642009-09-06 Yves Blusseau <blusseau@zetam.org>
31465
31466 * Makefile.in (RMKFILES): add i386-qemu.rmk
31467 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31468 $(srcdir)/stamp-h.in
31469
7f26d466 314702009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31471
31472 * util/grub-probe.c (probe): Comment out buggy codepath, which
31473 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31474 should be re-enabled after 1.97.
31475
3a613259 314762009-09-05 Felix Zielcke <fzielcke@z-51.de>
31477
31478 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31479 find searches for.
31480
197f76c7 314812009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31482
31483 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31484 unnecessary calls to grub_error.
31485
70ba68ce 314862009-09-04 Colin Watson <cjwatson@ubuntu.com>
31487
31488 * NEWS: Mention `keystatus' and Unicode fonts.
31489
4ff0d7a4 314902009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31491
31492 * configure.ac: Bump version to 1.97~beta2.
31493 * docs/version.texi: Likewise.
31494
77c55a87 314952009-09-03 Colin Watson <cjwatson@ubuntu.com>
31496
31497 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31498 containing unwind information in some cases where it previously did
31499 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31500 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31501 discussion.
31502
f79572cd 315032009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31504
31505 Embedding loadenv module into grub-emu
31506
31507 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31508 commands/loadenv.c
31509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31510 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31514 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31515
93a81088 315162009-09-03 Magnus Granberg <zorry@ume.nu>
31517
31518 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31519 include -fPIE in the default specs.
31520 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31521 to TARGET_CFLAGS.
31522
160034b2 315232009-09-03 Felix Zielcke <fzielcke@z-51.de>
31524
31525 * INSTALL: Note that GNU Bison 2.3 or later is required.
31526
087c07c4 315272009-09-03 Colin Watson <cjwatson@ubuntu.com>
31528
31529 * kern/i386/pc/startup.S: Fix typo.
31530
cbf978c0 315312009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31532
31533 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31534 according to GCS.
31535
315362009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31537
31538 * docs/grub.texi (Naming convention): Describe one-based partition
31539 numbering.
31540 (Device syntax): Likewise.
31541 (File name syntax): Likewise.
31542 (Block list syntax): Likewise.
31543 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31544 menu.lst.
31545 (File name syntax): Likewise.
31546 (Command-line and menu entry commands): Document acpi, blocklist,
31547 crc, export, insmod, keystatus, ls, set, and unset commands.
31548
f3e8cdfd 315492009-09-02 Colin Watson <cjwatson@ubuntu.com>
31550
31551 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31552 to avoid implying that only one of --shift, --ctrl, or --alt may be
31553 used.
31554
c0bc232b 315552009-09-02 Colin Watson <cjwatson@ubuntu.com>
31556
31557 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31558 rather than comparing against S_IFREG, which will almost never work.
31559
aa0f752d 315602009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31561
31562 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31563 (write_blocklists): Likewise.
31564
ecb3166a 315652009-09-01 Colin Watson <cjwatson@ubuntu.com>
31566
31567 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31568 argument to grub_printf.
31569
c403a125 315702009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31571
31572 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31573 non GNU test.
31aba781 31574
b5e7312c 315752009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31576
31577 * kern/file.c (grub_file_read): Spelling fix
31578
fe00f472 315792009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31580
31581 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31582 loading of headers in some cases.
31583
cc55302e 315842009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31585
31586 * configure.ac: Bump version to 1.97~beta1.
31587 * docs/version.texi: Likewise.
31588
5c90cdd2 315892009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31590
31591 * include/grub/i386/xnu.h: Add license header.
31592 include grub/err.h explicitly.
31593
c90edae4 315942009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31595
31596 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31597 to `ufs' in the vfs.root.mountfrom kernel parameter.
31598
d8888b5c 315992009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31600
31601 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31602
31603 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31604 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31605
31606 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31607 `ARRAY_SIZE' macro.
31608
6f07b921 316092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31610
31611 * kern/file.c (grub_file_read): Check offset.
31612 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31613 * fs/jfs.c (grub_jfs_read_file): Likewise.
31614 * fs/ntfs.c (grub_ntfs_read): Likewise.
31615 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31616 * fs/minix.c (grub_minix_read_file): Correct offset check.
31617 * fs/ufs.c (grub_ufs_read_file): Likewise.
31618
b4f34077 316192009-08-28 Colin Watson <cjwatson@ubuntu.com>
31620
31621 * term/i386/pc/console.c (bios_data_area): Cast
31622 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31623
e7c69859 316242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31625
31626 1-bit optimised blitters.
31627
31628 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31629 prototype.
31630 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31631 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31632 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31633 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31634 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31635 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31636 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31637 function.
31638 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31639 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31640 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31641 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31642 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31643 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31644 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31645 when possible.
31646 * video/video.c (grub_video_get_blit_format): Return
31647 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31648
a57da43f 316492009-08-28 Colin Watson <cjwatson@ubuntu.com>
31650
31651 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31652 the first argument to grub_printf.
31653
4cbe67e5 316542009-08-28 Colin Watson <cjwatson@ubuntu.com>
316552009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31656
31657 Add `getkeystatus' terminal method. Add a new `keystatus' command
31658 to query it.
31659
31660 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31661 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31662 modifier key bitmasks.
31663 (struct grub_term_input): Add `getkeystatus' member.
31664 (grub_getkeystatus): Add prototype.
31665 * kern/term.c (grub_getkeystatus): New function.
31666
31667 * include/grub/i386/pc/memory.h
31668 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31669 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31670 Data Area layout.
31671 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31672 (grub_console_term_input): Set `getkeystatus' member.
31673 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31674 constants.
31675 (grub_usb_keyboard_getreport): Likewise.
31676 (grub_usb_keyboard_checkkey): Likewise.
31677 (grub_usb_keyboard_getkeystatus): New function.
31678 (grub_usb_keyboard_term): Set `getkeystatus' member.
31679
31680 * commands/keystatus.c: New file.
31681 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31682 (keystatus_mod_SOURCES): New variable.
31683 (keystatus_mod_CFLAGS): Likewise.
31684 (keystatus_mod_LDFLAGS): Likewise.
31685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31686 commands/keystatus.c.
31687 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31689 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31691 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31693
6e2a9085 316942009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31695
31696 Split befs.mod and afs.mod into *_be.mod and *.mod
31697
31698 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31699 (grub_fstest_SOURCES): Likewise.
31700 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31701 (afs_be_mod_SOURCES): New variable.
31702 (afs_be_mod_CFLAGS): Likewise.
31703 (afs_be_mod_LDFLAGS): Likewise.
31704 (befs_be_mod_SOURCES): Likewise.
31705 (befs_be_mod_CFLAGS): Likewise.
31706 (befs_be_mod_LDFLAGS): Likewise.
31707 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31710 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31711 (grub_emu_SOURCES): Likewise.
31712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31715 * fs/afs_be.c: New file.
31716 * fs/befs_be.c: New file.
31717 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31718 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31719 (U16): Replaced with ...
31720 (grub_afs_to_cpu16): ...this. All users updated.
31721 (U32): Replaced with ...
31722 (grub_afs_to_cpu32): ...this. All users updated.
31723 (U64): Replaced with ...
31724 (grub_afs_to_cpu64): ...this. All users updated.
31725 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31726 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31727 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31728 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31729 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31730 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31731 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31732 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31733 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31734 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31735 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31736
32a71655 317372009-08-26 Bean <bean123ch@gmail.com>
31738
31739 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31740 64-bit number.
31741 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31742 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31743 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31744
552bf6c5 317452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 NetBSD memory map support.
31748
31749 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31750 (grub_netbsd_btinfo_mmap_header): New structure.
31751 (grub_netbsd_btinfo_mmap_entry): Likewise.
31752 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31753
1ae2078c 317542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31755
31756 Enable bsd.mod on coreboot.
31757
31758 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31759 (bsd_mod_SOURCES): New variable.
31760 (bsd_mod_CFLAGS): Likewise.
31761 (bsd_mod_LDFLAGS): Likewise.
31762 (bsd_mod_ASFLAGS): Likewise.
31763 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31764 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31765
beefc598 317662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31767
31768 Cleanup NetBSD root support.
31769
31770 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31771 grub_bsd_get_device.
31772 Fix typo.
31773
3b76e68b 317742009-08-25 Felix Zielcke <fzielcke@z-51.de>
31775
31776 * util/grub.d/00_header.in: Move check for the video backend of
31777 gfxterm from here ...
31778 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31779 a suitable video backend.
31780
aea664ea 317812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31782
31783 Fix breakage in grub-setup.
31784
31785 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31786 "msdos_partition_map".
31787
ff747d50 317882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31789
31790 Fix breakage in normal/auth.c.
31791
31792 * normal/auth.c (grub_iswordseparator): New function.
31793
e7e1f93f 317942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31795
31796 Authentication support.
31797
31798 * commands/password.c: New file.
31799 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31800 (password_mod_SOURCES): New variable.
31801 (password_mod_CFLAGS): Likewise.
31802 (password_mod_LDFLAGS): Likewise.
31803 (normal_mod_SOURCES): Add normal/auth.c.
31804 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31805 normal/auth.c.
31806 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31807 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31808 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31810 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31811 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31812 * include/grub/auth.h: New file.
31813 * include/grub/err.h (grub_err_t): New enum value
31814 GRUB_ERR_ACCESS_DENIED.
31815 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31816 'users'.
31817 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31818 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31819 users updated.
31820 * normal/auth.c: New file.
31821 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31822 (grub_cmdline_run): Don't allow to go to command line without
31823 authentication.
31824 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31825 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31826 menuentry without superuser rights.
31827 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31828 user isn't a superuser.
31829
70f1161d 318302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31831
31832 Save space by inlining misc.c functions.
31833
31834 * kern/misc.c (grub_iswordseparator): Made static.
31835 * kern/misc.c (grub_strcat): Moved from here ...
31836 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31837 * kern/misc.c (grub_strncat): Moved from here ...
31838 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31839 * kern/misc.c (grub_strcasecmp): Moved from here ...
31840 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31841 * kern/misc.c (grub_strncasecmp): Moved from here ...
31842 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31843 * kern/misc.c (grub_isalpha): Moved from here ...
31844 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31845 * kern/misc.c (grub_isdigit): Moved from here ...
31846 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31847 * kern/misc.c (grub_isgraph): Moved from here ...
31848 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31849 * kern/misc.c (grub_tolower): Moved from here ...
31850 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31851
48e40bff 318522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 * script/sh/function.c (grub_script_function_find): Cut error message
31855 not to flood terminal.
31856 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31857 limit.
31858 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31859
c385bfc3 318602009-08-24 Colin Watson <cjwatson@ubuntu.com>
31861
31862 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31863 `report' grub_uint8_t *.
31864 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31865 Use a 50-millisecond timeout rather than just repeating
31866 grub_usb_keyboard_getreport 50 times.
31867 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31868
2d21e3e8 318692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31870
31871 Rename *_partition_map to part_*
31872
31873 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31874 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31875 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31876 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31877 All users updated.
31878 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31879 All users updated.
31880 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31881 * util/grub-probe.c (probe_partmap): Don't transform partition name
31882 to get module name.
31883
dd103c4e 318842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31885
31886 Fix OpenBSD and NetBSD support.
31887
31888 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31889 memory address conflict.
31890 (OPENBSD_MMAP_ACPI): New definition.
31891 (OPENBSD_MMAP_NVS): Likewise.
31892 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31893 and OPENBSD_MMAP_NVS.
31894 Add memory map terminator
31895 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31896 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31897
16c84d74 318982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31899
31900 Let user specify NetBSD root device.
31901
31902 * loader/i386/bsd.c (netbsd_root): New variable.
31903 (netbsd_opts): New option 'root'.
31904 (NETBSD_ROOT_ARG): New macro.
31905 (grub_netbsd_boot): Use 'netbsd_root'.
31906 (grub_bsd_unload): Free 'netbsd_root'.
31907 (grub_cmd_netbsd): Fill 'netbsd_root'.
31908
adb29902 319092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31910
31911 Support for 64-bit NetBSD.
31912
31913 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31914 point when booting non-FreeBSD.
31915
f5ae9f74 319162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31917
31918 Support --no-smp and --no-acpi for NetBSD.
31919
31920 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31921 (NETBSD_AB_NOACPI): Likewise.
31922 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31923 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31924
de74f136 319252009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31926
31927 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31928 errors.
31929 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31930 errors. Call grub_error when needed.
31931
e9a925da 319322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31933
31934 * commands/search.c (search_fs): Try searching without autoload first.
31935 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31936 filesystem module explicitly for faster booting.
31937
5174302b 319382009-08-23 Colin Watson <cjwatson@ubuntu.com>
31939
31940 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31941
c8c80635 319422009-08-23 Colin Watson <cjwatson@ubuntu.com>
31943
31944 * util/grub.d/30_os-prober.in: Disable os-prober if
31945 `GRUB_DISABLE_OS_PROBER' was set to true.
31946
71acf5e5 319472009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31948
31949 * partmap/pc.c: Rename to ...
31950 * partmap/msdos.c: ... this. Update all users.
31951 (grub_pc_partition_map): Rename to ...
31952 (grub_msdos_partition_map): ... this. Update all users.
31953
31954 * parttool/pcpart.c: Rename to ...
31955 * parttool/msdospart.c: ... this. Update all users.
31956
31957 * include/grub/pc_partition.h: Rename to ...
31958 * include/grub/msdos_partition.h: ... this. Update all users.
31959 (grub_pc_partition_bsd_entry): Rename to ...
31960 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31961 (grub_pc_partition_disk_label): Rename to ...
31962 (grub_msdos_partition_disk_label): ... this. Update all users.
31963 (grub_pc_partition_entry): Rename to ...
31964 (grub_msdos_partition_entry): ... this. Update all users.
31965 (grub_pc_partition_mbr): Rename to ...
31966 (grub_msdos_partition_mbr): ... this. Update all users.
31967 (grub_pc_partition): Rename to ...
31968 (grub_msdos_partition): ... this. Update all users.
31969 (grub_pc_partition_is_empty): Rename to ...
31970 (grub_msdos_partition_is_empty): ... this. Update all users.
31971 (grub_pc_partition_is_extended): Rename to ...
31972 (grub_msdos_partition_is_extended): ... this. Update all users.
31973 (grub_pc_partition_is_bsd): Rename to ...
31974 (grub_msdos_partition_is_bsd): ... this. Update all users.
31975
31976 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31977 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31978 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31979 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31980 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31981 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31982 (gpt_mod_LDFLAGS): Rename to ...
31983 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31984 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31985 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31986 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31987 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31988 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31989 (part_gpt_mod_LDFLAGS): ... this.
31990 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31991 `pcpart.mod' to `msdospart.mod'.
31992 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31993 to ...
31994 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31995 (msdospart_mod_LDFLAGS): ... this.
31996
c11fded5 319972009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31998
31999 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32000 (openbsd_opts): Likewise.
32001 (netbsd_opts): Likewise.
32002 (freebsd_flags): Added 0 terminator.
32003 (openbsd_flags): Likewise.
32004 (netbsd_flags): Likewise.
32005 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32006 (grub_cmd_freebsd): Transformed into extended command.
32007 (grub_cmd_openbsd): Likewise.
32008 (grub_cmd_netbsd): Likewise.
32009 (cmd_freebsd): Changed type to grub_extcmd_t.
32010 (cmd_openbsd): Likewise.
32011 (cmd_netbsd): Likewise.
32012 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32013 grub_cmd_openbsd as extended commands.
32014 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32015 cmd_netbsd and cmd_openbsd
32016
11d1c769 320172009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32018
32019 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32020
7a9094e5 320212009-08-21 Pavel Roskin <proski@gnu.org>
32022
5496c37e 32023 * Makefile.in (install-local): When checking if a file is in the
32024 build directory, use "test -e" to detect symlinks.
32025
7a9094e5 32026 * Makefile.in (install-local): Remove all files in
32027 $(DESTDIR)$(pkglibdir) before installing new files there.
32028
e53cea11 320292009-08-18 Felix Zielcke <fzielcke@z-51.de>
32030
32031 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32032 grub-mkelfimage.
32033
9aced544 320342009-08-18 Felix Zielcke <fzielcke@z-51.de>
32035
32036 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32037 explicitly specified by the user.
32038
b7da6bab 320392009-08-18 Pavel Roskin <proski@gnu.org>
32040
32041 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32042 grub_uint8_t pointer for data.
32043 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32044 Likewise.
32045 * video/fb/fbutil.c: Remove unnecessary casts.
32046
19f1b335 320472009-08-17 Michal Suchanek <hramrach@centrum.cz>
32048
32049 VBE cleanup.
32050
32051 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32052 (grub_vbe_set_video_mode): Save active mode info
32053 only after setting the mode.
32054 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32055 second argument.
32056
2f467aa9 320572009-08-17 Michal Suchanek <hramrach@centrum.cz>
32058
32059 Rename variables for clarity.
32060
32061 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32062 (active_vbe_mode_info): ... this. All users updated.
32063 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32064 All users updated.
32065 (initial_mode): Rename to ...
32066 (initial_vbe_mode): ... this. All users updated.
32067 (mode_in_use): Rename to ..
32068 (vbe_mode_in_use): ... this. All users updated.
32069 (mode_list): Rename to ..
32070 (vbe_mode_list): ... this. All users updated.
32071 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32072 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32073 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32074 'mode_list_size' to 'vbe_mode_list_size'.
32075 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32076 'best_mode_info' to 'best_vbe_mode_info' and
32077 'best_mode' to 'best_vbe_mode'
32078
6025fcd7 320792009-08-17 Michal Suchanek <hramrach@centrum.cz>
32080
32081 Remove duplicate grub_video_fb_get_video_ptr.
32082
32083 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32084 (grub_video_fb_get_video_ptr): ... this.
32085 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32086 * video/fb/fbutil.c: Add comment about addressing.
32087 (get_data_ptr): Rename to ...
32088 (grub_video_fb_get_video_ptr): ... this. All users updated.
32089 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32090
cc8c6faf 320912009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32092
32093 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32094 grub_dprintf() that was just added.
32095
08aa61f0 320962009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32097
32098 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32099 (DEFAULT_VIDEO_MODE): Remove macros.
32100 (grub_linux_boot): Remove assumption that Linux has FB support,
32101 and use "text" as default video mode.
32102
7cef4f75 321032009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32104
32105 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32106 grub_dprintf.
32107 * fs/fat.c (grub_fat_read_data): Likewise.
32108
e1f39873 321092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32110
32111 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32112 payload.
32113 (grub_module): Likewise.
32114
c166d79e 321152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32116
32117 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32118 mbi->cmdline but free playground.
32119
c60cee8e 321202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32121
32122 Handle group offset on UFS1.
32123
32124 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32125 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32126
c0d8b5d4 321272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32128
32129 Split ufs.mod into ufs1.mod and ufs2.mod.
32130
32131 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32132 (grub_fstest_SOURCES): Likewise.
32133 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32134 (ufs_mod_SOURCES): Remove.
32135 (ufs_mod_CFLAGS): Likewise.
32136 (ufs_mod_LDFLAGS): Likewise.
32137 (ufs1_mod_SOURCES): New variable.
32138 (ufs1_mod_CFLAGS): Likewise.
32139 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32140 (ufs2_mod_SOURCES): New variable.
32141 (ufs2_mod_CFLAGS): Likewise.
32142 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32143 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32144 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32145 Likewise.
32146 (grub_emu_SOURCES): Likewise.
32147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32148 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32149 (grub_setup_SOURCES): Likewise.
32150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32151 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32152 (grub_setup_SOURCES): Likewise.
32153 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32154 Likewise.
32155 * fs/ufs2.c: New file.
32156 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32157
d3539132 321582009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32159
32160 Framebuffer split.
32161
32162 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32163 subsystem at the end.
32164 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32165 (video_fb_mod_SOURCES): New variable.
32166 (video_fb_mod_CFLAGS): Likewise.
32167 (video_fb_mod_LDFLAGS): Likewise.
32168 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32169 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32170 * video/i386/pc/vbeblit.c: Moved from here ...
32171 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32172 * video/i386/pc/vbefill.c: Moved from here ...
32173 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32174 * video/i386/pc/vbeutil.c: Moved from here ...
32175 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32176 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32177 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32178 * include/grub/i386/pc/vbefill.h: Moved from here ...
32179 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32180 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32181 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32182 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32183 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32184 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32185 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32186 (grub_video_adapter): Added 'get_info_and_fini'.
32187 (grub_video_get_info_and_fini): New prototype.
32188 (grub_video_set_mode): make modestring const char *.
32189 * loader/i386/linux.c (grub_linux_setup_video): Use
32190 grub_video_get_info_and_fini.
32191 (grub_linux_boot): Move modesetting just before booting.
32192 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32193 grub_video_get_info_and_fini.
32194 * video/i386/pc/vbe.c: Moved framebuffer part ...
32195 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32196 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32197 grub_video_fbstd_colors and grub_video_fb_set_palette.
32198 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32199 grub_video_fb_init.
32200 (grub_video_vbe_fini): Use grub_video_fb_fini.
32201 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32202 render_target and use grub_video_fb_set_active_render_target and
32203 grub_video_fb_set_palette.
32204 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32205 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32206 (grub_video_vbe_adapter): Use framebuffer.
32207 * video/video.c (grub_video_get_info_and_fini): New function.
32208 (grub_video_set_mode): Make modestring const char *.
32209 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32210 values are already initialised.
32211
d404ee56 322122009-08-14 Pavel Roskin <proski@gnu.org>
32213
32214 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32215 ABS and APPLE_CC.
32216 * boot/i386/pc/diskboot.S: Likewise.
32217 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32218 sectors allow compilation on MacOSX.
32219 * conf/i386-pc.rmk: Enable unconditional compilation of
32220 lnxboot.img.
32221
9a10df16 322222009-08-13 Colin Watson <cjwatson@ubuntu.com>
32223
32224 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32225 * util/grub.d/00_header.in: Enter interruptible sleep if
32226 GRUB_HIDDEN_TIMEOUT is set.
32227
be3c9ca7 322282009-08-13 Yves Blusseau <blusseau@zetam.org>
32229
32230 * include/grub/symbol.h: Add the LOCAL macro.
32231 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32232 starting with "L_".
32233
1f9e557e 322342009-08-13 Pavel Roskin <proski@gnu.org>
32235
9ca62843 32236 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32237 any modern compilers we support.
32238
1f9e557e 32239 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32240 Use local labels starting with "L_" so that Apple assembler
32241 knows they are local.
32242
81623db6 322432009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32244
32245 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32246 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32247 (bsd_kernel_types): ... this enum.
32248
32249 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32250 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32251 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32252
32253 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32254 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32255 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32256 messages.
32257
f5d35e7a 322582009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32259
32260 * util/grub-dumpdevtree: Moved from here ...
32261 * util/i386/efi/grub-dumpdevtree: ... to here.
32262 (hexify): New function. Converts a string to its hex version.
32263 Generate hex versions of "efi" and "device-properties" by calling
32264 hexify() on the ASCII strings rather than by hardcoding numbers.
32265
d1e1d527 322662009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32267
32268 * fs/jfs.c: Update copyright year.
32269
1ebbe064 322702009-08-08 Felix Zielcke <fzielcke@z-51.de>
32271
32272 * util/grub.d/00_header.in: Fix a comment.
32273 * util/grub.d/10_linux.in: Likewise.
32274 * util/grub.d/10_windows.in: Likewise.
32275 * util/grub.d/10_hurd.in: Likewise.
32276
a78c8d24 322772009-08-08 Felix Zielcke <fzielcke@z-51.de>
32278
32279 * util/grub-mkconfig.in: Allow the user to specify the used font
32280 with GRUB_FONT.
32281
29a6b9e8 322822009-08-08 Pavel Roskin <proski@gnu.org>
32283
b5f16cc4 32284 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32285 available, xfs.mod needs it now.
32286
2f5cb827 32287 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32288 the "g" modifier in sed when the intention is to strip something
32289 once. This fixes comparison of kernels with multiple dashes.
32290
29a6b9e8 32291 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32292 on it. Add missing space before closing bracket. Fix
32293 misleading formatting.
32294
892a3d98 322952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32296
32297 * docs/grub.texi: Major overhaul. Remove all sections that are
32298 specific to GRUB Legacy, or mostly composed of Legacy-specific
32299 information.
32300
ed94253f 323012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32302
32303 * docs/version.texi: New file. Provides version information for
32304 grub.texi.
32305
126d6628 323062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32307
32308 * docs/grub.texi: Update CVS information to SVN.
32309 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32310
998b5aa9 323112009-08-07 Felix Zielcke <fzielcke@z-51.de>
32312
32313 * util/grub-mkconfig.in: Remove a wrong `fi'.
32314
818e094a 323152009-08-07 Felix Zielcke <fzielcke@z-51.de>
32316
32317 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32318 (grub_jfs_uuid): New function.
32319 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32320
b969c52f 323212009-08-07 Felix Zielcke <fzielcke@z-51.de>
32322
32323 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32324 of it to ...
32325 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32326 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32327
7a4894cc 323282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32329
32330 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32331 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32332 Update all users.
32333
32334 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32335 not just "vmlinu[zx]".
32336 Moved from here ...
32337 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32338 all users.
32339
32340 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32341 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32342 all users.
32343
4e2171f8 323442009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32345
32346 * util/grub.d/10_freebsd.in: Use an absolute device path for
32347 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32348
6dcfcb32 323492009-08-06 Felix Zielcke <fzielcke@z-51.de>
32350
32351 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32352 handling of multiple abstraction modules.
32353
f56a8756 323542009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32355
32356 Fix a bug resulting in black screen when loading Linux using a
32357 packed video mode.
32358
32359 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32360 function.
32361
32362 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32363 (grub_vbe_bios_getset_dac_palette_width): New function.
32364 (grub_vbe_bios_get_dac_palette_width)
32365 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32366 grub_vbe_bios_getset_dac_palette_width()).
32367
32368 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32369 check for return status.
32370 (grub_vbe_get_video_mode_info): When getting information for a packed
32371 mode (<= 8 bpp), obtain DAC palette width using
32372 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32373 {red,green,blue}_mark_size.
32374
222671b2 323752009-08-04 Felix Zielcke <fzielcke@z-51.de>
32376
ecb1a6d9 32377 * commands/search.c (options): Fix help output to match actual code.
222671b2 32378
f84114f5 323792009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32380
32381 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32382 of homegrown code.
32383
bd288a20 323842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32385
32386 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32387 on XFS or ReiserFS.
32388
8aab5e25 323892009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32390
32391 Support Apple partition map with sector size different from 512 bytes.
32392
32393 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32394 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32395 and 'apart.partmap_size'.
32396
6ad6258a 323972009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
323982009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32399
32400 Fix cpuid command.
32401
32402 * commands/i386/cpuid.c (options): New variable.
32403 (grub_cmd_cpuid): Return real error.
32404 (GRUB_MOD_INIT(cpuid)): Declare options.
32405
67459bc6 324062009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32407
32408 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32409 valid.
32410
fbc6ab54 324112009-07-31 Bean <bean123ch@gmail.com>
32412
32413 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32414 log2_inode.
32415 (grub_fshelp_node): Move inode field to the end.
32416 (grub_xfs_data): Remove inode field.
32417 (grub_xfs_inode_block): Calculate inode size using sblock.
32418 (grub_xfs_inode_offset): Likewise.
32419 (grub_xfs_read_inode): Calculate inode size using sblock.
32420 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32421 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32422 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32423 to match inode size.
32424 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32425 not accessible when data is null.
32426 (grub_xfs_open): Likewise.
32427
f45d6cfc 324282009-07-31 Bean <bean123ch@gmail.com>
32429
32430 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32431 Don't change pv->disk if it's already set.
32432
32433 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32434 (grub_raid_register): ... here.
32435 (grub_raid_rescan): Removed.
32436
32437 * include/grub/raid.h (grub_raid_rescan): Removed.
32438
32439 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32440 (fstest): Replace grub_raid_rescan with module fini function followed
32441 by init function.
32442
32443 * util/grub-probe.c: Add include file <grub/raid.h>.
32444 (probe_raid_level): New function.
32445 (probe): Detect abstraction by walking the disk device, support two
32446 level of abstraction (LVM on RAID) when detecting partition map.
32447
24443b5a 324482009-07-31 Pavel Roskin <proski@gnu.org>
32449
32450 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32451 to grub_zalloc(), it was erroneous.
32452 Reported by Bean <bean123ch@gmail.com>
32453
a275d9e7 324542009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32455
32456 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32457 embedding zone, not only the first one.
a275d9e7 32458
56c5a47f 324592009-07-29 Joe Auricchio <jauricchio@gmail.com>
32460
32461 * term/gfxterm.c (clear_char): New function.
32462 (grub_virtual_screen_setup): Use clear_char.
32463 (scroll_up): Likewise.
32464 (grub_virtual_screen_cls): Likewise.
32465
67bb323a 324662009-07-29 Felix Zielcke <fzielcke@z-51.de>
32467
32468 * util/deviceiter.c (get_acceleraid_disk_name): New static
32469 function.
32470 (grub_util_iterate_devices): Handle Accelraid devices.
32471 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32472
388a7c75 324732009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32474
32475 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32476 separator for the suggested gfxpayload string (';' collides with the
32477 parser and needs escaping).
32478
3bb7abcf 324792009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32480
32481 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32482 Clear direction flag before jumping to OS.
32483 (grub_multiboot2_real_boot): Likewise.
32484
2ddd36d7 324852009-07-28 Felix Zielcke <fzielcke@z-51.de>
32486
32487 * util/i386/pc/grub-install: Fix parsing of --disk-module
32488 option.
32489
c521b62b 324902009-07-28 Felix Zielcke <fzielcke@z-51.de>
32491
32492 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32493 when embedding.
32494
880e0a0c 324952009-07-26 Felix Zielcke <fzielcke@z-51.de>
32496
32497 * util/grub-mkconfig.in (package_version): New variable.
32498 Use it do display the version.
32499
2366e356 325002009-07-25 Felix Zielcke <fzielcke@z-51.de>
32501
32502 * kern/file.c (grub_file_open): Revert to previous check with
32503 grub_errno.
32504
7ad8c80e 325052009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32506
32507 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32508 from help line. It's out of sync with code.
32509
72b9658b 325102009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32511
32512 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32513 entries on failed boot.
32514
77435277 325152009-07-25 Felix Zielcke <fzielcke@z-51.de>
32516
32517 * kern/file.c (grub_file_open): Fix an error check.
32518
fcaa8b21 325192009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32520
35d16c74 32521 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32522 partition map couldn't be identified.
fcaa8b21 32523
48904cd1 325242009-07-23 Pavel Roskin <proski@gnu.org>
32525
ef3c317f 32526 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32527 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32528 case of little endian words becomes just an optimization.
32529 Respect const modifier.
ad8ea1f4 32530 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32531
48904cd1 32532 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32533 to avoid loss of upper bits if align is unsigned and shorter
32534 than addr.
32535
260c9a89 325362009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32537
32538 UUID support for UFS
32539
32540 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32541 (grub_ufs_uuid): New function.
32542 (grub_ufs_fs): add .uuid
32543
f76ce889 325442009-07-21 Pavel Roskin <proski@gnu.org>
32545
32546 * kern/dl.c (grub_dl_check_header): Make static.
32547
6a6cbcaf 325482009-07-21 Felix Zielcke <fzielcke@z-51.de>
32549
32550 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32551 add drivemap for Vista. It breaks Windows 7.
32552
cffcddb2 325532009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32554
32555 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32556 128 bytes
32557
1ef44b80 325582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32559
32560 Add BFS support
32561
32562 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32563 (grub_fstest_SOURCES): Likewise.
32564 (pkglib_MODULES): Add befs.mod.
32565 (befs_mod_SOURCES): New variable.
32566 (befs_mod_CFLAGS): Likewise.
32567 (befs_mod_LDFLAGS): Likewise.
32568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32569 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32570 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32571 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32572 (grub_setup_SOURCES): Likewise.
32573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32575 (grub_setup_SOURCES): Likewise.
32576 * fs/befs.c: New file.
32577 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32578 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32579 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32580 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32581 (B_KEY_INDEX_ALIGN): New declaration.
32582 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32583 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32584 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32585 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32586 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32587 (grub_afs_mount) [MODE_BFS]: Likewise.
32588 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32589 (grub_afs_fs): Use GRUB_AFS_FSNAME
32590 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32591 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32592 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32593 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32594
4f253044 325952009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32596
32597 * util/getroot.c (find_root_device): Add support for MacOSX.
32598 * util/hostdisk.c: Likewise.
32599
57a55913 326002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32601
32602 * font/font.c (find_glyph): Check whether a font is present to avoid
32603 segmentation fault.
75421ca9 32604
326052009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32606
32607 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32608
e98cd0c2 326092009-07-20 Pavel Roskin <proski@gnu.org>
32610
32611 * configure.ac: Trim excessively wordy excuses.
32612
1d2d169a 326132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32614
32615 Add symlink, mtime and label support to AtheFS.
32616
32617 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32618 (grub_afs_iterate_dir): Handle symlinks.
32619 (grub_afs_open): Use grub_afs_read_symlink.
32620 (grub_afs_dir): Likewise.
32621 Pass mtime.
32622 (grub_afs_label): New function.
32623 (grub_afs_fs): Add grub_afs_label.
32624 (grub_afs_read_symlink): New function.
32625
186f3189 326262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32627
32628 Fix AtheFS support.
32629
32630 * fs/afs.c: Fix comments style.
32631 (grub_afs_blockrun): Declare as packed.
32632 (grub_afs_datastream): Likewise.
32633 (grub_afs_bnode): Likewise.
32634 (grub_afs_btree): Likewise.
32635 (grub_afs_sblock): Likewise.
32636 Declare `name' as char.
32637 (grub_afs_inode): Declare as packed.
32638 Change void *vnode to grub_uint32_t unused.
32639 (grub_afs_iterate_dir): Check that key_size is positive.
32640 (grub_afs_mount): Don't read superblock twice.
75421ca9 32641 (grub_afs_dir): Don't free node in case of error,
186f3189 32642 grub_fshelp_find_file already handles this.
32643 (grub_afs_open): Likewise.
32644
5680109e 326452009-07-19 Pavel Roskin <proski@gnu.org>
32646
32647 * Makefile.in: Remove LIBLZO and enable_lzo.
32648 * conf/i386-pc.rmk: Remove lzo support.
32649 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32650 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32651 support.
32652 * kern/i386/pc/lzo1x.S: Remove.
32653 * kern/i386/pc/startup.S: Remove lzo support.
32654 * util/i386/pc/grub-mkimage.c: Likewise.
32655
ac70fa32 326562009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32657
32658 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32659 * fs/xfs.c (grub_xfs_dir): Likewise.
32660 * fs/afs.c (grub_afs_dir): Likewise.
32661 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32662 (grub_iso9660_open): Likewise.
32663 * fs/jfs.c (grub_jfs_open): Likewise.
32664 * fs/ext2.c (grub_ext2_dir): Likewise.
32665 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32666 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32667
eab58da2 326682009-07-16 Pavel Roskin <proski@gnu.org>
32669
d2838156 32670 * configure.ac: Never add "-c" to CFLAGS.
32671
55c70904 32672 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32673
43e6200c 32674 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32675 grub_cv_cc_efiemu should be used.
32676
ce7a733d 32677 * configure.ac: Typo fixes.
32678
eab58da2 32679 * kern/mm.c (grub_zalloc): New function.
32680 (grub_debug_zalloc): Likewise.
32681 * include/grub/mm.h: Declare grub_zalloc() and
32682 grub_debug_zalloc().
32683 * util/misc.c (grub_zalloc): New function.
32684 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32685 instead of grub_malloc(), remove unneeded initializations.
32686 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32687 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32688 * commands/parttool.c (grub_cmd_parttool): Likewise.
32689 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32690 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32691 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32692 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32693 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32694 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32695 (grub_cmd_efiemu_pnvram): Likewise.
32696 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32697 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32698 (grub_iso9660_iterate_dir): Likewise.
32699 * fs/jfs.c (grub_jfs_opendir): Likewise.
32700 * fs/ntfs.c (list_file): Likewise.
32701 (grub_ntfs_mount): Likewise.
32702 * kern/disk.c (grub_disk_open): Likewise.
32703 * kern/dl.c (grub_dl_load_core): Likewise.
32704 * kern/elf.c (grub_elf_file): Likewise.
32705 * kern/env.c (grub_env_context_open): Likewise.
32706 (grub_env_set): Likewise.
32707 (grub_env_set_data_slot): Likewise.
32708 * kern/file.c (grub_file_open): Likewise.
32709 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32710 * loader/i386/multiboot.c (grub_module): Likewise.
32711 * loader/xnu.c (grub_xnu_create_key): Likewise.
32712 (grub_xnu_create_value): Likewise.
32713 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32714 (read_config_file): Likewise.
32715 * normal/menu_entry.c (make_screen): Likewise.
32716 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32717 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32718 * script/sh/script.c (grub_script_parse): Likewise.
32719 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32720 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32721 * video/readers/png.c (grub_png_output_byte): Likewise.
32722 (grub_video_reader_png): Likewise.
32723
830afef7 327242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32725
32726 Enable all targets that can be built by default
32727
830afef7 32728 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32729 grub-mkfont and grub-fstest if they can be built
32730
ee293aee 327312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32732
32733 Fix hang and segmentation fault in grub-emu-usb
32734
32735 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32736 * util/usb.c (grub_libusb_devices): likewise
32737 (grub_libusb_init): rename to ...
32738 (GRUB_MOD_INIT (libusb)):...this
32739 (grub_libusb_fini): rename to ..
32740 (GRUB_MOD_FINI (libusb)):...this
32741 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32742 * include/grub/disk.h (grub_raid_init): removed, it's useless
32743 (grub_raid_fini): likewise
32744 (grub_lvm_init): likewise
32745 (grub_lvm_fini): likewise
32746 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32747 by grub_init_all
32748
94414221 327492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32750
32751 Fix libusb
32752
32753 * Makefile.in (LIBUSB): new macro
32754 * genmk.rb (Utility/print_tail): new method
32755 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32756 (top level): call util.print_tail at the end.
32757
59ade63d 327582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32759
32760 Make FreeBSD accept zpool.cache
32761
32762 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32763 type is /boot/zfs/zpool.cache
32764
a58da8c7 327652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32766
32767 Fix 64-bit efiemu
32768
32769 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32770 correct wrong typedef
32771 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32772
20591577 327732009-07-15 Pavel Roskin <proski@gnu.org>
32774
560ca572 32775 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32776 * kern/disk.c (struct grub_disk_cache): Likewise.
32777
e8e8e4fd 32778 * commands/probe.c (options): Typo fix.
32779
fde24e10 32780 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32781 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32782 accordingly.
32783 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32784
379c54c1 32785 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32786 the end of "Error" to make the message more readable.
32787
7bd8f5bf 32788 * boot/i386/pc/boot.S (kernel_segment): Remove.
32789 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32790 for destination.
32791
40b132c5 32792 * boot/i386/pc/boot.S (boot_version): Remove.
32793 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32794 Remove.
32795
20591577 32796 * include/grub/i386/pc/boot.h: Sort all offsets.
32797 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32798 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32799 * boot/i386/pc/boot.S: Assert location of every offset listed in
32800 include/grub/i386/pc/boot.h.
32801
2df32b2c 328022009-07-13 Pavel Roskin <proski@gnu.org>
32803
44b5d879 32804 * include/grub/i386/coreboot/machine.h: Rename
32805 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32806 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32807 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32808
17dc3751 32809 * kern/dl.c: Force native word size to suppress warnings when
32810 compiling grub-emu.
32811
2df32b2c 32812 * kern/device.c (grub_device_iterate): Change struct part_ent to
32813 hold the name, not a pointer to it. Use one grub_malloc() per
32814 partition, not two. Free partition_name if grub_malloc() fails.
32815 Set ents to NULL only before grub_partition_iterate() is called.
32816
75c59f59 328172009-07-11 Bean <bean123ch@gmail.com>
32818
32819 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32820 childname.
32821
0ae1bf88 328222009-07-10 Bean <bean123ch@gmail.com>
328232009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32824
32825 * kern/ieee1275/openfw.c (grub_children_iterate)
32826 (grub_devalias_iterate): Fix size evaluation for property or path
32827 strings, which was broken since r2132.
32828
8279cade 328292009-07-07 Pavel Roskin <proski@gnu.org>
32830
7d8a52d3 32831 * commands/search.c (search_file): Merge into ...
32832 (search_fs): ... this. Accept search type as argument.
32833 (grub_cmd_search): Pass search type to search_fs().
32834
25f9a05a 32835 * include/grub/util/console.h: New file.
32836 * util/console.c: Use it instead of grub/machine/console.h.
32837 * util/grub-emu.c: Likewise.
32838
8279cade 32839 * lib/arg.c (find_long_option): Remove.
32840 (find_long): Add `len' argument, make `s' const char *.
32841 (grub_arg_parse): Parse long options in place, not in a
32842 temporary buffer.
32843
4a11b60f 328442009-07-06 Pavel Roskin <proski@gnu.org>
32845
99f68041 32846 * commands/search.c (search_fs): Fix potential NULL pointer
32847 dereference.
32848
4a11b60f 32849 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32850 function pointer.
32851
e110f4de 328522009-07-06 Daniel Mierswa <impulze@impulze.org>
32853
32854 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32855 comparison.
32856
46eeb6a2 328572009-07-05 Pavel Roskin <proski@gnu.org>
32858
bab74958 32859 * include/grub/i386/linux.h (struct linux_kernel_params):
32860 Restore padding3, it's still needed.
32861
46eeb6a2 32862 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32863 FreeBSD.
32864 * util/osdetect.lua: Likewise.
32865
b4a1dc79 328662009-07-05 Bean <bean123ch@gmail.com>
32867
32868 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32869
32870 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32871 (grub_lua_getenv): Likewise.
32872 (grub_lua_setenv): Likewise.
32873 (save_errno): New function.
32874 (push_result): Likewise.
32875 (grub_lua_enum_device): Likewise.
32876 (grub_lua_enum_file): Likewise.
32877 (grub_lua_file_open): Likewise.
32878 (grub_lua_file_close): Likewise.
32879 (grub_lua_file_seek): Likewise.
32880 (grub_lua_file_read): Likewise.
32881 (grub_lua_file_getline): Likewise.
32882 (grub_lua_file_getsize): Likewise.
32883 (grub_lua_file_getpos): Likewise.
32884 (grub_lua_file_eof): Likewise.
32885 (grub_lua_file_exist): Likewise.
32886 (grub_lua_add_menu): Likewise.
32887
32888 * script/lua/grub_lua.h (isupper): New inline function.
32889 (islower): Likewise.
32890 (ispunct): Likewise.
32891 (isxdigit): Likewise.
32892 (strcspn): Change to normal function.
32893 (strpbkr): New function declaration.
32894 (memchr): Likewise.
32895
32896 * script/lua/grub_main.c (scan_str): New function.
32897 (strcspn): Likewise.
32898 (strpbrk): Likewise.
32899 (memchr): Likewise.
32900
32901 * script/lua/linit.c (lualibs): Enable the string library.
32902
32903 * util/osdetect.lua: New file.
32904
2da92295 329052009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32906
32907 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32908 `capabilities' member.
32909
b2582ec9 329102009-07-02 Pavel Roskin <proski@gnu.org>
32911
32912 * genparttoollist.sh: Add missing newline at the end.
32913
32622956 329142009-07-01 Pavel Roskin <proski@gnu.org>
32915
87a7339e 32916 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32917
d23af54e 32918 * util/hostdisk.c (open_device): Remove `const' from
32919 `sysctl_size', as sysctlbyname() can change it (in this case it
32920 doesn't actually happen).
32921
c94b18a9 32922 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32923 using signed long int constants.
32924
c6cd3ef0 32925 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32926 constant to avoid a warning on FreeBSD.
32927
0df63420 32928 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32929 where it's needed.
32930
999577f1 32931 * Makefile.in: Install include/grub/machine symlink.
32932
6f41557f 32933 * Makefile.in: When installing symlinks, use "cp -fR", which
32934 works on FreeBSD and MacOSX.
32935 From Yves Blusseau <cl7m42e02@sneakemail.com>
32936
c8d22988 32937 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32938 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32939
1b96e952 32940 * util/misc.c: Move grub_reboot() and grub_halt() ...
32941 * util/grub-emu.c: ... here. Make main_env static.
32942 * include/grub/util/misc.h: Remove main_env.
32943
2ef0084d 32944 * kern/mm.c: Use correct format to print size_t.
32945
32622956 32946 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32947 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32948 * kern/powerpc/dl.c: Likewise.
32949 * kern/sparc64/dl.c: Likewise.
32950 * kern/x86_64/dl.c: Likewise.
32951
3f7f0cd0 329522009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32953
32954 Fix grub-emu build on sparc64-ieee1275.
32955
75421ca9 32956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32958
211d06b5 329592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32960
32961 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32962 (grub_reboot, grub_halt): New functions.
32963
32964 * util/i386/pc/misc.c: Delete. Update all users.
32965 * util/sparc64/ieee1275/misc.c: Likewise.
32966 * util/powerpc/ieee1275/misc.c: Likewise.
32967
aaf53e3c 329682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * conf/i386.rmk (setjmp_mod_SOURCES)
32971 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32972 * conf/common.rmk (setjmp_mod_SOURCES)
32973 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32974 to use $(target_cpu).
32975 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32976 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32977 * conf/powerpc-ieee1275.rmk: Likewise.
32978 * conf/sparc64-ieee1275.rmk: Likewise.
32979
32980 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32981 $(target_cpu) for kern/$(target_cpu)/dl.c.
32982 * conf/i386-efi.rmk: Likewise.
32983 * conf/i386-ieee1275.rmk: Likewise.
32984 * conf/x86_64-efi.rmk: Likewise.
32985 * conf/i386-coreboot.rmk: Likewise.
32986 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32987 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32988 kern/$(target_cpu)/cache.S.
32989 * conf/sparc64-ieee1275.rmk: Likewise.
32990
a337130b 329912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32992
32993 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32994 type to `grub_uint8_t', and adjust `padding9' accordingly.
32995
c6fe4d53 329962009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32997
b09db61d 32998 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32999
c6fe4d53 33000 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33001 assembly in final jump, using register constraints.
33002
b09db61d 33003 (grub_linux_boot): For text mode, initialize `have_vga' using
33004 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33005
33006 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33007 right before the final jump.
33008
33009 Set `video_mode' to 0x3.
33010
33011 Document initialization of `video_page', `video_mode' and
33012 `video_ega_bx'.
33013
28333ad0 330142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33015
33016 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33017 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33018 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33019
02164e1b 330202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33021
33022 Fix build on Debian / sparc.
33023
33024 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33025
18b6c557 330262009-06-28 Pavel Roskin <proski@gnu.org>
33027
85f2aab6 33028 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33029 fix a warning.
33030
18b6c557 33031 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33032
ad760f81 330332009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33036 `err'.
33037
87a4623b 330382009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 Revert r2338.
33041
33042 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33043 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33044 grub_errno / grub_errmsg appropriately.
87a4623b 33045 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33046
8231fb77 330472009-06-27 Pavel Roskin <proski@gnu.org>
330482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * include/grub/dl.h: Include grub/elf.h.
33051 (struct grub_dl): Add symtab field.
33052 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33053 GRUB_MODULES_MACHINE_READONLY.
33054 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33055 of the header for read-only modules.
33056 (grub_dl_unload): Free mod->symtab for read-only modules.
33057 * kern/i386/dl.c: Use mod->symtab.
33058 * kern/powerpc/dl.c: Likewise.
33059 * kern/sparc64/dl.c: Likewise.
33060 * kern/x86_64/dl.c: Likewise.
33061
33062 * conf/i386-qemu.rmk: New file.
33063 * kern/i386/qemu/startup.S: Likewise.
33064 * kern/i386/qemu/mmap.c: Likewise.
33065 * boot/i386/qemu/boot.S: Likewise.
33066 * include/grub/i386/qemu/time.h: Likewise.
33067 * include/grub/i386/qemu/serial.h: Likewise.
33068 * include/grub/i386/qemu/kernel.h: Likewise.
33069 * include/grub/i386/qemu/console.h: Likewise.
33070 * include/grub/i386/qemu/boot.h: Likewise.
33071 * include/grub/i386/qemu/init.h: Likewise.
33072 * include/grub/i386/qemu/machine.h: Likewise.
33073 * include/grub/i386/qemu/loader.h: Likewise.
33074 * include/grub/i386/qemu/memory.h: Likewise.
33075
33076 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33077 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33078 [qemu] (pkglib_IMAGES): Add `boot.img'.
33079 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33080 [qemu] (boot_img_FORMAT): New variables.
33081 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33082 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33083 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33084 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33085 [qemu] (kernel_img_FORMAT): New variables.
33086
33087 * configure.ac: Recognise `i386-qemu'.
33088
33089 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33090 (for no compression).
33091 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33092 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33093 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33094 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33095 ifdefs).
33096
97fe384e 330972009-06-27 Pavel Roskin <proski@gnu.org>
33098
33099 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33100 read.
33101 * efiemu/prepare32.c: Likewise.
33102 * efiemu/prepare64.c: Likewise.
33103
c402ab17 331042009-06-26 Pavel Roskin <proski@gnu.org>
33105
33106 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33107 * include/grub/elf.h: Define symbols without "32" or "64" based
33108 on GRUB_TARGET_WORDSIZE.
33109 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33110 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33111 ELF definitions.
33112 * efiemu/loadcore64.c: Likewise.
33113 * loader/i386/bsd32.c: Likewise.
33114 * loader/i386/bsd64.c: Likewise.
33115 * kern/dl.c: Remove own ELF definitions.
33116 * util/i386/efi/grub-mkimage.c: Likewise.
33117
9bbdfd4d 331182009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33119
33120 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33121 segment 0x0 unconditionally, because the reference generated by
33122 GAS is an absolute address.
33123
a42ce6e9 331242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33125
33126 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33127 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33128
c952cf92 331292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33132 indexes. Check for -f explicitly.
cc3752ad 33133 (search_file): Improve error message.
33134 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33135
132a0a59 331362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33139 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33140
387a140c 331412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33142
33143 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33144 * conf/i386-ieee1275.rmk: Likewise.
33145 * conf/i386-coreboot.rmk: Likewise.
33146
33147 * kern/i386/pc/startup.S (grub_stop): Remove function.
33148 * kern/i386/ieee1275/startup.S: Likewise.
33149 * kern/i386/coreboot/startup.S: Likewise.
33150 * kern/i386/misc.S (grub_stop): New function.
33151
41da9665 331522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33155 * kern/i386/realmode.S (real_to_prot): ... to here.
33156
bf337234 331572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33160 with `kernel.img'.
33161 (kernel_elf_SOURCES): Rename to ...
33162 (kernel_img_SOURCES): ... this.
33163 (kernel_elf_HEADERS): Rename to ...
33164 (kernel_img_HEADERS): ... this. Update all users.
33165 (kernel_elf_ASFLAGS): Rename to ...
33166 (kernel_img_ASFLAGS): ... this.
33167 (kernel_elf_CFLAGS): Rename to ...
33168 (kernel_img_CFLAGS): ... this.
33169 (kernel_elf_LDFLAGS): Rename to ...
33170 (kernel_img_LDFLAGS): ... this.
33171 * conf/i386-coreboot.rmk: Likewise.
33172 * conf/powerpc-ieee1275.rmk: Likewise.
33173
33174 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33175 with "kernel.img".
33176
f52196ff 331772009-06-21 Pavel Roskin <proski@gnu.org>
33178
c3cee413 33179 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33180 to match nested functions.
33181 * loader/sparc64/ieee1275/linux.c: Likewise.
33182
f52196ff 33183 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33184
58750afc 331852009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33186
33187 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33188 all i386 platforms.
33189
15355c7d 331902009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33191
33192 Fix asm file handling on ELF, and remove workarounds.
33193
33194 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33195 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33196 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33197 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33198
3f3ec72b 331992009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33200
33201 Load BSD ELF modules
33202
33203 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33204 and loader/i386/bsd64.c
33205 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33206 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33207 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33208 (grub_freebsd_load_elfmodule32): New declaration
33209 (grub_freebsd_load_elfmoduleobj64): Likewise
33210 (grub_freebsd_load_elf_meta32): Likewise
33211 (grub_freebsd_load_elf_meta64): Likewise
33212 (grub_freebsd_add_meta): Likewise
33213 (grub_freebsd_add_meta_module): Likewise
33214 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33215 (grub_freebsd_add_meta_module): Likewise and move module-specific
33216 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33217 (grub_cmd_freebsd): Add elf-kernel specific parts
33218 based on grub_freebsd_add_meta_module
33219 (grub_cmd_freebsd_module): Add type parsing moved from
33220 grub_freebsd_add_meta_module
33221 (grub_cmd_freebsd_module_elf): New function
33222 (cmd_freebsd_module_elf): New variable
33223 (GRUB_MOD_INIT): Register freebsd_module_elf
33224 * loader/i386/bsd32.c: New file
33225 * loader/i386/bsd64.c: Likewise
33226 * loader/i386/bsdXX.c: Likewise
33227 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33228 (grub_elf64_load): Likewise
33229 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33230 All users updated
33231 (grub_elf64_load_hook_t): Likewise
33232
0db15301 332332009-06-21 Colin Watson <cjwatson@ubuntu.com>
33234
33235 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33236 variable.
33237 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33238 don't write a menu entry for recovery mode.
33239
546796c1 332402009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33241
33242 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33243 after it's no longer needed.
33244
cd7310d5 332452009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33246
33247 * include/grub/i386/loader.h (grub_linux_prot_size)
33248 (grub_linux_tmp_addr, grub_linux_real_addr)
33249 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33250 GRUB_MACHINE_PCBIOS.
33251 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33252 common grub_util_info() call to ...
33253 (generate_image): ... here.
33254 Fix use of uninitialized memory, comparison of signed with
33255 unsigned integers and memory leak.
33256 Remove bogus module address message.
33257
ab32d3b5 332582009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33259
33260 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33261 grub_raid_register
33262 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33263
024ef597 332642009-06-19 Pavel Roskin <proski@gnu.org>
33265
33266 * configure.ac: Remove stray AC_MSG_CHECKING.
33267
3ac72b51 332682009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33269
33270 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33271
e14cd814 332722009-06-18 Pavel Roskin <proski@gnu.org>
33273
33274 * conf/common.rmk: Add fs_file.mod.
33275 * disk/fs_file.c: New file.
33276 * include/grub/disk.h (enum grub_disk_dev_id): Add
33277 GRUB_DISK_DEVICE_FILE_ID.
33278
26586d98 332792009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33280
33281 Fix build with Apple's toolchain. Part 2
33282
33283 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33284 a fake start
33285
26de2bcd 332862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33287
33288 Fix build with Apple's toolchain. Part 1
33289
33290 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33291 for long calls
33292 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33293 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33294 Apple's toolchain
33295
09b3490b 332962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33297
33298 Fix warnings
33299
33300 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33301 (decomp_block): initialize ch
33302 use grub_memcpy instead of memcpy
33303
c22a006a 333042009-06-17 Pavel Roskin <proski@gnu.org>
33305
d3638678 33306 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33307 version, use declarations needed to use vga_text as the startup
33308 console.
33309
c22a006a 33310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33311 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33312 the kernel.
33313 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33314 and grub_at_keyboard_fini(), it's done on module load and
33315 unload.
33316
05b129e0 333172009-06-17 Felix Zielcke <fzielcke@z-51.de>
33318
33319 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33320 file can't be found.
33321 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33322
cf24ed9e 333232009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33324
33325 Fix newline handling
33326
33327 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33328 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33329 (grub_script_yylex): don't segfault on unterminated script
33330 newline terminates command and variable
33331
74aa8e4b 333322009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33333
33334 avoid double grub_adjust_range call. Bug reported by David Simner
33335
33336 * kern/disk.c (grub_disk_write): change to raw disk access before
33337 calling disk_read
33338
1bd265f3 333392009-06-17 Colin Watson <cjwatson@ubuntu.com>
33340
33341 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33342 spaces, for the benefit of help2man.
33343 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33344
a2d08c06 333452009-06-16 Pavel Roskin <proski@gnu.org>
33346
33347 * kern/i386/halt.c: Include grub/machine/init.h.
33348 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33349
b97bcb19 333502009-06-16 Felix Zielcke <fzielcke@z-51.de>
33351
33352 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33353 drivemap menuentry.
33354
0644f96c 333552009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33356
33357 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33358 `echo' command.
33359
3ef17a2e 333602009-06-16 Pavel Roskin <proski@gnu.org>
33361
33362 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33363 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33364 save %dx, we only need %dl and we never change it.
33365 * boot/i386/pc/cdboot.S: Don't set the root drive.
33366 * boot/i386/pc/pxeboot.S: Likewise.
33367 * include/grub/i386/pc/boot.h: Remove
33368 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33369 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33370 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33371 * kern/i386/pc/init.c (make_install_device): Remove references
33372 to grub_root_drive.
33373 * kern/i386/pc/startup.S: Likewise.
33374 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33375
693fe637 333762009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33377
33378 xnu_uuid command
33379
33380 * commands/xnu_uuid.c: new file
33381 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33382 (xnu_uuid_mod_SOURCES): new variable
33383 (xnu_uuid_mod_CFLAGS): likewise
33384 (xnu_uuid_mod_LDFLAGS): likewise
33385 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33386 * conf/i386-ieee1275.rmk: likewise
33387 * conf/i386-pc.rmk: likewise
33388 * conf/powerpc-ieee1275.rmk: likewise
33389 * conf/sparc64-ieee1275.rmk: likewise
33390 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33391
c9da87d0 333922009-06-16 Pavel Roskin <proski@gnu.org>
33393
33394 * configure.ac: Avoid '==' in test command, it's not portable.
33395
9c6f4596 333962009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33397
33398 Probe command
33399
33400 * commands/probe.c: new file
33401 * conf/common.rmk (pkglib_MODULES): add probe.mod
33402 (probe_mod_SOURCES): new variable
33403 (probe_mod_CFLAGS): likewise
33404 (probe_mod_LDFLAGS): likewise
33405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33406 * conf/i386-ieee1275.rmk: likewise
33407 * conf/i386-pc.rmk: likewise
33408 * conf/powerpc-ieee1275.rmk: likewise
33409 * conf/sparc64-ieee1275.rmk: likewise
33410
70b7f9fd 334112009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33412
33413 Fix handling of string like \"hello\" and "a
33414 b"
33415
33416 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33417 (grub_script_yylex): fix parsing of quoting, escaping and newline
33418
71c79a6b 334192009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33420
dd74360c 33421 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33422 handling
dd74360c 33423
0644f96c 334242009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33425
33426 * util/grub-mkconfig.in: Fix parsing of --output option.
33427
e40893c3 334282009-06-12 Pavel Roskin <proski@gnu.org>
33429
33430 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33431 genmk.rb don't need to be generated or installed.
33432
3a1acfe2 334332009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33434
33435 * commands/i386/pc/drivemap_int13h.S: add more comments
33436
3a4575d4 334372009-06-11 Pavel Roskin <proski@gnu.org>
33438
0658e928 33439 * Makefile.in (uninstall): Uninstall manuals.
33440
ca0388f0 33441 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33442 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33443 and update-grub_lib in two places.
33444 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33445
e3b27c39 33446 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33447 a compiler warning.
33448
3a4575d4 33449 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33450 `entry_lo' to fix variable shadowing.
33451
af1f4f55 334522009-06-11 Christian Franke <franke@computer.org>
33453
33454 * kern/misc.c (__enable_execute_stack): Add missing return type
33455 to prevent gcc warning.
33456
5225e649 334572009-06-11 Felix Zielcke <fzielcke@z-51.de>
33458
33459 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33460
7d83bd47 334612009-06-11 Pavel Roskin <proski@gnu.org>
33462
c1cb63ba 33463 * Makefile.in: Don't rely on any scripts being executable.
33464 Always use $(SHELL) to run shell scripts.
33465
7d83bd47 33466 * configure.ac: Always define ___main if using -nostdlib. This
33467 fixes tests on Cygwin.
33468
948f48e7 334692009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33470
33471 UDF fix
33472
7d83bd47 33473 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33474 is in bytes and not in blocks
7d83bd47 33475
8ada9bc1 334762009-06-11 Pavel Roskin <proski@gnu.org>
33477
33478 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33479 warning.
33480
25ad2323 334812009-06-11 Felix Zielcke <fzielcke@z-51.de>
33482
33483 * util/grub.d/30_os-prober.in: Fix a comment. Source
33484 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33485 to set the root device. Place drivemap command in the generated
33486 chain entry.
33487
e65acb0c 334882009-06-11 Pavel Roskin <proski@gnu.org>
33489
33490 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33491 have long been resolved.
33492
f285fe2d 334932009-06-11 Colin Watson <cjwatson@ubuntu.com>
33494
bd47b0b5 33495 * util/grub.d/10_linux.in: Capitalise "Linux".
33496
f285fe2d 33497 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33498
a0c62e4e 334992009-06-11 Pavel Roskin <proski@gnu.org>
33500
b6783cb2 33501 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33502 fix a gcc warning and ensure that the function won't ever exit.
33503
dde032e8 33504 * kern/i386/ieee1275/init.c: Add missing prototype for
33505 grub_stop_floppy().
33506
22cd079d 33507 * loader/ieee1275/multiboot2.c [__i386__]: Include
33508 grub/cpu/multiboot.h.
33509
a0c62e4e 33510 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33511 casts to short - they are not portable and cause warnings. Fix
33512 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33513
63963d17 335142009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33515
33516 Drivemap fixes
33517
33518 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33519 new function
33520 (grub_get_root_biosnumber_saved): new variable
33521 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33522 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33523 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33524 %dx after the call if necessary
33525 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33526 (boot_mod_SOURCES): remove
33527 (boot_mod_CFLAGS): remove
33528 (boot_mod_LDFLAGS): remove
33529 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33530 (boot_mod_SOURCES): new variable
33531 (boot_mod_CFLAGS): likewise
33532 (boot_mod_LDFLAGS): likewise
33533 * conf/i386-efi.rmk: likewise
33534 * conf/i386-ieee1275.rmk: likewise
33535 * conf/i386-pc.rmk: likewise
33536 * conf/powerpc-ieee1275.rmk: likewise
33537 * conf/sparc64-ieee1275.rmk: likewise
33538 * conf/x86_64-efi.rmk: likewise
33539 * include/grub/i386/pc/biosnum.h: new file
33540 * lib/i386/pc/biosnum.c: likewise
33541 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33542 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33543 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33544
33abf7ae 335452009-06-10 Pavel Roskin <proski@gnu.org>
33546
5ac35b35 33547 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33548 Use separate variables. Read only the file size at the end, but
33549 not the checksum that we don't use.
33550
5c5215d5 33551 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33552 Adjust all callers.
33553
27d5fef7 33554 * kern/ieee1275/openfw.c: Remove libc includes.
33555 * kern/ieee1275/cmain.c: Likewise.
33556 * include/grub/ieee1275/ieee1275.h: Likewise.
33557
33abf7ae 33558 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33559 compiler warnings.
33560
19d50c2b 335612009-06-10 Felix Zielcke <fzielcke@z-51.de>
33562
33563 * Makefile.in: Remove all trailing whitespace.
33564 * conf/i386-pc.rmk: Likewise.
33565 * conf/powerpc-ieee1275.rmk: Likewise.
33566 * conf/sparc64-ieee1275.rmk: Likewise.
33567 * docs/grub.texi: Likewise.
33568 * docs/texinfo.tex: Likewise.
33569 * disk/fs_uuid.c: Likewise.
33570 * disk/lvm.c: Likewise.
33571 * disk/scsi.c: Likewise.
33572 * disk/ata.c: Likewise.
33573 * disk/ieee1275/ofdisk.c: Likewise.
33574 * disk/i386/pc/biosdisk.c: Likewise.
33575 * disk/host.c: Likewise.
33576 * disk/raid.c: Likewise.
33577 * disk/efi/efidisk.c: Likewise.
33578 * disk/usbms.c: Likewise.
33579 * disk/memdisk.c: Likewise.
33580 * disk/loopback.c: Likewise.
33581 * kern/powerpc/dl.c: Likewise.
33582 * kern/device.c: Likewise.
33583 * kern/dl.c: Likewise.
33584 * kern/sparc64/dl.c: Likewise.
33585 * kern/ieee1275/ieee1275.c: Likewise.
33586 * kern/term.c: Likewise.
33587 * kern/fs.c: Likewise.
33588 * kern/i386/dl.c: Likewise.
33589 * kern/i386/pc/startup.S: Likewise.
33590 * kern/i386/pc/init.c: Likewise.
33591 * kern/i386/pc/mmap.c: Likewise.
33592 * kern/i386/pc/lzo1x.S: Likewise.
33593 * kern/i386/ieee1275/init.c: Likewise.
33594 * kern/i386/realmode.S: Likewise.
33595 * kern/i386/tsc.c: Likewise.
33596 * kern/partition.c: Likewise.
33597 * kern/corecmd.c: Likewise.
33598 * kern/file.c: Likewise.
33599 * kern/efi/efi.c: Likewise.
33600 * kern/efi/init.c: Likewise.
33601 * kern/efi/mm.c: Likewise.
33602 * kern/main.c: Likewise.
33603 * kern/err.c: Likewise.
33604 * kern/env.c: Likewise.
33605 * kern/disk.c: Likewise.
33606 * kern/generic/millisleep.c: Likewise.
33607 * kern/generic/rtc_get_time_ms.c: Likewise.
33608 * kern/misc.c: Likewise.
33609 * kern/parser.c: Likewise.
33610 * genmk.rb: Likewise.
33611 * configure.ac: Likewise.
33612 * boot/i386/pc/diskboot.S: Likewise.
33613 * boot/i386/pc/pxeboot.S: Likewise.
33614 * boot/i386/pc/boot.S: Likewise.
33615 * boot/i386/pc/lnxboot.S: Likewise.
33616 * boot/i386/pc/cdboot.S: Likewise.
33617 * parttool/pcpart.c: Likewise.
33618 * video/readers/tga.c: Likewise.
33619 * video/video.c: Likewise.
33620 * video/bitmap.c: Likewise.
33621 * lib/envblk.c: Likewise.
33622 * lib/i386/setjmp.S: Likewise.
33623 * fs/xfs.c: Likewise.
33624 * fs/afs.c: Likewise.
33625 * fs/fat.c: Likewise.
33626 * fs/ntfs.c: Likewise.
33627 * fs/udf.c: Likewise.
33628 * fs/affs.c: Likewise.
33629 * fs/iso9660.c: Likewise.
33630 * fs/hfs.c: Likewise.
33631 * fs/fshelp.c: Likewise.
33632 * fs/ext2.c: Likewise.
33633 * fs/jfs.c: Likewise.
33634 * fs/reiserfs.c: Likewise.
33635 * fs/hfsplus.c: Likewise.
33636 * fs/minix.c: Likewise.
33637 * fs/cpio.c: Likewise.
33638 * fs/sfs.c: Likewise.
33639 * fs/ufs.c: Likewise.
33640 * efiemu/prepare.c: Likewise.
33641 * efiemu/loadcore_common.c: Likewise.
33642 * efiemu/runtime/efiemu.sh: Likewise.
33643 * efiemu/runtime/efiemu.S: Likewise.
33644 * efiemu/runtime/efiemu.c: Likewise.
33645 * efiemu/pnvram.c: Likewise.
33646 * efiemu/main.c: Likewise.
33647 * efiemu/i386/pc/cfgtables.c: Likewise.
33648 * efiemu/i386/loadcore64.c: Likewise.
33649 * efiemu/i386/loadcore32.c: Likewise.
33650 * efiemu/loadcore.c: Likewise.
33651 * efiemu/symbols.c: Likewise.
33652 * efiemu/mm.c: Likewise.
33653 * include/grub/autoefi.h: Likewise.
33654 * include/grub/datetime.h: Likewise.
33655 * include/grub/term.h: Likewise.
33656 * include/grub/hfs.h: Likewise.
33657 * include/grub/lvm.h: Likewise.
33658 * include/grub/i386/tsc.h: Likewise.
33659 * include/grub/i386/linux.h: Likewise.
33660 * include/grub/i386/xnu.h: Likewise.
33661 * include/grub/i386/efiemu.h: Likewise.
33662 * include/grub/i386/pc/biosdisk.h: Likewise.
33663 * include/grub/i386/pc/memory.h: Likewise.
33664 * include/grub/i386/pc/vbe.h: Likewise.
33665 * include/grub/parttool.h: Likewise.
33666 * include/grub/video.h: Likewise.
33667 * include/grub/memory.h: Likewise.
33668 * include/grub/fs.h: Likewise.
33669 * include/grub/partition.h: Likewise.
33670 * include/grub/xnu.h: Likewise.
33671 * include/grub/efi/api.h: Likewise.
33672 * include/grub/efi/pe32.h: Likewise.
33673 * include/grub/efi/memory.h: Likewise.
33674 * include/grub/multiboot.h: Likewise.
33675 * include/grub/usbdesc.h: Likewise.
33676 * include/grub/multiboot2.h: Likewise.
33677 * include/grub/acpi.h: Likewise.
33678 * include/grub/efiemu/efiemu.h: Likewise.
33679 * include/grub/disk.h: Likewise.
33680 * include/grub/ieee1275/ieee1275.h: Likewise.
33681 * include/grub/net.h: Likewise.
33682 * include/grub/machoload.h: Likewise.
33683 * include/grub/macho.h: Likewise.
33684 * include/multiboot.h: Likewise.
33685 * genmoddep.awk: Likewise.
33686 * normal/main.c: Likewise.
33687 * normal/menu_entry.c: Likewise.
33688 * normal/menu_viewer.c: Likewise.
33689 * normal/completion.c: Likewise.
33690 * normal/cmdline.c: Likewise.
33691 * normal/misc.c: Likewise.
33692 * normal/datetime.c: Likewise.
33693 * bus/usb/usbtrans.c: Likewise.
33694 * bus/usb/ohci.c: Likewise.
33695 * bus/usb/uhci.c: Likewise.
33696 * bus/usb/usb.c: Likewise.
33697 * mmap/efi/mmap.c: Likewise.
33698 * mmap/i386/pc/mmap_helper.S: Likewise.
33699 * mmap/i386/pc/mmap.c: Likewise.
33700 * mmap/i386/mmap.c: Likewise.
33701 * mmap/i386/uppermem.c: Likewise.
33702 * mmap/mmap.c: Likewise.
33703 * commands/acpi.c: Likewise.
33704 * commands/echo.c: Likewise.
33705 * commands/blocklist.c: Likewise.
33706 * commands/loadenv.c: Likewise.
33707 * commands/usbtest.c: Likewise.
33708 * commands/boot.c: Likewise.
33709 * commands/parttool.c: Likewise.
33710 * commands/search.c: Likewise.
33711 * commands/cat.c: Likewise.
33712 * commands/i386/pc/play.c: Likewise.
33713 * commands/i386/pc/drivemap.c: Likewise.
33714 * commands/i386/pc/vbeinfo.c: Likewise.
33715 * commands/i386/pc/acpi.c: Likewise.
33716 * commands/i386/pc/vbetest.c: Likewise.
33717 * commands/ls.c: Likewise.
33718 * commands/cmp.c: Likewise.
33719 * commands/test.c: Likewise.
33720 * commands/efi/acpi.c: Likewise.
33721 * commands/gptsync.c: Likewise.
33722 * commands/help.c: Likewise.
33723 * partmap/amiga.c: Likewise.
33724 * partmap/apple.c: Likewise.
33725 * partmap/acorn.c: Likewise.
33726 * partmap/pc.c: Likewise.
33727 * partmap/sun.c: Likewise.
33728 * partmap/gpt.c: Likewise.
33729 * script/sh/lexer.c: Likewise.
33730 * script/sh/function.c: Likewise.
33731 * font/font.c: Likewise.
33732 * font/font_cmd.c: Likewise.
33733 * loader/powerpc/ieee1275/linux.c: Likewise.
33734 * loader/efi/chainloader.c: Likewise.
33735 * loader/multiboot_loader.c: Likewise.
33736 * loader/macho.c: Likewise.
33737 * loader/i386/multiboot.c: Likewise.
33738 * loader/i386/linux.c: Likewise.
33739 * loader/i386/pc/linux.c: Likewise.
33740 * loader/i386/pc/multiboot2.c: Likewise.
33741 * loader/i386/pc/chainloader.c: Likewise.
33742 * loader/i386/pc/xnu.c: Likewise.
33743 * loader/i386/bsd_trampoline.S: Likewise.
33744 * loader/i386/efi/linux.c: Likewise.
33745 * loader/i386/multiboot_elfxx.c: Likewise.
33746 * loader/i386/bsd_helper.S: Likewise.
33747 * loader/i386/bsd.c: Likewise.
33748 * loader/i386/linux_trampoline.S: Likewise.
33749 * loader/i386/xnu_helper.S: Likewise.
33750 * loader/i386/xnu.c: Likewise.
33751 * loader/i386/bsd_pagetable.c: Likewise.
33752 * loader/i386/multiboot_helper.S: Likewise.
33753 * loader/xnu.c: Likewise.
33754 * loader/xnu_resume.c: Likewise.
33755 * io/gzio.c: Likewise.
33756 * term/efi/console.c: Likewise.
33757 * term/terminfo.c: Likewise.
33758 * term/ieee1275/ofconsole.c: Likewise.
33759 * term/i386/pc/serial.c: Likewise.
33760 * term/i386/pc/vesafb.c: Likewise.
33761 * term/i386/pc/vga.c: Likewise.
33762 * term/usb_keyboard.c: Likewise.
33763 * term/gfxterm.c: Likewise.
33764 * aclocal.m4: Likewise.
33765 * util/lvm.c: Likewise.
33766 * util/grub.d/30_os-prober.in: Likewise.
33767 * util/grub.d/10_hurd.in: Likewise.
33768 * util/console.c: Likewise.
33769 * util/grub-macho2img.c: Likewise.
33770 * util/grub-probe.c: Likewise.
33771 * util/hostfs.c: Likewise.
33772 * util/i386/pc/grub-mkimage.c: Likewise.
33773 * util/i386/pc/grub-setup.c: Likewise.
33774 * util/i386/efi/grub-mkimage.c: Likewise.
33775 * util/grub-mkconfig.in: Likewise.
33776 * util/raid.c: Likewise.
33777 * util/resolve.c: Likewise.
33778 * util/grub-mkdevicemap.c: Likewise.
33779 * util/grub-emu.c: Likewise.
33780 * util/getroot.c: Likewise.
33781 * util/hostdisk.c: Likewise.
33782 * util/usb.c: Likewise.
33783 * util/grub-editenv.c: Likewise.
33784 * util/misc.c: Likewise.
33785
d2d49665 337862009-06-10 Felix Zielcke <fzielcke@z-51.de>
33787
33788 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33789 `genparttoollist.sh'.
33790 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33791 Add `*.sh' to the list find searches for and change `mdate.sh'
33792 to `mdate-sh'.
33793
fe052e37 337942009-06-10 Pavel Roskin <proski@gnu.org>
33795
2763ac18 33796 * include/grub/multiboot2.h: Provide compatibility defines for
33797 multiboot2.h.
33798 * include/multiboot2.h: Include stdint.h only if needed, using
33799 angle brackets.
33800 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33801 grub/multiboot2.h.
33802 * loader/ieee1275/multiboot2.c: Likewise.
33803 * loader/multiboot2.c: Likewise.
33804 * loader/multiboot_loader.c: Likewise.
33805
437e6adc 33806 * configure.ac: Use -nostdlib when probing for the target. It
33807 should not be required to have libc for the target.
33808
06a6836c 33809 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33810 they fail without libc headers for the target.
33811 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33812 exports.
33813 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33814 preprocessor conditionals.
33815
fe052e37 33816 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33817 build system doesn't need to be aware of the tar.c internals.
33818
afd22553 338192009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33820
afd22553 33821 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33822
6b787c4f 338232009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33824
33825 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33826 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33827
338282009-06-09 Felix Zielcke <fzielcke@z-51.de>
33829
33830 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33831 aren't available if ata.mod gets used.
6b787c4f 33832
473d1e45 338332009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33834
473d1e45 33835 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33836 initialising controller.
473d1e45 33837 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33838
255a27d4 338392009-06-08 Felix Zielcke <fzielcke@z-51.de>
33840
33841 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33842 to choose between ata and biosdisk module on i386-pc.
33843
473d1e45 338442009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33845
d55842d8 33846 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33847 Subclass and Programming Interface fields in terms of the 3 byte
33848 Class Code register.
33849 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33850
fa5db0b1 33851 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33852 interface is OHCI. Add grub_dprintf for symmetry with
33853 bus/usb/uhci.c.
33854 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33855 interface is UHCI. Add interf variable for programming
33856 interface. Print interface with class/subclass.
33857
c0947beb 33858 * bus/usb/ohci.c: Set interf with correct field.
33859
69da8877 33860 * bus/usb/uhci.c: Remove unneeded doubled lines.
33861 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33862 Remove whitespace inside comment.
33863
9e172e30 338642009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33865
33866 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33867 as fallback an equivalent option without depth.
33868
de65ee2b 338692009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33870
33871 Not fail if unable to retrieve C/H/S on LBA disks
33872
473d1e45 33873 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33874 if unable to retrieve C/H/S on LBA disks
33875
b57ea2c9 338762009-06-08 Pavel Roskin <proski@gnu.org>
33877
33878 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33879 about aliasing.
33880
af361263 338812009-06-08 Felix Zielcke <fzielcke@z-51.de>
33882
33883 * Makefile.in (uninstall): Remove all $lib_DATA files.
33884
4c9ec6b3 338852009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33886
33887 Bugfix: install on partitionless device
33888
33889 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33890 is a whole disk
33891
e76fc924 338922009-06-08 Felix Zielcke <fzielcke@z-51.de>
33893
33894 * Makefile.in (uninstall): Remove all $include_DATA files.
33895
ba5a0d05 338962009-06-08 Felix Zielcke <fzielcke@z-51.de>
33897
33898 * commands/true.c: New file. Implement the true and false commands.
33899 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33900 (true_mod_SOURCES): New variable.
33901 (true_mod_CFLAGS): Likewise.
33902 (true_mod_LDFLAGS): Likewise.
33903
c8048e32 339042009-06-05 Colin D Bennett <colin@gibibit.com>
33905
33906 Optimized font character lookup using binary search instead of linear
33907 search. Fonts now are required to have the character index ordered by
33908 code point.
33909
33910 * font/font.c (load_font_index): Verify that fonts have ordered
33911 character indices.
33912 (find_glyph): Use binary search instead of linear search to find a
33913 character in a font.
33914
408305be 339152009-06-05 Michael Scherer <misc@mandriva.org>
33916
33917 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33918 uses case sensitive btree.
33919 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33920 only for case insensitive filesystems.
33921
8ee1e0d9 339222009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33923
33924 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33925 * conf/common.rmk (search_mod_CFLAGS): likewise
33926
a9966eb1 339272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33928
473d1e45 33929 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33930 compensate a compiler bug
33931
9e7100fb 339322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33933
473d1e45 33934 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33935 instead of '\b'
473d1e45 33936
ede21d71 339372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33938
33939 Definitions for creating asm symbols with Apple's CC
33940
33941 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33942 [APPLE_CC] (VARIABLE): likewise
33943
9dbf7653 339442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33945
33946 Disable lnxboot.img when compiled
33947 with Apple's CC
33948
33949 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33950 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33951 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33952 [! APPLE_CC] (CODE_LENG): skip
33953 [! APPLE_CC] (setup_sects): likewise
33954 [! APPLE_CC]: skip filling
473d1e45 33955
e93cdc3d 339562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33957
33958 Address in trampolines based on 32-bit registers when compiled
33959 with Apple's CC
33960
473d1e45 33961 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33962 for addresses
33963 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33964
6c688477 339652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33966
33967 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33968
33969 * kern/misc.c [APPLE_CC] (memcpy): new function
33970 [APPLE_CC] (memmove): likewise
33971 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33972 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33973 (memset): likewise
33974 (abort): likewise
33975 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33976 APPLE_CC are defined
33977 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33978 (grub_assert_fail): make prototype conditional
33979
e37ffc5c 339802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33981
33982 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33983
473d1e45 33984 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33985 grub-macho2img
e37ffc5c 33986 (CLEANFILES): add grub-macho2img
33987 (grub_macho2img_SOURCES): new variable
33988 * kern/i386/pc/startup.S (bss_start): new variable
33989 (bss_end): likewise
33990 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33991 * util/grub-macho2img.c: new file
33992
cf00df31 339932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33994
33995 Use objconv when compiling with Apple's CC
33996
33997 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33998 (efiemu64.o): likewise
33999 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34000 when compiling with Apple's CC
34001 (efiemu64_s.o): likewise
34002 * configure.ac: check for objconv when compiling with Apple's CC
34003 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34004
d119a20c 340052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34006
34007 Define segment as well as section when compiling with
34008 Apple's CC
34009
34010 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34011 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34012 (efiemu_convert_pointer): likewise
34013 (efiemu_set_virtual_address_map): likewise
34014 (efiemu_convert_pointer): likewise
34015 (efiemu_getcrc32): likewise
34016 (init_crc32_table): likewise
34017 (reflect): likewise
34018 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34019 (GRUB_MOD_DEP): likewise
473d1e45 34020
c8600122 340212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34022
34023 Allow a compilation without -mcmodel=large
34024
34025 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34026 when compiled without -mcmodel=large
473d1e45 34027 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34028 without -mcmodel=large
473d1e45 34029 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34030 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34031
e8df1d4e 340322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34033
34034 Remove nested functions in efiemu core
34035
34036 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34037
cc6c3ac1 340382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34039
34040 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34041
34042 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34043 temporary storage
473d1e45 34044 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34045 using Apple's CC
cc6c3ac1 34046 (grub_cpu_is_tsc_supported): likewise
34047 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34048
3e325901 340492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34050
34051 Absolute addressing through constant with Apple's cc
34052
34053 * kern/i386/pc/startup.S: Define necessary constants
34054 and address through it when using ABS with Apple's CC
34055 * boot/i386/pc/diskboot.S: likewise
34056 * boot/i386/pc/boot.S: likewise
34057 * boot/i386/pc/lnxboot.S: likewise
34058 * boot/i386/pc/cdboot.S: likewise
34059 * mmap/i386/pc/mmap_helper.S: likewise
34060 * commands/i386/pc/drivemap_int13h.S: likewise
34061
2b167a72 340622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 Check if compiler is apple cc
34065
34066 * Makefile.in (ASFLAGS): new variable
34067 (TARGET_ASFLAGS): likewise
34068 (TARGET_MODULE_FORMAT): likewise
34069 (TARGET_APPLE_CC): likewise
34070 (OBJCONV): likewise
34071 (TARGET_IMG_CFLAGS): likewise
34072 (TARGET_CPPFLAGS): add includedir
34073 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34074 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34075 Check for linker script only if compiler isn't Apple's CC
34076 (TARGET_MODULE_FORMAT): set
34077 (TARGET_APPLE_CC): likewise
34078 (TARGET_ASFLAGS): likewise
34079 (ASFLAGS): likewise
34080 Check for objcopy only if compiler isn't Apple's CC
34081 Check for BSS symbol only if compiler isn't Apple's CC
34082 * genmk.rb: adapt nm options if we use Apple's utils
34083 * aclocal.m4 (grub_apple_cc): new test
34084 (grub_apple_target_cc): likewise
473d1e45 34085
fb14123e 340862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34087
34088 Simplify sed expressions and improve awk
34089
34090 * Makefile.in (install-local): simplify sed expression
34091 * gencmdlist.sh: likewise
34092 * genmoddep.awk: avoid adding module as a dependency of itself
34093
5b889789 340942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34095
34096 Add missing start symbols
34097
34098 * boot/i386/pc/boot.S: add start
fb14123e 34099 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34100
fd2bf2e3 341012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34102
34103 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34104
34105 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34106 (relocate_addresses): consider both r_addend and value at offset
34107 (make_mods_section): zerofill modinfo and header
34108 (convert_elf): write prefix here
473d1e45 34109
5389763d 341102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34111
34112 Use .asciz instead of .string
34113
34114 * i386/pc/diskboot.S: use .asciz instead of .string
34115 * i386/pc/boot.S: likewise
34116 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34117 (GRUB_MOD_NAME): likewise
473d1e45 34118
3eb5ed4e 341192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34120
34121 gfxpayload support
34122
34123 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34124 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34125 (grub_video_setup): remove
34126 (grub_video_set_mode): new prototype
34127 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34128 (vid_mode): remove
34129 (linux_vesafb_res): compile only on PCBIOS
34130 (grub_linux_boot): support gfxpayload
34131 * loader/i386/pc/xnu.c (video_hook): new function
34132 (grub_xnu_set_video): support gfxpayload
34133 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34134 (DEFAULT_VIDEO_HEIGHT): likewise
34135 (DEFAULT_VIDEO_FLAGS): likewise
34136 (DEFAULT_VIDEO_MODE): new definition
34137 (video_hook): new function
34138 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34139 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34140 loading xnu
34141 * video/video.c (grub_video_setup): removed
473d1e45 34142 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34143 grub_video_setup
34144
4b0e1143 341452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34146
34147 Avoid calling biosdisk in drivemap
34148
34149 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34150 (revparse_biosdisk): likewise
34151 (list_mappings): derive name from id directly
34152 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34153
fda6cb98 341542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34155
34156 Script fixes
34157
34158 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34159 (grub_lexer_param): add tokenonhold
34160 (grub_script_create_cmdline): remove cmdline. All callers updated
34161 (grub_script_function_create): make functionname
34162 grub_script_arg. All callers updated
34163 (grub_script_execute_argument_to_string): new prototype
34164 * kern/parser.c (state_transitions): reorder
34165 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34166 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34167 make global
34168 (grub_script_execute_cmdline): use new format
34169 * script/sh/function.c (grub_script_function_create): make functionname
34170 grub_script_arg. All callers updated
473d1e45 34171 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34172 (grub_script_yylex): remove
34173 (grub_script_yylex2): renamed to ...
34174 (grub_script_yylex): ...renamed
34175 parse the expressions like a${b}c
34176 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34177 (GRUB_PARSER_TOKEN_VAR): remove
34178 (GRUB_PARSER_TOKEN_NAME): likewise
34179 ("if"): declare as typeless
34180 ("while"): likewise
34181 ("function"): likewise
34182 ("else"): likewise
34183 ("then"): likewise
34184 ("fi"): likewise
34185 (text): remove
34186 (argument): likewise
34187 (script): accept empty scripts and make exit on error
34188 (arguments): use GRUB_PARSER_TOKEN_ARG
34189 (function): likewise
34190 (command): move error handling to script
34191 (menuentry): move grub_script_lexer_ref before
473d1e45 34192 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34193 argument. All callers updated
34194
f4448a07 341952009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34196
34197 Prevent GRUB from probing floppies during boot.
34198
34199 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34200 * commands/search.c (options): Add --no-floppy.
34201 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34202 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34203 --no-floppy when searching for UUIDs.
34204
2bf5885a 342052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 Simplify the code duplication in commands/search.c.
34208
34209 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34210 (search_fs): ... this. Update all users.
34211
f6fd460a 342122009-06-03 Felix Zielcke <fzielcke@z-51.de>
34213
34214 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34215
cbb3c83e 342162009-05-28 Pavel Roskin <proski@gnu.org>
34217
57788cfd 34218 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34219 Remove the original symlink explicitly.
34220
cbb3c83e 34221 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34222 just one slash. That's how grub_fshelp_find_file() does it.
34223
cd0d5e30 342242009-05-26 Pavel Roskin <proski@gnu.org>
34225
f0f8bbe2 34226 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34227 to `str'.
34228
cd0d5e30 34229 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34230 possibly unused.
34231
8c2cab51 342322009-05-25 Christian Franke <franke@computer.org>
34233
34234 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34235 register.
34236 (grub_atapi_identify): Add wait after drive select.
34237 (grub_ata_identify): Do more strict status register check before
34238 calling grub_atapi_identify (). Suppress error message if status
34239 register is 0x00 after command failure. Add status register
34240 check after PIO read to avoid bogus identify due to stuck DRQ.
34241 Thanks to Pavel Roskin for testing.
34242 (grub_device_initialize): Remove unsafe status register check.
34243 Thanks to 'phcoder' for problem report and patch.
34244 Prevent sign extension in debug message.
34245
230c0ad6 342462009-05-23 Colin D Bennett <colin@gibibit.com>
34247
34248 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34249 definition file, and functions defined in `normal/menu.c' have had
34250 their prototypes moved to `include/grub/menu.h' for consistency.
34251
34252 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34253 from normal.h.
34254 (grub_menu_get_entry): Likewise.
34255 (grub_menu_get_timeout): Likewise.
34256 (grub_menu_set_timeout): Likewise.
34257 (grub_menu_execute_entry): Likewise.
34258 (grub_menu_execute_with_fallback): Likewise.
34259 (grub_menu_entry_run): Likewise.
34260
34261 * include/grub/normal.h: Re-ordered and grouped function
34262 prototypes by file that the function is defined in.
34263 (grub_menu_execute_callback): Removed; moved to menu.h.
34264 (grub_menu_get_entry): Likewise.
34265 (grub_menu_get_timeout): Likewise.
34266 (grub_menu_set_timeout): Likewise.
34267 (grub_menu_execute_entry): Likewise.
34268 (grub_menu_execute_with_fallback): Likewise.
34269 (grub_menu_entry_run): Likewise.
34270 (grub_menu_addentry): Renamed from this ...
34271 (grub_normal_add_menu_entry): ... to this.
34272
34273 * normal/main.c (grub_menu_addentry): Renamed from this ...
34274 (grub_normal_add_menu_entry): ... to this.
34275
34276 * script/sh/execute.c (grub_script_execute_menuentry): Update
34277 reference to renamed grub_menu_addentry function.
34278
861f03a5 342792009-05-23 Felix Zielcke <fzielcke@z-51.de>
34280
34281 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34282
96b1619a 342832009-05-22 Pavel Roskin <proski@gnu.org>
34284
bf6a5fb2 34285 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34286 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34287 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34288 compiling for the i386 targets, but not for the utilities.
34289
96b1619a 34290 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34291 to grub_uint8_t.
34292 (grub_root_drive): Likewise.
34293 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34294 remove alignment.
34295 (grub_root_drive): Change size to byte.
34296 (grub_start_addr): Remove.
34297 (grub_end_addr): Likewise.
34298 (grub_apm_bios_info): Likewise.
34299
b729776b 343002009-05-21 Felix Zielcke <fzielcke@z-51.de>
34301
34302 * normal/i386: Remove.
34303 * normal/powerpc: Likewise.
34304 * normal/sparc64: Likewise.
34305 * normal/x86_64: Likewise.
34306
0a15ce80 343072009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34308
34309 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34310 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34311 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34312
33db9015 343132009-05-18 Colin D Bennett <colin@gibibit.com>
34314
d6da58e6 34315 Display error messages when parsing a Lua statement fails.
34316 Previously, executing a syntactically invalid statement like
34317 ")foo" or "bar;" would silently fail.
33db9015 34318
34319 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34320 (grub_lua_parse_line): Improved reporting of Lua parser and
34321 execution errors.
33db9015 34322
46422c89 343232009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34324
34325 Remove -Werror which causes build to fail on some systems
34326
34327 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34328 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34329 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34330
22f53a96 343312009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34332
34333 trampoline for linux on 64-bit platform
34334
18f547ad 34335 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34336 loader/i386/efi/linux_trampoline.S
34337 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34338 declaration
d6da58e6 34339 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34340 here
22f53a96 34341 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34342 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34343 trampoline
22f53a96 34344 (jumpvector): removed
34345 (grub_linux_trampoline_start): new declaration
34346 (grub_linux_trampoline_end): likewise
34347 (grub_linux_boot): use trampoline when on 64-bit platform
34348 * loader/i386/linux.c: likewise
34349
cb5a0f40 343502009-05-16 Pavel Roskin <proski@gnu.org>
34351
34352 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34353 const to avoid a warning.
34354 (grub_lua_setenv): Likewise.
34355 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34356 lmsg to fix a warning.
34357
334f2c28 343582009-05-16 Felix Zielcke <fzielcke@z-51.de>
34359
34360 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34361 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34362 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34363 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34364 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34365 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34366 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34367 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34368
59e5d3ec 343692009-05-16 Felix Zielcke <fzielcke@z-51.de>
34370
34371 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34372
9d87a1ba 343732009-05-16 Bean <bean123ch@gmail.com>
34374
34375 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34376 (lua_mod_SOURCES): New variable.
34377 (lua_mod_CFLAGS): Likewise.
34378 (lua_mod_LDFLAGS): Likewise.
34379
34380 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34381 (setjmp_mod_SOURCES): New variable.
34382 (setjmp_mod_CFLAGS): Likewise.
34383 (setjmp_LDFLAGS): Likewise.
34384
34385 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34386 (setjmp_mod_SOURCES): New variable.
34387 (setjmp_mod_CFLAGS): Likewise.
34388 (setjmp_LDFLAGS): Likewise.
34389
34390 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34391 (setjmp_mod_SOURCES): New variable.
34392 (setjmp_mod_CFLAGS): Likewise.
34393 (setjmp_LDFLAGS): Likewise.
34394
34395 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34396 (setjmp_mod_SOURCES): New variable.
34397 (setjmp_mod_CFLAGS): Likewise.
34398 (setjmp_LDFLAGS): Likewise.
34399
34400 * normal/i386/setjmp.S: Moved from here ...
34401 * lib/i386/setjmp.S: ... Moved here
34402 * normal/x86_64/setjmp.S: Moved from here ...
34403 * lib/x86_64/setjmp.S: ... Moved here
34404 * normal/powerpc/setjmp.S: Moved from here ...
34405 * lib/powerpc/setjmp.S: ... Moved here
34406 * normal/sparc64/setjmp.S: Moved from here ...
34407 * lib/sparc64/setjmp.S: ... Moved here
34408
34409 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34410 returns_twice in mingw.
34411
34412 * script/lua/grub_lib.c: New file.
34413 * script/lua/grub_lib.h: Likewise.
34414 * script/lua/grub_lua.h: Likewise.
34415 * script/lua/grub_main.c: Likewise.
34416 * script/lua/lapi.c: Likewise.
34417 * script/lua/lapi.h: Likewise.
34418 * script/lua/lauxlib.c: Likewise.
34419 * script/lua/lauxlib.h: Likewise.
34420 * script/lua/lbaselib.c: Likewise.
34421 * script/lua/lcode.c: Likewise.
34422 * script/lua/lcode.h: Likewise.
34423 * script/lua/ldblib.c: Likewise.
34424 * script/lua/ldebug.c: Likewise.
34425 * script/lua/ldebug.h: Likewise.
34426 * script/lua/ldo.c: Likewise.
34427 * script/lua/ldo.h: Likewise.
34428 * script/lua/ldump.c: Likewise.
34429 * script/lua/lfunc.c: Likewise.
34430 * script/lua/lfunc.h: Likewise.
34431 * script/lua/lgc.c: Likewise.
34432 * script/lua/lgc.h: Likewise.
34433 * script/lua/linit.c: Likewise.
34434 * script/lua/liolib.c: Likewise.
34435 * script/lua/llex.c: Likewise.
34436 * script/lua/llex.h: Likewise.
34437 * script/lua/llimits.h: Likewise.
34438 * script/lua/lmathlib.c: Likewise.
34439 * script/lua/lmem.c: Likewise.
34440 * script/lua/lmem.h: Likewise.
34441 * script/lua/loadlib.c: Likewise.
34442 * script/lua/lobject.c: Likewise.
34443 * script/lua/lobject.h: Likewise.
34444 * script/lua/lopcodes.c: Likewise.
34445 * script/lua/lopcodes.h: Likewise.
34446 * script/lua/loslib.c: Likewise.
34447 * script/lua/lparser.c: Likewise.
34448 * script/lua/lparser.h: Likewise.
34449 * script/lua/lstate.c: Likewise.
34450 * script/lua/lstate.h: Likewise.
34451 * script/lua/lstring.c: Likewise.
34452 * script/lua/lstring.h: Likewise.
34453 * script/lua/lstrlib.c: Likewise.
34454 * script/lua/ltable.c: Likewise.
34455 * script/lua/ltable.h: Likewise.
34456 * script/lua/ltablib.c: Likewise.
34457 * script/lua/ltm.c: Likewise.
34458 * script/lua/ltm.h: Likewise.
34459 * script/lua/lua.h: Likewise.
34460 * script/lua/luaconf.h: Likewise.
34461 * script/lua/lualib.h: Likewise.
34462 * script/lua/lundump.c: Likewise.
34463 * script/lua/lundump.h: Likewise.
34464 * script/lua/lvm.c: Likewise.
34465 * script/lua/lvm.h: Likewise.
34466 * script/lua/lzio.c: Likewise.
34467 * script/lua/lzio.h: Likewise.
34468
5e898c9d 344692009-05-16 Bean <bean123ch@gmail.com>
34470
34471 * include/grub/kernel.h (grub_module_header_types): Add type
34472 OBJ_TYPE_CONFIG.
34473
34474 * kern/main.c (grub_load_config): New function.
34475 (grub_main): Call grub_load_config to read boot config.
34476
34477 * grub-mkimage (generate_image): New parameter config_path.
34478 (options): New option --config.
34479 (main): Parse --config option, and pass it to generate_image.
34480
cf353a47 344812009-05-14 Christian Franke <franke@computer.org>
34482
34483 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34484 This fixes build on Cygwin.
34485
3834887f 344862009-05-14 Pavel Roskin <proski@gnu.org>
34487
34488 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34489 jump. This saves two bytes, so the typical case of 2 swapped
34490 drives would fit 32 bytes.
34491
8090fc01 344922009-05-13 Pavel Roskin <proski@gnu.org>
34493
ac963883 34494 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34495 grub_uint32_t to avoid a warning.
34496
8090fc01 34497 * loader/i386/linux.c (allocate_pages): When assigning
34498 real_mode_mem, cast through grub_size_t to fix a warning. The
34499 code already makes sure that the value would fit a pointer.
34500 (grub_linux_setup_video): Cast render_target->data to
34501 grub_size_t to fix a warning.
34502
18f547ad 345032009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34504
34505 * commands/i386/pc/drivemap.c: New file - implement drivemap
34506 command.
34507 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34508 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34509
6f6a8b28 345102009-05-13 Pavel Roskin <proski@gnu.org>
34511
34512 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34513 embedding_area_exists.
34514
15fbf4c4 345152009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34516
34517 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34518 it easier to understand / work with.
59978c8a 34519 Improve warning messages for cases where there's no embedding area,
34520 or when it is too small (or core.img too large).
15fbf4c4 34521
238e871f 345222009-05-13 Pavel Roskin <proski@gnu.org>
34523
0ab3a9a4 34524 * loader/i386/pc/multiboot2.c: Add necessary includes for
34525 grub_multiboot2_real_boot().
34526
a2c8c5f8 34527 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34528 PX record is always little-endian. We only need the lower 2
34529 bytes of the mode.
34530
faec96af 34531 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34532 facilitate code reuse.
34533 (grub_cpio_mount): Use "struct head", not a char buffer. This
34534 fixes a warning reported by gcc 4.4.
34535
238e871f 34536 * kernel/disk.c (grub_disk_read): Use void pointer for the
34537 buffer.
34538 (grub_disk_write): Use const void pointer for the buffer.
34539 Adjust all callers. Remove unnecessary casts.
34540
901d2f0c 345412009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34542
34543 * util/i386/pc/grub-install.in: Update copyright year.
34544
18f547ad 345452009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34546
34547 gptsync
34548
34549 * commands/gptsync.c: new file
34550 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34551 (gptsync_mod_SOURCES): new variable
34552 (gptsync_mod_CFLAGS): likewise
34553 (gptsync_mod_LDFLAGS): likewise
18f547ad 34554 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34555 new definition
34556 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34558 * conf/i386-ieee1275.rmk: likewise
34559 * conf/i386-pc.rmk: likewise
34560 * conf/powerpc-ieee1275.rmk: likewise
34561
b4ba690a 345622009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34563
34564 Fixed grub-emu
34565
34566 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34567 (grub_dl_ref): likewise
34568
317e1a44 345692009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34570
34571 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34572 split in two functions (one for msdos and one for gpt).
34573
041b8094 345742009-05-08 Pavel Roskin <proski@gnu.org>
34575
752473c2 34576 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34577 not modified.
34578
041b8094 34579 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34580 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34581 Initialize them with -1. Add sanity check for bad1. Eliminate
34582 nerr variable.
34583
172800ce 345842009-05-08 David S. Miller <davem@davemloft.net>
34585
34586 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34587
29aa5e81 345882009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34589
34590 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34591 existence.
29aa5e81 34592
96613b62 345932009-05-05 Felix Zielcke <fzielcke@z-51.de>
34594
34595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34596 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34597
eef73c8a 345982009-05-05 David S. Miller <davem@davemloft.net>
34599
34600 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34601
119494b5 346022009-05-05 Pavel Roskin <proski@gnu.org>
34603
34604 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34605 of grub_dl_ref() and grub_dl_unref().
34606 * commands/parttool.c: Remove preprocessor conditionals around
34607 grub_dl_ref() and grub_dl_unref().
34608 * fs/affs.c: Likewise.
34609 * fs/afs.c: Likewise.
34610 * fs/cpio.c: Likewise.
34611 * fs/ext2.c: Likewise.
34612 * fs/fat.c: Likewise.
34613 * fs/hfs.c: Likewise.
34614 * fs/hfsplus.c: Likewise.
34615 * fs/iso9660.c: Likewise.
34616 * fs/jfs.c: Likewise.
34617 * fs/minix.c: Likewise.
34618 * fs/ntfs.c: Likewise.
34619 * fs/reiserfs.c: Likewise.
34620 * fs/sfs.c: Likewise.
34621 * fs/udf.c: Likewise.
34622 * fs/ufs.c: Likewise.
34623 * fs/xfs.c: Likewise.
34624 * include/grub/dl.h: Likewise.
34625 * loader/xnu.c: Likewise.
34626
de5fd76e 346272009-05-04 Pavel Roskin <proski@gnu.org>
34628
34629 * commands/acpi.c: Remove unused variable my_mod.
34630 * partmap/amiga.c: Likewise.
34631 * partmap/apple.c: Likewise.
34632 * partmap/gpt.c: Likewise.
34633 * partmap/pc.c: Likewise.
34634 * partmap/sun.c: Likewise.
34635 * term/gfxterm.c: Likewise.
34636 * term/i386/pc/vesafb.c: Likewise.
34637 * term/i386/pc/vga.c: Likewise.
34638
983598ad 346392009-05-04 David S. Miller <davem@davemloft.net>
34640
34641 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34642 pointer args to grub_ieee1275_get_property().
34643
8aadec43 34644 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34645
9554b15e 34646 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34647 devices, and do not traverse down under controller nodes.
34648
67e23c90 34649 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34650 (grub_ofdisk_open): Use it to un-escape "," characters.
34651 * kern/disk.c (find_part_sep): New.
34652 (grub_disk_open): Use it to find the first non-escaped ','
34653 character in the disk name.
34654 * util/ieee1275/devicemap.c (escape_of_path): New.
34655 (grub_util_emit_devicemap_entry): Use it.
34656 * util/sparc64/ieee1275/grub-install.in: Update script to
34657 strip partition specifiers properly by not triggering on
34658 '\' escaped ',' characters.
34659
74bfdd2f 346602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34661
34662 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34663 to 0x300.
34664 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34665 resolutions.
34666 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34667 on documentation from Wikipedia).
34668
4241d2b1 346692009-05-04 Pavel Roskin <proski@gnu.org>
34670
34671 * disk/ata.c: Spelling fixes.
34672 * disk/raid.c: Likewise.
34673 * disk/usbms.c: Likewise.
34674 * disk/dmraid_nvidia.c: Likewise.
34675 * kern/ieee1275/openfw.c: Likewise.
34676 * kern/ieee1275/init.c: Likewise.
34677 * kern/ieee1275/cmain.c: Likewise.
34678 * boot/i386/pc/cdboot.S: Likewise.
34679 * video/readers/png.c: Likewise.
34680 * video/i386/pc/vbe.c: Likewise.
34681 * fs/udf.c: Likewise.
34682 * fs/hfs.c: Likewise.
34683 * fs/reiserfs.c: Likewise.
34684 * efiemu/runtime/efiemu.c: Likewise.
34685 * efiemu/main.c: Likewise.
34686 * efiemu/mm.c: Likewise.
34687 * include/grub/elf.h: Likewise.
34688 * include/grub/xnu.h: Likewise.
34689 * include/grub/usbdesc.h: Likewise.
34690 * include/grub/usb.h: Likewise.
34691 * include/grub/script_sh.h: Likewise.
34692 * include/grub/lib/LzmaEnc.h: Likewise.
34693 * include/grub/efiemu/efiemu.h: Likewise.
34694 * include/grub/command.h: Likewise.
34695 * normal/menu.c: Likewise.
34696 * normal/main.c: Likewise.
34697 * normal/datetime.c: Likewise.
34698 * bus/usb/uhci.c: Likewise.
34699 * mmap/i386/uppermem.c: Likewise.
34700 * mmap/mmap.c: Likewise.
34701 * commands/acpi.c: Likewise.
34702 * commands/test.c: Likewise.
34703 * partmap/apple.c: Likewise.
34704 * font/font.c: Likewise.
34705 * loader/sparc64/ieee1275/linux.c: Likewise.
34706 * loader/macho.c: Likewise.
34707 * loader/i386/bsd_trampoline.S: Likewise.
34708 * loader/i386/bsd.c: Likewise.
34709 * loader/xnu.c: Likewise.
34710 * term/i386/pc/vesafb.c: Likewise.
34711 * term/usb_keyboard.c: Likewise.
34712 * util/resolve.c: Likewise.
34713 * util/getroot.c: Likewise.
34714
0cfc0083 347152009-05-04 Felix Zielcke <fzielcke@z-51.de>
34716
34717 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34718
7c1d00cd 347192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34720
34721 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34722 build error.
34723
b01f0548 347242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34725
34726 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34727 parameter only available on BIOS.
34728
ecc3eb22 347292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34730
34731 Removed wrong semicolon in declaration
34732
34733 * grub/misc.h (grub_dprintf): remove semicolon
34734
112972a9 347352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34736
34737 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34738 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34739 is done by grub_cmd_linux() now).
34740 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34741 restore video to text mode.
34742 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34743 indicates lack of "vga=" parameter. "vga=0" is mapped to
34744 `GRUB_LINUX_VID_MODE_NORMAL'.
34745
afd5c115 347462009-05-04 Felix Zielcke <fzielcke@z-51.de>
34747
34748 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34749 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34750 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34751 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34752 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34753 `grub_script.tab.c'.
34754
34755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34756 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34758 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34759 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34760
faa517ce 34761 * Makefile.in: Remove duplicated 2008 in Copyright line.
34762
ae0c0bdc 347632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34764
473d1e45 34765 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34766 unconditionally.
34767 * include/grub/util/misc.h (grub_util_warn): New declaration.
34768
34769 * util/i386/pc/grub-install.in: Understand --force and pass it down
34770 to grub-setup.
34771
34772 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34773 down to setup().
34774 (setup): Improve error messages and add warnings when requested to
34775 install in odd layouts. Refuse to install using blocklists unless
34776 --force was set.
34777
18f547ad 347782009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34779
34780 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34781
6d260daa 347822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34783
34784 Updated copyright year
34785
34786 * fs/hfsplus.c: updated copyright year
18f547ad 34787
69f853f8 347882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34789
34790 HFS+ UUID
34791
18f547ad 34792 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34793 in the space previously used by unused3
34794 (grub_hfsplus_uuid): new function
34795 (grub_hfsplus_fs): added uuid field
34796
4c402e73 347972009-05-03 Pavel Roskin <proski@gnu.org>
34798
34799 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34800 suppress warnings. It's no longer needed.
34801 * disk/host.c: Likewise.
34802 * disk/ata_pthru.c: Likewise.
34803 * disk/loopback.c: Likewise.
34804 * hook/datehook.c: Likewise.
34805 * parttool/pcpart.c: Likewise.
34806 * fs/i386/pc/pxe.c: Likewise.
34807 * fs/ntfscomp.c: Likewise.
34808 * efiemu/main.c: Likewise.
34809 * mmap/mmap.c: Likewise.
34810 * commands/crc.c: Likewise.
34811 * commands/hexdump.c: Likewise.
34812 * commands/hdparm.c: Likewise.
34813 * commands/acpi.c: Likewise.
34814 * commands/echo.c: Likewise.
34815 * commands/minicmd.c: Likewise.
34816 * commands/blocklist.c: Likewise.
34817 * commands/memrw.c: Likewise.
34818 * commands/loadenv.c: Likewise.
34819 * commands/usbtest.c: Likewise.
34820 * commands/lsmmap.c: Likewise.
34821 * commands/boot.c: Likewise.
34822 * commands/parttool.c: Likewise.
34823 * commands/configfile.c: Likewise.
34824 * commands/search.c: Likewise.
34825 * commands/ieee1275/suspend.c: Likewise.
34826 * commands/cat.c: Likewise.
34827 * commands/i386/pc/pxecmd.c: Likewise.
34828 * commands/i386/pc/play.c: Likewise.
34829 * commands/i386/pc/halt.c: Likewise.
34830 * commands/i386/pc/vbeinfo.c: Likewise.
34831 * commands/i386/pc/vbetest.c: Likewise.
34832 * commands/lspci.c: Likewise.
34833 * commands/date.c: Likewise.
34834 * commands/handler.c: Likewise.
34835 * commands/ls.c: Likewise.
34836 * commands/test.c: Likewise.
34837 * commands/cmp.c: Likewise.
34838 * commands/efi/loadbios.c: Likewise.
34839 * commands/efi/fixvideo.c: Likewise.
34840 * commands/halt.c: Likewise.
34841 * commands/help.c: Likewise.
34842 * commands/reboot.c: Likewise.
34843 * hello/hello.c: Likewise.
34844 * script/sh/main.c: Likewise.
34845 * loader/xnu.c: Likewise.
34846 * term/terminfo.c: Likewise.
34847 * term/i386/pc/serial.c: Likewise.
34848 * term/usb_keyboard.c: Likewise.
34849
515b5079 348502009-05-03 David S. Miller <davem@davemloft.net>
34851
34852 * normal/menu.c: Include grub/parser.h
34853
dfc31a22 348542009-05-03 Pavel Roskin <proski@gnu.org>
34855
2fee74f1 34856 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34857 not char*.
34858 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34859 Suggested by Javier Martín <lordhabbit@gmail.com>
34860
dfc31a22 34861 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34862 efiemu??.o doesn't exist.
34863 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34864 copying.
34865
18f547ad 348662009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34867
34868 FreeBSD 64-bit support
34869
18f547ad 34870 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34871 and loader/i386/bsd_trampoline.S
34872 (bsd_mod_ASFLAGS): new variable
34873 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34874 (FREEBSD_MODTYPE_KERNEL64): likewise
34875 (grub_bsd64_trampoline_start): likewise
34876 (grub_bsd64_trampoline_end): likewise
34877 (grub_bsd64_trampoline_selfjump): likewise
34878 (grub_bsd64_trampoline_gdt): likewise
34879 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34880 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34881 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34882 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34883 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34884 of "attrib" member
34885 * loader/i386/bsd_pagetable.c: new file
34886 * loader/i386/bsd_trampoline.S: likewise
34887 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34888 (ALIGN_VAR): likewise
34889 (entry_hi): new variable
34890 (kern_end_mdofs): likewise
34891 (is_64bit): likewise
34892 (grub_freebsd_add_meta): use ALIGN_VAR
34893 (grub_e820_mmap): new declaration
34894 (grub_freebsd_add_mmap): new function
34895 (grub_freebsd_add_meta_module): support 64 bit kernels
34896 (grub_freebsd_list_modules): use ALIGN_VAR
34897 (gdt_descriptor): new declaration
34898 (grub_freebsd_boot): support 64 bit kernels
34899 (grub_bsd_elf64_hook): new function
34900 (grub_bsd_load_elf): support elf64
34901
038c5720 349022009-05-03 Bean <bean123ch@gmail.com>
34903
34904 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34905 after we get the result of if statement.
34906
fc45fb58 349072009-05-03 Bean <bean123ch@gmail.com>
34908
34909 * Makefile.in (enable_efiemu): New variable.
34910
34911 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34912 set.
34913 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34914 path.
34915 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34916 path, add -mno-red-zone option.
34917 (efiemu64_s.o): Likewise.
34918 (efiemu64.o): Use macro $^ for source file.
34919
34920 * configure.ac (--enable-efiemu): New option.
34921
bbee0f2b 349222009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34923
34924 xnu support
34925
34926 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34927 (pkglib_MODULES): add xnu.mod
34928 (xnu_mod_SOURCES): new variable
34929 (xnu_mod_CFLAGS): likewise
34930 (xnu_mod_LDFLAGS): likewise
34931 (xnu_mod_ASFLAGS): likewise
34932 * conf/i386-pc.rmk: likewise
34933 * conf/x86_64-efi.rmk: likewise
7dd4a573 34934 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34935 new declaration
34936 * include/grub/i386/macho.h: new file
34937 * include/grub/i386/xnu.h: likewise
34938 * include/grub/macho.h: likewise
34939 * include/grub/machoload.h: likewise
34940 * include/grub/x86_64/macho.h: likewise
34941 * include/grub/x86_64/xnu.h: likewise
34942 * include/grub/xnu.h: likewise
34943 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34944 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34945 * loader/i386/efi/xnu.c: new file
34946 * loader/i386/pc/xnu.c: likewise
34947 * loader/i386/xnu.c: likewise
34948 * loader/i386/xnu_helper.S: likewise
34949 * loader/macho.c: likewise
34950 * loader/xnu.c: likewise
34951 * loader/xnu_resume.c: likewise
34952 * util/grub-dumpdevtree: likewise
34953 * include/grub/i386/pit.h: include grub/err.h
34954 (grub_pit_wait): export
34955 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34956
5caf964d 349572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34958
34959 Efiemu
7dd4a573 34960
5caf964d 34961 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34962 _linux_efi, linux_efi.
34963 new files in grub-emu
5caf964d 34964 new targets efiemu32.o and efiemu64.o
34965 * loader/linux_normal_efiemu.c: likewise
34966 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34967 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34968 files to copy
34969 * include/grub/autoefi.h: new file
7dd4a573 34970 * include/grub/i386/efiemu.h: likewise
5caf964d 34971 * include/grub/i386/pc/efiemu.h: likewise
34972 * include/grub/efi/api.h: add LL suffix when necessary
34973 new definitions relating to tables
34974 * include/grub/efiemu/efiemu.h: new file
34975 * include/grub/efiemu/runtime.h: likewise
34976 * efiemu/prepare.c: likewise
34977 * efiemu/loadcore_common.c: likewise
34978 * efiemu/loadcore64.c: likewise
34979 * efiemu/runtime/efiemu.sh: likewise
34980 * efiemu/runtime/efiemu.S: likewise
34981 * efiemu/runtime/efiemu.c: likewise
34982 * efiemu/runtime/config.h: likewise
34983 * efiemu/prepare32.c: likewise
34984 * efiemu/main.c: likewise
34985 * efiemu/modules/pnvram.c: likewise
34986 * efiemu/modules/i386: likewise
34987 * efiemu/modules/i386/pc: likewise
34988 * efiemu/modules/acpi.c: likewise
34989 * efiemu/i386/pc/cfgtables.c: likewise
34990 * efiemu/i386/loadcore64.c: likewise
34991 * efiemu/i386/loadcore32.c: likewise
34992 * efiemu/prepare64.c: likewise
34993 * efiemu/loadcore.c: likewise
34994 * efiemu/symbols.c: likewise
34995 * efiemu/mm.c: likewise
34996 * efiemu/loadcore32.c: likewise
7dd4a573 34997
349982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34999
35000 ACPI spoofing
35001
35002 * commands/acpi.c: new file
35003 * commands/i386/pc/acpi.c: likewise
35004 * commands/efi/acpi.c: likewise
35005 * include/grub/acpi.h: likewise
35006 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35007 (acpi_mod_SOURCES): new variable
35008 (acpi_mod_CFLAGS): likewise
35009 (acpi_mod_LDFLAGS): likewise
35010 * conf/i386-efi.rmk: likewise
35011 * conf/x86_64-efi.rmk: likewise
35012
7dd4a573 350132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35014
35015 Missing part from mmap patch
35016
35017 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35018 (grub_mmap_unregister)
35019 (grub_mmap_free_and_unregister): use grub_mmap_register
35020
7dd4a573 350212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35022
35023 Mmap services
35024
35025 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35026 * loader/i386/linux.c (find_mmap_size): likewise
35027 (allocate_pages): likewise
35028 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35029 (grub_fill_multiboot_mmap): likewise
35030 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35031 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35032 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35033 (OPENBSD_MMAP_RESERVED): likewise
35034 * include/grub/i386/pc/memory.h: include grub/memory.h
35035 (grub_lower_mem): removed
35036 (grub_upper_mem): likewise
35037 (GRUB_MACHINE_MEMORY_ACPI): new definition
35038 (GRUB_MACHINE_MEMORY_NVS): likewise
35039 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35040 (GRUB_MACHINE_MEMORY_HOLE): likewise
35041 (grub_machine_mmap_register): likewise
35042 (grub_machine_mmap_unregister): likewise
35043 (grub_machine_get_upper): likewise
35044 (grub_machine_get_lower): likewise
35045 (grub_machine_get_post64): likewise
35046 * include/grub/i386/efi/memory.h: new file
35047 * include/grub/x86_64/efi/memory.h: likewise
35048 * include/grub/efi/memory.h: likewise
35049 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35050 (mmap_mod_SOURCES): new variable
35051 (mmap_mod_LDFLAGS): likewise
35052 (mmap_mod_ASFLAGS): likewise
35053 * conf/i386-coreboot.rmk: likewise
35054 * conf/i386-ieee1275.rmk: likewise
35055 * conf/i386-efi.rmk: likewise
35056 * conf/x86_64-efi.rmk: likewise
35057 * include/grub/types.h (UINT_TO_PTR): new macro
35058 (PTR_TO_UINT32): likewise
35059 (PTR_TO_UINT64): likewise
35060 * include/grub/memory.h: new file
35061 * mmap/i386/pc/mmap.c: likewise
35062 * mmap/i386/pc/mmap_helper.S: likewise
35063 * mmap/i386/uppermem.c: likewise
35064 * mmap/mmap.c: likewise
35065 * mmap/efi/mmap.c: likewise
7dd4a573 35066 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35067 grub_upper_mem
35068 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35069 (grub_upper_mem): likewise
35070 (grub_machine_init): don't use grub_upper_mem,
35071 make grub_lower_mem local
35072 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35073 grub_mmap_iterate and grub_mmap_get_upper
35074 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35075
d558e6b5 350762009-05-02 Bean <bean123ch@gmail.com>
35077
35078 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35079 script/sh/parser.y.
35080 (pkglib_MODULES): Add normal.mod and sh.mod.
35081 (normal_SOURCES): New variable.
35082 (normal_mod_CFLAGS): Likewise.
35083 (normal_mod_LDFLAGS): Likewise.
35084 (sh_mod_SOURCES): Likewise.
35085 (sh_mod_CFLAGS): Likewise.
35086 (sh_mod_LDFLAGS): Likewise.
35087
35088 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35089 script/sh/lexer.c_DEPENDENCIES.
35090 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35091 kern/rescue_reader.c and kern/rescue_parser.c.
35092 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35093 (grub_emu_SOURCES): Change source files.
35094 (pkglib_MODULES): Remove normal.mod.
35095 (normal_SOURCES): Removed.
35096 (normal_mod_CFLAGS): Likewise.
35097 (normal_mod_LDFLAGS): Likewise.
35098 * conf/i386-coreboot.rmk: Likewise.
35099 * conf/i386-efi.rmk: Likewise.
35100 * conf/i386-ieee1276.rmk: Likewise.
35101 * conf/powerpc-ieee1275.rmk: Likewise.
35102 * conf/sparc64-ieee1275.rmk: Likewise.
35103 * conf/x86_64-efi.rmk: Likewise.
35104
35105 * include/grub/command.h (grub_command_execute): New inline function.
35106
35107 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35108
35109 * include/grub/normal.h: Remove <grub/setjmp.h>.
35110 (grub_fs_module_list): Moved to normal/autofs.c.
35111 (grub_exit_env): Removed.
35112 (grub_command_execute): Likewise.
35113 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35114 parameter script.
35115 (read_command_list): New function declaration.
35116 (read_fs_list): Likewise.
35117
35118 * include/parser.h: Include <grub/reader.h>.
35119 (grub_parser_split_cmdline): Change type of getline parameter.
35120 (grub_parser): New structure.
35121 (grub_parser_class): New variable.
35122 (grub_parser_execute): New function declaration.
35123 (grub_register_rescue_parser): Likewise.
35124 (grub_parser_register): New inline function.
35125 (grub_parser_unregister): Likewise.
35126 (grub_parser_get_current): Likewise.
35127 (grub_parser_set_current): Likewise.
35128
35129 * include/grub/reader.h: New file.
35130 * kern/reader.c: Likewise.
35131 * kern/rescue_parser.c: Likewise.
35132 * kern/rescue_reader.c: Likewise.
35133 * normal/autofs.c: Likewise.
35134 * normal/dyncmd.c: Likewise.
35135
35136 * include/grub/rescue.h: Removed.
35137 * normal/command.h: Likewise.
35138
35139 * include/grub/script.h: Moved to ...
35140 * include/grub/script_sh.h: ... Moved here.
35141 * normal/execute.c: Moved to ...
35142 * script/sh/execute.c: ... Moved here.
35143 * normal/function.c: Moved to ...
35144 * script/sh/function.c: ... Moved here.
35145 * normal/lexer.c: Moved to ...
35146 * script/sh/lexer.c: ... Moved here.
35147 * normal/parser.y: Moved to ...
35148 * script/sh/parser.y: ... Moved here.
35149 * normal/script.c: Moved to ...
35150 * script/sh/script.c: ... Moved here.
35151
35152 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35153 <grub/reader.h>.
35154 (grub_exit_env): Removed.
35155 (fs_module_list): Moved to normal/autofs.c.
35156 (grub_file_getline): Don't handle comment here.
35157 (free_menu): Skip removed field entry->commands.
35158 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35159 script parameter.
35160 (read_config_file): Removed nested parameter, change getline function.
35161 (grub_enter_normal_mode): Removed.
35162 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35163 (read_command_list): Likewise.
35164 (autoload_fs_module): Moved to normal/autofs.c.
35165 (read_fs_list): Likewise.
35166 (reader_nested): New variable.
35167 (grub_normal_execute): Run parser.sh to switch to sh parser.
35168 (grub_cmd_rescue): Removed.
35169 (cmd_normal): Removed.
35170 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35171 rescue command.
35172 (grub_cmdline_run): New function.
35173 (grub_normal_reader_init): Likewise.
35174 (grub_normal_read_line): Likewise.
35175 (grub_env_write_pager): Likewise.
35176 (cmdline): New variable.
35177 (grub_normal_reader): Likewise.
35178 (GRUB_MOD_INIT): Register normal reader and set as current, register
35179 pager hook, register normal command with grub_register_command_prio,
35180 so that it won't show up in command.lst.
35181 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35182 grub_fs_autoload_hook.
35183
35184 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35185 (grub_menu_execute_entry): Replace grub_script_execute with
35186 grub_parser_execute, change parameter to grub_command_execute.
35187
35188 * normal/menu_text.c: Remove <grub/script.h>.
35189
35190 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35191 and <grub/parser.h>.
35192 (run): Change editor_getline to use new parser interface. Change
35193 parameter to grub_command_execute.
35194
35195 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35196 <grub/reader.h> and <grub/parser.h>.
35197 (grub_load_normal_mode): Execute normal command.
35198 (grub_main): Call grub_register_core_commands,
35199 grub_register_rescue_parser and grub_register_rescue_reader, use
35200 grub_reader_loop to enter input loop.
35201
7dd4a573 35202 * kern/parser.c (grub_parser_split_cmdline): Change type of
35203 getline parameter.
d558e6b5 35204 (grub_parser_class): New variable.
35205 (grub_parser_execute): New function.
35206
35207 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35208 * loader/multiboot2.c: Likewise.
35209 * loader/sparc64/ieee1275/linux.c: Likewise.
35210
35211 * util/grub-emu.c (read_command_list): New dummy function.
35212
18db813d 352132009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35214
35215 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35216 count to 16 for CCISS and IDA.
35217
6c67de15 352182009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35219
35220 * normal/menu_text.c (grub_wait_after_message): Print a newline
35221 after waiting for user input.
35222
35223 * loader/i386/linux.c: Include `<grub/normal.h>'.
35224 (grub_cmd_linux): Improve the error message about `ask' mode, by
35225 waiting for user input so it's not missed (we can do this, since
35226 user requested interaction).
35227
d9dc87b0 352282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35229
35230 Added missing lst to grub-mkrescue
35231
35232 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35233 and ${input_dir}/parttool.lst
35234
ac8a2baa 352352009-04-30 David S. Miller <davem@davemloft.net>
35236
ad22a610 35237 * util/hostdisk.c (device_is_wholedisk): New function.
35238 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35239 zero only if device_is_wholedisk() returns true.
35240
6966215d 35241 * util/hostdisk.c (convert_system_partition_to_system_disk):
35242 Handle virtual disk devices named /dev/vdiskX as found on sparc
35243 and powerpc.
35244
ac8a2baa 35245 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35246 lettered partition specifier is found, convert to numbered.
35247
979b4fb4 352482009-04-29 David S. Miller <davem@davemloft.net>
35249
e2bf39b2 35250 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35251 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35252
3c64e104 35253 * normal/command.c: Add missing newline at end of file.
35254
979b4fb4 35255 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35256 warnings.
35257 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35259 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35260 ihandles have a 32-bit type but need to be stored in a "void *".
35261
136d9f82 352622009-04-28 Pavel Roskin <proski@gnu.org>
35263
9459c306 35264 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35265 not disk. Adjust all dependencies.
2e08a26a 35266 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35267 grub_disk_close().
35268
136d9f82 35269 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35270 parent's partition, don't copy it by reference, as it gets freed
35271 on close.
35272
7dd4a573 352732009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35274
35275 Preboot hooks support
35276
35277 * commands/boot.c (struct grub_preboot_t): new declaration
35278 (preboots_head): new variable
35279 (preboots_tail): likewise
35280 (grub_loader_register_preboot_hook): new function
35281 (grub_loader_unregister_preboot_hook): likewise
35282 (grub_loader_set): launch preboot hooks
35283 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35284 (grub_loader_register_preboot_hook): new declaration
35285 (grub_loader_unregister_preboot_hook): likewise
35286
5af922b5 352872009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35288
35289 Warning fix
35290
7dd4a573 35291 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35292 calling grub_dprintf
35293
a5562c30 352942009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35295
35296 Bug and warning fixes
35297
7dd4a573 35298 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35299 declaration
35300 * commands/test.c (test_parse): fixed bug with file tests and corrected
35301 declaration of find_file
35302
4006f85c 353032009-04-26 Pavel Roskin <proski@gnu.org>
35304
35305 * Makefile.in: Don't install empty manual pages if help2man is
35306 missing. Use help2man option for output, not shell redirection.
35307
5c77c3de 353082009-04-26 David S. Miller <davem@davemloft.net>
35309
35310 * util/grub-mkdevicemap.c (make_device_map): Add missing
35311 NESTED_FUNC_ATTR to process_device().
35312
033b10a8 353132009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35314
35315 Test command
35316
35317 * commands/test.c: rewritten to use bash-like test
35318
e4343593 353192009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35320
35321 Parttool autoloading and improvements
35322
7dd4a573 35323 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35324 (parttool.lst): new target
35325 * genmk.rb: generate parttool-*
35326 (CLEANFILES): add #{parttool}
35327 (PARTTOOLFILES): new variable
35328 * genparttoollist.sh: new file
7dd4a573 35329 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35330 (grub_pcpart_type): likewise
35331 * commands/parttool.c (helpmsg): new variable
35332 (grub_cmd_parttool): output help if not enough arguments are supplied
35333 autoload modules
35334 (GRUB_MOD_INIT(parttool)): use helpmsg
35335
0d312500 353362009-04-24 David S. Miller <davem@davemloft.net>
35337
7dd4a573 35338 Avoiding opening same device multiple times in device iterator.
0d312500 35339
35340 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35341 and use it to build a list of partitions in iterate_disk() and
0d312500 35342 iterate_partition().
35343
ac20caff 35344 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35345 on disk->data.
35346
0dcf7495 35347 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35348 grub_devalias_iterate() result instead of unconditional 0.
35349 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35350 Also, capture hook return value, either directly or via
35351 grub_children_iterate(), and propagate to caller.
35352 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35353 grub_children_iterate): Return value is now 'int' instead of
35354 'grub_err_t'.
35355 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35356 like a proper iterator, stopping when hooks return non-zero.
35357 (grub_devalias_iterate): Likewise.
35358
c8c08833 353592009-04-23 David S. Miller <davem@davemloft.net>
35360
35361 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35362
f01005a8 353632009-04-22 David S. Miller <davem@davemloft.net>
35364
35365 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35366 is larger than address_cells, use that value for address_cells too.
35367
4e8269da 35368 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35369 IEEE1275_MAX_PATH_LEN): Define.
35370 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35371 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35372 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35373 'devtype'. Explicitly NULL terminate devalias expansion.
35374
a1447506 35375 * util/sparc64/ieee1275/misc.c: New file.
35376 * util/sparc64/ieee1275/grub-setup.c: New file.
35377 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35378 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35379 * util/sparc64/ieee1275/grub-install.in: New file.
35380 * util/ieee1275/ofpath.c: New file.
35381 * util/ieee1275/devicemap.c: New file.
35382 * util/devicemap.c: New file.
35383 * util/deviceiter.c: New file.
35384 * kern/sparc64/ieee1275/init.c: New file.
35385 * include/grub/util/ofpath.h: New file.
35386 * include/grub/util/deviceiter.h: New file.
35387 * util/grub-mkdevicemap.c: Include deviceiter.h.
35388 Implement using grub_util_emit_devicemap_entry and
35389 grub_util_iterate_devices.
35390 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35391 util/devicemap.c into grub-mkdevicemap
35392 * conf/i386-efi.rmk: Likewise.
35393 * conf/i386-ieee1275.rmk: Likewise.
35394 * conf/i386-pc.rmk: Likewise.
35395 * conf/powerpc-ieee1275.rmk: Likewise.
35396 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35397 images and installation utilities. Build kernel as image
35398 instead of as elf binary. Use common rules as much as possible.
35399
7dd4a573 354002009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35401
35402 Correct GPT definition
35403
7dd4a573 35404 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35405 of "attrib" member
35406
c6c5219f 354072009-04-19 Felix Zielcke <fzielcke@z-51.de>
35408
35409 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35410
0552ff9f 354112009-04-19 David S. Miller <davem@davemloft.net>
35412
35413 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35414 (grub_rescue_cmd_linux): Rename to...
35415 (grub_cmd_linux): and fix prototype.
35416 (grub_rescue_cmd_initrd): Rename to...
35417 (grub_cmd_initrd): and fix prototype.
35418 (cmd_linux, cmd_initrd): New.
35419 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35420 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35421
d1a282fc 354222009-04-17 Pavel Roskin <proski@gnu.org>
35423
07c5039f 35424 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35425 format.
35426 (grub_ohci_transfer): Likewise.
35427
b012002d 35428 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35429
1bc09c35 35430 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35431 return without a value. Fix inconsistent indentation.
35432
e0ff9126 35433 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35434 match struct grub_fs.
35435
d1a282fc 35436 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35437 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35438 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35439 * commands/lspci.c (grub_lspci_iter): Likewise.
35440
a96df3f2 354412009-04-16 Bean <bean123ch@gmail.com>
35442
35443 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35444 value.
35445
41bb0fe9 354462009-04-15 Pavel Roskin <proski@gnu.org>
35447
35448 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35449 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35450 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35451 definitions.
35452
596c6970 354532009-04-15 Felix Zielcke <fzielcke@z-51.de>
35454
35455 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35456 that no multiple data or metadata areas are supported and `Unknown
596c6970 35457 metadata header'.
35458
7dd4a573 354592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35460
35461 Move loader out of the kernel
35462
35463 * kern/loader.c: moved to ...
35464 * commands/boot.c: ... moved here
35465 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35466 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35467 * include/grub/kernel.h (grub_machine_fini): export
35468 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35469 (grub_loader_set): likewise
35470 (grub_loader_unset): likewise
35471 (grub_loader_boot): likewise
35472 * conf/common.rmk: new module boot.mod
35473 (pkglib_MODULES): add boot.mod
35474 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35475 (grub_emu_SOURCES): likewise
35476 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35477 (grub_emu_SOURCES): likewise
35478 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35479 (grub_emu_SOURCES): likewise
35480 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35481 (grub_emu_SOURCES): likewise
35482 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35483 (grub_emu_SOURCES): likewise
7dd4a573 35484 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35485 (grub_emu_SOURCES): likewise
0d5d5653 35486 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35487 (grub_emu_SOURCES): likewise
0d5d5653 35488
7dd4a573 354892009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35490
35491 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35492
5999d619 35493 * kern/misc.c (grub_itoa): Removed function
35494 (grub_ltoa): likewise
35495 (grub_vsprintf): use grub_lltoa
35496
7dd4a573 354972009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35498
35499 Restore grub-emu
35500
35501 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35502 * conf/i386-coreboot.rmk: likewise
35503 * conf/i386-ieee1275.rmk: likewise
35504 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35505
20318222 355062009-04-15 Felix Zielcke <fzielcke@z-51.de>
35507
35508 * INSTALL: Add that `./autogen.sh' needs to be run before
35509 `./configure.'.
35510
d05f0df3 355112009-04-14 Bean <bean123ch@gmail.com>
35512
35513 * Makefile.in (pkglib_DATA): Add handler.lst.
35514 (handler.lst): New rule.
35515
35516 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35517 * conf/i386-coreboot.rmk: Likewise.
35518 * conf/i386-ieee1275.rmk: Likewise.
35519 * conf/i386-efi.rmk: Likewise.
35520 * conf/x86_64-efi.rmk: Likewise.
35521 * conf/powerpc-ieee1275.rmk: Likewise.
35522 * conf/sparc64-ieee1275.rmk: Likewise.
35523
35524 * genhandlerlist.sh: New file.
35525
35526 * genmk.rb: Add rules to generate handler.lst.
35527
35528 * include/grub/normal.h (grub_file_getline): New function definition.
35529 (read_handler_list): Likewise.
35530 (free_handler_list): Likewise.
35531
35532 * include/grub/term.h (grub_term_register_input): Add name parameter
35533 for auto generation of handler.lst.
35534 (grub_term_register_output): Likewise.
35535
35536 * normal/handler.c: New file.
35537
35538 * normal/main.c (get_line): Renamed to grub_file_getline.
35539 (read_config_file): Use the newly renamed grub_file_getline.
35540 (read_command_list): Likewise.
35541 (read_fs_list): Likewise.
35542 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35543 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35544
35545 * term/efi/console.c (grub_console_init): Add name parameter for auto
35546 generation of handler.lst.
35547 * term/gfxterm.c: Likewise.
35548 * term/i386/pc/at_keyboard.c: Likewise.
35549 * term/i386/pc/console.c: Likewise.
35550 * term/i386/pc/serial.c: Likewise.
35551 * term/i386/pc/vesafb.c: Likewise.
35552 * term/i386/pc/vga.c: Likewise.
35553 * term/i386/pc/vga_text.c: Likewise.
35554 * term/ieee1275/ofconsole.c: Likewise.
35555 * term/usb_keyboard.c: Likewise.
35556
33c846be 355572009-04-14 Bean <bean123ch@gmail.com>
35558
35559 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35560 properly with null character.
35561
4484e01e 355622009-04-14 Felix Zielcke <fzielcke@z-51.de>
35563
35564 * configure: Remove.
35565 * config.h.in: Likewise.
f93d668e 35566 * stamp-h.in: Likewise.
4484e01e 35567 * DISTLIST: Likewise.
35568 * conf/common.mk: Likewise.
35569 * conf/i386-coreboot.mk: Likewise.
35570 * conf/i386-efi.mk: Likewise.
35571 * conf/i386-ieee1275.mk: Likewise.
35572 * conf/i386.mk: Likewise.
35573 * conf/i386-pc.mk: Likewise.
35574 * conf/powerpc-ieee1275.mk: Likewise.
35575 * conf/sparc64-ieee1275.mk: Likewise.
35576 * conf/x86_64-efi.mk: Likewise.
35577
35578 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35579 develop on GRUB.
35580
7dd4a573 355812009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35582 David S. Miller <davem@davemloft.net>
35583
35584 * util/hostdisk.c (make_device_name): Fix buffer length
35585 calculations.
35586
e25b5a8c 355872009-04-14 Felix Zielcke <fzielcke@z-51.de>
35588
35589 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35590 <sys/param.h> and <sys/sysctl.h>.
35591 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35592 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35593 opening the device and reset them afterwards.
35594
1f1f580c 355952009-04-13 Pavel Roskin <proski@gnu.org>
35596
35597 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35598 Reported by John Stanley <jpsinthemix@verizon.net>
35599
7ebc2d6b 356002009-04-13 Robert Millan <rmh@aybabtu.com>
35601
35602 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35603 that name for menuentries when appropriate.
7ebc2d6b 35604
d8ba3667 356052009-04-13 Felix Zielcke <fzielcke@z-51.de>
35606
35607 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35608
cba416eb 356092009-04-13 Robert Millan <rmh@aybabtu.com>
35610
35611 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35612 to Linux, simply abort telling the user it's no longer supported.
35613
a547a745 356142009-04-13 Felix Zielcke <fzielcke@z-51.de>
35615
35616 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35617 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35618 `freebsd_loadenv' only when devices.hints exist.
35619
232a769c 356202009-04-13 Pavel Roskin <proski@gnu.org>
35621
35622 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35623
c3012039 356242009-04-13 Felix Zielcke <fzielcke@z-51.de>
35625
35626 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35627 partition number.
35628 (grub_drive): Likewise.
35629
234022fe 356302009-04-13 David S. Miller <davem@davemloft.net>
35631
35632 * kern/sparc64/ieee1275/ieee1275.c: New file.
35633 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35634 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35635 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35636 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35637 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35638 grub_ieee1275_alloc_physmem): Declare new exported functions.
35639
d8e1836c 35640 * include/grub/sparc64/ieee1275/loader.h: New file.
35641 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35642 * include/grub/sparc64/kernel.h: Likewise.
35643 * loader/sparc64/ieee1275/linux.c: Likewise.
35644
96bd81ec 35645 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35646 (grub_fstest_SOURCES): Likewise.
35647
6a4737e5 35648 * util/hostdisk.c (make_device_name): Do not make any assumptions
35649 about the length of drive names.
35650
1d7a72fd 35651 * kern/dl.c (grub_dl_load_file): Close file immediately when
35652 we are done using it.
35653
56bc2471 356542009-04-12 David S. Miller <davem@davemloft.net>
35655
35656 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35657 values. Noticed by Pavel Roskin.
35658
df38d0bb 35659 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35660 target compiler.
7dd4a573 35661
e382e93a 35662 * genmk.rb: Add more flexible image type specification, also
35663 pass --strip-unneeded to objcopy.
35664 * conf/i386-pc.rmk: Use *_FORMAT.
35665 * conf/i386-pc.mk: Rebuilt.
35666
f5dbbca9 35667 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35668 (OFDISK_HASH_SZ): Define.
35669 (ofdisk_hash): New hash table.
35670 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35671 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35672 instead of device phandle which is not unique.
35673
91c88b12 35674 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35675 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35676 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35677 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35678 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35679 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35680 GRUB_KERNEL_MACHINE_DATA_END): Define.
35681 (grub_kernel_image_size, grub_total_module_size): Declare.
35682
5b5d4aa5 356832009-04-12 Pavel Roskin <proski@gnu.org>
35684
7dd4a573 35685 * configure.ac: Change the logic when we check for target tools.
35686 Do it when the target is specified and it's different from the
35687 specified value of the host.
5b5d4aa5 35688
c91e1793 356892009-04-11 Felix Zielcke <fzielcke@z-51.de>
35690
35691 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35692 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35693 GNU/kFreeBSD. Check if a device is a character device. Use
35694 DIOCGMEDIASIZE to get the size.
35695 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35696 support for GNU/kFreeBSD.
35697 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35698 is a character device instead of a block device. Add support for
35699 FreeBSD device names.
35700
35701 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35702 is a character device instead of a block device.
35703
35704 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35705 is a character device instead of a block device.
35706
b1ac8644 357072009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35708
35709 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35710 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35711 FreeBSD. Check if a device is a character device. Use
35712 DIOCGMEDIASIZE to get the size.
35713 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35714 support for FreeBSD.
35715 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35716 is a character device instead of a block device. Add support for
35717 FreeBSD device names.
35718
35719 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35720 a character device instead of a block device.
35721 (grub_util_check_char_device): New function.
35722
35723 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35724 a character device instead of a block device.
35725
35726 * include/grub/util/getroot.h (grub_util_check_char_device): New
35727 prototype.
35728
a3f7515a 357292009-04-11 David S. Miller <davem@davemloft.net>
35730
35731 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35732 static libgcc.
35733 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35734 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35735 function, if present.
35736 (__bswapdi2): Likewise.
35737
0d44993d 35738 * include/grub/sparc64/ieee1275/boot.h: New file.
35739 * boot/sparc64/ieee1275/boot.S: Likewise.
35740 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35741
ed3d2bc2 35742 * kern/misc.c (grub_ltoa): New function.
35743 (grub_vsprintf): Use it to format 'long' integers.
35744
d3bfb59c 357452009-04-10 David S. Miller <davem@davemloft.net>
35746
35747 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35748 slots are of type grub_ieee1275_cell_t.
35749 (grub_nand_read): Likewise.
35750 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35751 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35752 macros are used to compare values in arg/ret block of the call.
35753 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35754 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35755 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35756 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35757 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35758 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35759 grub_ieee1275_close, grub_ieee1275_set_property,
35760 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35761 grub_ieee1275_cell_t.
35762 * kern/ieee1275/openfw.c (grub_map): Likewise.
35763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35764 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35765
450e2238 35766 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35767 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35768 (grub_devalias_iterate): Likewise.
35769
7dd4a573 357702009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35771
35772 UFS improvements
35773
35774 * fs/ufs.c (INODE_NBLOCKS): new definition
35775 (struct grub_ufs_dirent): added fields for non-BSD dirents
35776 (grub_ufs_get_file_block): fixed double indirect handling
35777 (grub_ufs_lookup_symlink): use more robust way to determine whether
35778 symlink is inline
35779 (grub_ufs_find_file): support for non-BSD dirents
35780 (grub_ufs_dir): support for non-BSD dirents
35781
e7e6862a 357822009-04-10 Bean <bean123ch@gnail.com>
35783
35784 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35785 attribute, otherwise the size would be wrong for i386 platform.
35786
35787 * include/grub/pci.h (grub_pci_read_word): New inline function.
35788 (grub_pci_read_byte): Likewise.
35789 (grub_pci_write): Likewise.
35790 (grub_pci_write_word): Likewise.
35791 (grub_pci_write_byte): Likewise.
35792
35793 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35794
35795 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35796 (find_framebuf): Scan pci to locate the frame buffer address.
35797
35798 * commands/efi/fixvideo.c: New file.
35799
35800 * commands/efi/loadbios.c: Likewise.
35801
35802 * commands/memrw.c: Likewise.
35803
35804 * util/grub-dumpbios.in: Likewise.
35805
35806 * conf/common.rmk (grub-dumpbios): New utility.
35807 (pkglib_MODULES): New module memrw.mod.
35808 (memrw_mod_SOURCE): New macro.
35809 (memrw_mod_CFLAGS): Likewise.
35810 (memrw_mod_LDFLAGS): Likewise.
35811
7dd4a573 35812 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35813 fixvideo.mod.
35814 (loadbios_mod_SOURCE): New macro.
35815 (loadbios_mod_CFLAGS): Likewise.
35816 (loadbios_mod_LDFLAGS): Likewise.
35817 (fixvideo_mod_SOURCE): Likewise.
35818 (fixvideo_mod_CFLAGS): Likewise.
35819 (fixvideo_mod_LDFLAGS): Likewise.
35820
7dd4a573 35821 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35822 fixvideo.mod.
35823 (loadbios_mod_SOURCE): New macro.
35824 (loadbios_mod_CFLAGS): Likewise.
35825 (loadbios_mod_LDFLAGS): Likewise.
35826 (fixvideo_mod_SOURCE): Likewise.
35827 (fixvideo_mod_CFLAGS): Likewise.
35828 (fixvideo_mod_LDFLAGS): Likewise.
35829
af63ada2 358302009-04-08 Felix Zielcke <fzielcke@z-51.de>
35831
35832 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35833
c2cdde70 358342009-04-07 David S. Miller <davem@davemloft.net>
35835
35836 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35837 support for R_SPARC_OLO10 relocations. Fix compile warning for
35838 R_SPARC_WDISP30 case.
ea3f72cf 35839 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35840
761319cf 358412009-04-06 Pavel Roskin <proski@gnu.org>
35842
1007d1f5 35843 * include/grub/misc.h (ARRAY_SIZE): New macro.
35844 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35845 New macro.
35846 * loader/i386/linux.c (allocate_pages): Use free_pages().
35847 (grub_linux_unload): Don't use free_pages().
35848 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35849 wrong index. Treat all other modes as text modes.
35850 (grub_cmd_linux): Initialize vid_mode unconditionally to
35851 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35852
761319cf 35853 * commands/help.c (print_command_help): Use cmd->prio, not
35854 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35855
ea761d40 358562009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35857
ea761d40 35858 Parttool
35859
35860 * parttool/pcpart.c: new file
35861 * commands/parttool.c: likewise
35862 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35863 (parttool_mod_SOURCES): new variable
35864 (parttool_mod_CFLAGS): likewise
35865 (parttool_mod_LDFLAGS): likewise
35866 (pcpart_mod_SOURCES): likewise
35867 (pcpart_mod_CFLAGS): likewise
35868 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35870 and parttool/pcpart.c
35871 * conf/i386-efi.rmk: likewise
35872 * conf/i386-ieee1275.rmk: likewise
35873 * conf/i386-pc.rmk: likewise
35874 * conf/powerpc-ieee1275.rmk: likewise
35875 * conf/sparc64-ieee1275.rmk: likewise
35876 * conf/x86_64-ieee1275.rmk: likewise
35877
05aaebfb 358782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35879
35880 Support for mtime and further expandability of dir command
35881
35882 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35883 * include/grub/datetime.h: ... moved here and added
05aaebfb 35884 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35885 * include/grub/fs.h: new syntax for dir and mtime functions in
35886 struct grub_fs
05aaebfb 35887 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35888 and GRUB_FSHELP_FLAGS_MASK
35889 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35890 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35891 (grub_ext2_mtime): new function
35892 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35893 (grub_hfsplus_mtime): new function
35894 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35895 (GRUB_UFS_ATTR_FILE): likewise
35896 (GRUB_UFS_ATTR_LNK): likewise
35897 (struct grub_ufs_sblock): new fields mtime
35898 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35899 all users updated
35900 (grub_ufs_dir): mtime support
35901 (grub_ufs_mtime): new function
35902 * fs/affs.c (grub_affs_dir): use new dir syntax
35903 * fs/afs.c (grub_afs_dir): likewise
35904 * fs/cpio.c (grub_cpio_dir): likewise
35905 * fs/fat.c (grub_fat_find_dir): likewise
35906 * fs/hfs.c (grub_hfs_dir): likewise
35907 * fs/iso9660.c (grub_iso9660_dir): likewise
35908 * fs/jfs.c (grub_jfs_dir): likewise
35909 * fs/minix.c (grub_minix_dir): likewise
35910 * fs/ntfs.c (grub_ntfs_dir): likewise
35911 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35912 * fs/sfs.c (grub_sfs_dir): likewise
35913 * fs/xfs.c (grub_xfs_dir): likewise
35914 * util/hostfs.c (grub_hostfs_dir): likewise
35915 * lib/datetime.c: moved to ...
35916 * normal/datetime.c: ... moved here
35917 (grub_unixtime2datetime): new function
35918 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35919 * normal/completion.c (iterate_dir): use new dir syntax
35920 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35921 last modification time of a volume
7dd4a573 35922 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35923 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35925 (normal_mod_SOURCES): likewise
35926 (datetime_mod_SOURCES): Removed lib/datetime.c
35927 * conf/i386-efi.rmk: likewise
7dd4a573 35928 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35929 * conf/i386-pc.rmk: likewise
35930 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35931 * conf/sparc64-ieee1275.rmk: likewise
35932 * conf/x86_64-efi.rmk: likewise
05aaebfb 35933
8a7e1a14 359342009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35935
35936 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35937
35938 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35939 on grub_fat_find_dir
35940 (grub_fat_find_dir): use grub_fat_iterate_dir
35941 (grub_fat_label): likewise
35942
04186a9c 359432009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35944
7dd4a573 35945 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35946 and command.h
35947 remove extraneous kernel_elf_HEADERS
35948
da4c0bb6 359492009-04-04 Bean <bean123ch@gnail.com>
35950
35951 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35952
35953 * util/misc.c: Likewise.
35954
54ad9555 359552009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35956
35957 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35958 instead of grub_printf.
35959
7a6bf9f2 359602009-04-03 Robert Millan <rmh@aybabtu.com>
35961
35962 * loader/i386/linux.c (grub_linux_setup_video): Fill
35963 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35964 values from `mode info' structure instead of hardcoded
35965 values.
35966
3fcc2083 359672009-04-01 Pavel Roskin <proski@gnu.org>
35968
35969 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35970 unused now.
35971 * genmk.rb: Likewise.
35972 * configure.ac: Likewise.
35973
5ec9740b 359742009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35975
35976 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35977 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35978
5270cec8 359792009-04-01 David S. Miller <davem@davemloft.net>
35980
35981 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35982 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35983 (grub_setjmp): Mark with 'returns_twice' attribute.
35984 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35985 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35986 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35987
9c3dd854 359882009-04-01 Robert Millan <rmh@aybabtu.com>
35989
35990 Reapply fix from 2008-07-28 which was accidentally reverted; also
35991 perform the same fix to a similar check in same function.
35992
35993 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35994 with the same number are found, just use issue a warning with
35995 grub_dprintf(), as this error has been reported to be non-fatal.
35996
0d818b7e 359972009-03-31 Pavel Roskin <proski@gnu.org>
35998
35999 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36000 for cross-compilation.
36001
95646d92 360022009-03-30 Robert Millan <rmh@aybabtu.com>
36003
36004 Fix i386-ieee1275 build.
36005
36006 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36007 Remove declaration.
36008
6a003ed1 360092009-03-30 Pavel Roskin <proski@gnu.org>
36010
36011 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36012 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36013 zero-terminated, rely only on the strlen value. Fix comparison
36014 of strings differing in length.
36015
92f33540 360162009-03-30 Robert Millan <rmh@aybabtu.com>
36017
36018 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36019 checking for abi version. Improve error messages on BIOS to notify
36020 user about `linux16' command.
36021
a8c48fd5 360222009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36023
f968172e 36024 Leak fixes
a8c48fd5 36025
f968172e 36026 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36027 in case of collision
36028 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36029
9c323f09 360302009-03-29 Robert Millan <rmh@aybabtu.com>
36031
36032 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36033 set `vid_mode' accordingly.
36034 (grub_linux_boot): Process `vid_mode' and set video mode.
36035
ae68f423 360362009-03-29 Robert Millan <rmh@aybabtu.com>
36037
36038 * util/grub.d/10_linux.in (linux_entry): New function.
36039 Factorize generation of Linux boot entries.
36040
5709cfc4 360412009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36042
36043 Make the format of Environment Block plain text. The boot loader
36044 part is not tested well yet.
7dd4a573 36045
5709cfc4 36046 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36047 (buffer): Removed.
36048 (envblk): Likewise.
36049 (usage): Remove "info" and "clear". Add "unset". Update the
36050 description of "set", as this does not delete variables any
36051 longer.
36052 (create_envblk_file): Complete rewrite.
36053 (open_envblk_file): Likewise.
36054 (cmd_info): Removed.
36055 (cmd_list): Likewise.
36056 (cmd_set): Likewise.
36057 (cmd_clear): Likewise.
36058 (list_variables): New function.
36059 (write_envblk): Likewise.
36060 (set_variables): Likewise.
36061 (unset_variables): Likewise.
36062 (main): Complete rewrite.
36063
36064 * commands/loadenv.c (buffer): Removed.
36065 (envblk): Likewise.
36066 (open_envblk_file): New function.
36067 (read_envblk_file): Complete rewrite.
36068 (grub_cmd_load_env): Likewise.
36069 (grub_cmd_list_env): Likewise.
36070 (struct blocklist): New struct.
36071 (free_blocklists): New function.
36072 (check_blocklists): Likewise.
36073 (write_blocklists): Likewise.
36074 (grub_cmd_save_env): Complete rewrite.
36075
36076 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36077 a plain text signature.
36078 (GRUB_ENVBLK_MAXLEN): Removed.
36079 (struct grub_envblk): Complete rewrite.
36080 (grub_envblk_find): Removed.
36081 (grub_envblk_insert): Likewise.
36082 (grub_envblk_open): New prototype.
36083 (grub_envblk_set): Likewise.
36084 (grub_envblk_delete): Put const to VALUE.
36085 (grub_envblk_iterate): Put const to NAME and VALUE.
36086 (grub_envblk_close): New prototype.
36087 (grub_envblk_buffer): New inline function.
36088 (grub_envblk_size): Likewise.
36089
36090 * lib/envblk.c: Include grub/mm.h.
36091 (grub_env_find): Removed.
36092 (grub_envblk_open): New function.
36093 (grub_envblk_close): Likewise.
36094 (escaped_value_len): Likewise.
36095 (find_next_line): Likewise.
36096 (grub_envblk_insert): Removed.
36097 (grub_envblk_set): New function.
36098 (grub_envblk_delete): Complete rewrite.
36099 (grub_envblk_iterate): Likewise.
36100
a9368fd3 361012009-03-28 Robert Millan <rmh@aybabtu.com>
36102
36103 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36104 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36105 variables. Use 16-bit loader.
36106 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36107 loader.
36108 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36109 (grub_linux16_boot): ... this. Update all users.
36110 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36111 (grub_linux_boot): ... this. Update all users.
36112
36113 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36114 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36115 commands to `linux16' and `initrd16'.
36116 (GRUB_MOD_FINI(linux)): Rename to ...
36117 (GRUB_MOD_FINI(linux16)): ... this.
36118
e4dd5a7e 361192009-03-24 Pavel Roskin <proski@gnu.org>
36120
36121 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36122 not just for compilation.
36123
c04d6e05 361242009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36125
36126 Move multiboot helper out of kernel
36127
36128 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36129 `loader/i386/multiboot_helper.S'.
36130 * conf/i386-coreboot.rmk: Likewise
36131 * conf/i386-ieee1275.rmk: Likewise
36132
36133 * kern/i386/loader.S: Move multiboot helpers from here...
36134 * loader/i386/multiboot_helper.S: ...moved here
36135 * include/grub/i386/loader.h: Move declarations of multiboot
36136 helpers from here...
36137 * include/grub/i386/multiboot.h: ...moved here
36138 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36139
42a5b3fc 361402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36141
36142 * kern/env.c (grub_env_context_open): Added an argument to specify
36143 whether a new context inherits exported variables from current
36144 one. This is useful when making a sandbox to interpret a config
36145 file.
36146 All callers updated.
36147
36148 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36149
b28bbc4e 361502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36151
36152 * kern/env.c (grub_env_context_close): Fix memory leaks.
36153
f04f02e4 361542009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36155
36156 * normal/main.c (grub_normal_execute): Added an argument
36157 BATCH to specify if an interactive interface should be provided
36158 after reading a config file.
36159 All callers updated.
36160 (read_command_list): Prevent being executed twice.
36161 (read_fs_list): Likewise.
36162
42a5b3fc 36163 * include/grub/normal.h (grub_normal_execute): Updated the
36164 prototype.
f04f02e4 36165
41473ac2 361662009-03-22 Pavel Roskin <proski@gno.org>
36167
fbc00b0c 36168 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36169 _start.
36170 * kern/i386/pc/startup.S: Likewise.
36171 * kern/i386/efi/startup.S: Likewise.
36172 * kern/i386/ieee1275/startup.S: Likewise.
36173 * kern/i386/coreboot/startup.S: Likewise.
36174 * kern/x86_64/efi/startup.S: Likewise.
36175
41473ac2 36176 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36177 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36178 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36179
2274cc8f 361802009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36181
36182 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36183
36184 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36185 limit detection.
36186 Use vaddr of correct segment for entry_point.
36187
b1b797cb 361882009-03-21 Bean <bean123ch@gmail.com>
36189
36190 * commands/blocklist.c: Add include file <grub/command.h>, remove
36191 <grub/normal.h> and <grub/arg.h>.
36192 (grub_cmd_blocklist): Use the new command interface.
36193 (GRUB_MOD_INIT): Likewise.
36194 (GRUB_MOD_FINI): Likewise.
36195 * commands/boot.c: Likewise.
36196 * commands/cat.c: Likewise.
36197 * commands/cmp.c: Likewise.
36198 * commands/configfile.c: Likewise.
36199 * commands/crc.c: Likewise.
36200 * commands/echo.c: Likewise.
36201 * commands/halt.c: Likewise.
36202 * commands/handler.c: Likewise.
36203 * commands/hdparm.c: Likewise.
36204 * commands/help.c: Likewise.
36205 * commands/hexdump.c: Likewise.
36206 * commands/loadenv.c: Likewise.
36207 * commands/ls.c: Likewise.
36208 * commands/lsmmap.c: Likewise.
36209 * commands/lspci.c: Likewise.
36210 * commands/loadenv.c: Likewise.
36211 * commands/read.c: Likewise.
36212 * commands/reboot.c: Likewise.
36213 * commands/search.c: Likewise.
36214 * commands/sleep.c: Likewise.
36215 * commands/test.c: Likewise.
36216 * commands/usbtest.c: Likewise.
36217 * commands/videotest.c: Likewise.
36218 * commands/i386/cpuid.c: Likewise.
36219 * commands/i386/pc/halt.c: Likewise.
36220 * commands/i386/pc/play.c: Likewise.
36221 * commands/i386/pc/pxecmd.c: Likewise.
36222 * commands/i386/pc/vbeinfo.c: Likewise.
36223 * commands/i386/pc/vbetest.c: Likewise.
36224 * commands/ieee1275/suspend.c: Likewise.
36225 * disk/loopback.c: Likewise.
36226 * font/font_cmd.c: Likewise.
36227 * hello/hello.c: Likewise.
36228 * loader/efi/appleloader.c: Likewise.
36229 * loader/efi/chainloader.c: Likewise.
36230 * loader/i386/bsd.c: Likewise.
36231 * loader/i386/efi/linux.c: Likewise.
36232 * loader/i386/ieee1275/linux.c: Likewise.
36233 * loader/i386/linux.c: Likewise.
36234 * loader/i386/pc/chainloader.c: Likewise.
36235 * loader/i386/pc/linux.c: Likewise.
36236 * loader/powerpc/ieee1275/linux.c: Likewise.
36237 * loader/multiboot_loader.c: Likewise.
36238 * term/gfxterm.c: Likewise.
36239 * term/i386/pc/serial.c: Likewise.
36240 * term/terminfo.c: Likewise.
36241
36242 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36243 * term/i386/pc/vga.c: Likewise.
36244 * video/readers/jpeg.c: Likewise.
36245 * video/readers/png.c: Likewise.
36246 * video/readers/tga.c: Likewise.
36247
36248 * util/grub-fstest (cmd_loopback): Removed.
36249 (cmd_blocklist): Likewise.
36250 (cmd_ls): Likewise.
36251 (grub_register_command): Likewise.
36252 (grub_unregister_command): Likewise.
36253 (execute_command): Use grub_command_find to locate command and execute
36254 it.
36255
36256 * include/grub/efi/chainloader.h: Removed.
36257 * loader/efi/chainloader_normal.c: Likewise.
36258 * loader/i386/bsd_normal.c: Likewise.
36259 * loader/i386/pc/chainloader_normal.c: Likewise.
36260 * loader/i386/pc/multiboot_normal.c: Likewise.
36261 * loader/linux_normal.c: Likewise.
36262 * loader/multiboot_loader_normal.c: Likewise.
36263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36264
36265 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36266 and grub_register_command_p1.
36267
36268 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36269 kern/command.c, lib/arg.c and commands/extcmd.c.
36270 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36271 (minicmd_mod_SOURCES): New variable.
36272 (minicmd_mod_CFLAGS): Likewise.
36273 (minicmd_mod_LDFLAGS): Likewise.
36274 (extcmd_mod_SOURCES): Likewise.
36275 (extcmd_mod_CFLAGS): Likewise.
36276 (extcmd_mod_LDFLAGS): Likewise.
36277 (boot_mod_SOURCES): Removed.
36278 (boot_mod_CFLAGS): Likewise.
36279 (boot_mod_LDFLAGS): Likewise.
36280
36281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36282 kern/corecmd.c.
36283 (kernel_img_HEADERS): Add command.h.
36284 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36285 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36286 and lib/arg.c.
36287 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36288 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36289 remove the corresponding normal mode command.
36290 (normal_mod_SOURCES): Remove normal/arg.c.
36291 * conf/i386-coreboot.rmk: Likewise.
36292 * conf/i386-efi.rmk: Likewise.
36293 * conf/i386-ieee1275.rmk: Likewise.
36294 * conf/powerpc-ieee1275.rmk: Likewise.
36295 * conf/x86_64-efi.rmk: Likewise.
36296
36297 * include/grub/arg.h: Move from here ...
36298 * include/grub/lib/arg.h: ... to here.
36299
36300 * normal/arg.c: Move from here ...
36301 * lib/arg.c: ... to here.
36302
36303 * commands/extcmd.c: New file.
36304 * commands/minicmd.c: Likewise.
36305 * include/grub/command.h: Likewise.
36306 * include/grub/extcmd.h: Likewise.
36307 * kern/command.c: Likewise.
36308 * kern/corecmd.c: Likewise.
36309
36310 * kern/list.c (grub_list_iterate): Return int instead of void.
36311 (grub_list_insert): New function.
36312 (grub_prio_list_insert): Likewise.
36313
36314 * kern/rescue.c (grub_rescue_command): Removed.
36315 (grub_rescue_command_list): Likewise.
36316 (grub_rescue_register_command): Likewise.
36317 (grub_rescue_unregister_command): Likewise.
36318 (grub_rescue_cmd_boot): Move to minicmd.c
36319 (grub_rescue_cmd_help): Likewise.
36320 (grub_rescue_cmd_info): Likewise.
36321 (grub_rescue_cmd_boot): Likewise.
36322 (grub_rescue_cmd_testload): Likewise.
36323 (grub_rescue_cmd_dump): Likewise.
36324 (grub_rescue_cmd_rmmod): Likewise.
36325 (grub_rescue_cmd_lsmod): Likewise.
36326 (grub_rescue_cmd_exit): Likewise.
36327 (grub_rescue_print_devices): Moved to corecmd.c.
36328 (grub_rescue_print_files): Likewise.
36329 (grub_rescue_cmd_ls): Likewise.
36330 (grub_rescue_cmd_insmod): Likewise.
36331 (grub_rescue_cmd_set): Likewise.
36332 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36333 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36334 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36335 commands, remove grub_rescue_register_command calls.
b1b797cb 36336
7d074e3c 36337 * normal/command.c (grub_register_command): Removed.
b1b797cb 36338 (grub_unregister_command): Likewise.
36339 (grub_command_find): Likewise.
36340 (grub_iterate_commands): Likewise.
36341 (rescue_command): Likewise.
36342 (export_command): Moved to corecmd.c.
36343 (set_command): Removed.
36344 (unset_command): Likewise.
36345 (insmod_command): Likewise.
36346 (rmmod_command): Likewise.
36347 (lsmod_command): Likewise.
36348 (grub_command_init): Likewise.
36349
36350 * normal/completion.c (iterate_command): Use cmd->prio to check for
36351 active command.
36352 (complete_arguments): Use grub_extcmd_t structure to find options.
36353 (grub_normal_do_completion): Change function grub_iterate_commands to
36354 grub_command_iterate.
36355
36356 * normal/execute.c (grub_script_execute_cmd): No need to parse
36357 argument here.
36358
36359 * normal/main.c (grub_dyncmd_dispatcher): New function.
36360 (read_command_list): Register unload commands as dyncmd.
36361 (grub_cmd_normal): Use new command interface, register rescue,
36362 unregister normal at entry, register normal, unregister rescue at exit.
36363
36364 * include/grub/list.h (grub_list_test_t): New type.
36365 (grub_list_iterate): Return int instead of void.
36366 (grub_list_insert): New function.
36367 (GRUB_AS_NAMED_LIST_P): New macro.
36368 (GRUB_AS_PRIO_LIST): Likewise.
36369 (GRUB_AS_PRIO_LIST_P): Likewise.
36370 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36371 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36372 (grub_prio_list): New structure.
36373 (grub_prio_list_insert): New function.
36374 (grub_prio_list_remove): New inline function.
36375
36376 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36377 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36378 (GRUB_COMMAND_FLAG_MENU): Likewise.
36379 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36380 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36381 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36382 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36383 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36384 (grub_command): Likewise.
36385 (grub_register_command): Likewise.
36386 (grub_command_find): Likewise.
36387 (grub_iterate_commands): Likewise.
36388 (grub_command_init): Likewise.
36389 (grub_arg_parse): Likewise.
36390 (grub_arg_show_help): Likewise.
36391
36392 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36393 (grub_rescue_unregister_command): Likewise.
36394
36395 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36396 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36397 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36398
36399 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36400 grub_rescue_cmd_initrd.
36401 * include/grub/i386/loader.h: Likewise.
36402 * include/grub/x86_64/loader.h: Likewise.
36403
36404 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36405
1f4147aa 364062009-03-21 Bean <bean123ch@gmail.com>
36407
36408 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36409 instead of stat in mingw environment.
36410
36411 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36412
36413 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36414
36415 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36416 AC_CONFIG_LINKS.
36417
2156d5ba 364182009-03-21 Bean <bean123ch@gmail.com>
36419
36420 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36421 out of range error.
36422
177b82ca 364232009-03-18 Michel Dänzer <michel@daenzer.net>
36424
36425 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36426 checking inode flags for EXT4_EXTENTS_FLAG.
36427
14aad807 364282009-03-18 Robert Millan <rmh@aybabtu.com>
36429
36430 * loader/i386/linux.c: Include `<grub/video.h>' and
36431 `<grub/i386/pc/vbe.h>'..
36432 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36433 (grub_linux32_boot): Attempt to configure video settings with
36434 grub_linux_setup_video().
36435 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36436 to avoid grub_console_fini() which would step out of graphical mode
36437 unconditionally.
36438
8cf83a27 364392009-03-14 Robert Millan <rmh@aybabtu.com>
36440
36441 Fix build on powerpc.
36442 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36443
40164e75 364442009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36445
36446 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36447 background image command.
36448
c58bc32a 364492009-03-12 Colin D Bennett <colin@gibibit.com>
36450
36451 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36452 (grub_gfxterm_putchar): Extract pairs of identical calls to
36453 draw_cursor out of conditional blocks.
36454
5415144a 364552009-03-11 Pavel Roskin <proski@gnu.org>
36456
36457 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36458 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36459
6394042e 364602009-03-11 Robert Millan <rmh@aybabtu.com>
36461
36462 * loader/i386/multiboot_elfxx.c
36463 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36464
b7b50e5f 364652009-03-11 Felix Zielcke <fzielcke@z-51.de>
36466
36467 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36468 `kern/handler.c'.
36469
1ca7fc96 364702009-03-11 Robert Millan <rmh@aybabtu.com>
36471
36472 * loader/i386/multiboot.c (code_size): New variable.
36473 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36474 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36475 4-byte alignment to MBI and others by increasing
7d074e3c 36476 `boot_loader_name_length' appropriately.
1ca7fc96 36477
36478 * loader/i386/multiboot_elfxx.c
36479 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36480
a83ea1d2 364812009-03-09 Felix Zielcke <fzielcke@z-51.de>
36482
36483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36484 `fs/ext2.c'.
36485
aa9f3bff 364862009-03-08 Robert Millan <rmh@aybabtu.com>
36487
36488 Make loader/i386/linux.c usable on i386-pc again.
36489
36490 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36491 memory to heap.
36492 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36493 `#error' stanza.
36494
d8b3b60e 364952009-03-07 Bean <bean123ch@gmail.com>
36496
36497 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36498 allocation.
36499
b362c9e9 365002009-03-06 Robert Millan <rmh@aybabtu.com>
36501
36502 Fix display issue on terminals with screen size other than 80x25
36503 (e.g. gfxterm with resolution higher than 640x480).
36504
36505 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36506 position relative to the center of the terminal instead of relying
b362c9e9 36507 on a hardcoded offset.
36508
9304eef1 365092009-03-04 Robert Millan <rmh@aybabtu.com>
36510
36511 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36512 installed.
36513
36514 * Makefile.in (host_kernel): New variable.
36515 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36516 scripts instead of just the windows one.
36517 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36518
eabc95fb 365192009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36520
36521 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36522 `kern/handler.c'.
36523 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36529
ceb1223c 365302009-03-04 Felix Zielcke <fzielcke@z-51.de>
36531
36532 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36533 or if there's no space for the disk label and print the partition number on a
36534 invalid magic.
36535
4910684a 365362009-03-04 Felix Zielcke <fzielcke@z-51.de>
36537
36538 * util/misc.c: Include <time.h>.
36539 (grub_millisleep): New function.
36540
7e9ca17a 365412009-03-04 Bean <bean123ch@gmail.com>
36542
36543 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36544 another option -mno-red-zone.
36545
36546 * commands/handler.c: Change module description.
36547
36548 * kern/handler.c: Add missing space at the end of description line.
36549
36550 * kern/list.c: Likewise.
36551
f501677c 365522009-03-03 Robert Millan <rmh@aybabtu.com>
36553
36554 Move more components to the relocation area, and fix mbi pointer
36555 handling to use the destination rather than the origin (thanks to
36556 Vladimir Serbinenko for spotting).
36557
36558 * loader/i386/multiboot.c (mbi_dest): New variable.
36559 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36560 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36561 relocation area.
36562
9902d047 365632009-03-01 Bean <bean123ch@gmail.com>
36564
50fb7002 36565 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36566 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36567 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36568 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36569
36570 * loader/i386/efi/linux.c (acpi_guid): New variable.
36571 (acpi_guid): Likewise.
36572 (EBDA_SEG_ADDR): New constant.
36573 (LOW_MEM_ADDR): Likewise.
36574 (FAKE_EBDA_SEG): Likewise.
36575 (fake_bios_data): New function.
36576 (grub_linux_boot): Call fake_bios_data.
36577
71b9f361 365782009-03-01 Bean <bean123ch@gmail.com>
36579
36580 * commands/terminal.c: Removed.
36581
36582 * commands/handler.c: New file.
36583
36584 * include/grub/list.h: Likewise.
36585
36586 * include/grub/handler.h: Likewise.
36587
36588 * kern/list.c: Likewise.
36589
36590 * kern/handler.c: Likewise.
36591
36592 * kern/term.h: Include header file <grub/handler.h>.
36593 (grub_term_input): Move next field to the beginning.
36594 (grub_term_output): Likewise.
36595 (grub_term_input_class): New variable.
36596 (grub_term_output_class): Likewise.
36597 (grub_term_register_input): Changed to inline function.
36598 (grub_term_register_output): Likewise.
36599 (grub_term_unregister_input): Likewise.
36600 (grub_term_unregister_output): Likewise.
36601 (grub_term_set_current_input): Likewise.
36602 (grub_term_set_current_output): Likewise.
36603 (grub_term_get_current_input): Likewise.
36604 (grub_term_get_current_output): Likewise.
36605 (grub_term_iterate_input): Removed.
36606 (grub_term_iterate_output): Likewise.
36607
36608 * kern/term.c (grub_term_list_input): Removed.
36609 (grub_term_list_output): Likewise.
36610 (grub_term_input_class): New variable.
36611 (grub_term_output_class): Likewise.
50fb7002 36612 (grub_cur_term_input): Change variable as macro.
71b9f361 36613 (grub_cur_term_output): Likewise.
36614 (grub_term_register_input): Removed.
36615 (grub_term_register_output): Likewise.
36616 (grub_term_unregister_input): Likewise.
36617 (grub_term_unregister_output): Likewise.
36618 (grub_term_set_current_input): Likewise.
36619 (grub_term_set_current_output): Likewise.
36620 (grub_term_iterate_input): Likewise.
36621 (grub_term_iterate_output): Likewise.
36622 (grub_term_get_current_input): Likewise.
36623 (grub_term_get_current_output): Likewise.
36624
36625 * util/grub-editenv.c: Include header file <grub/handler.h>.
36626 (grub_term_get_current_input): Removed.
36627 (grub_term_get_current_output): Likewise.
36628 (grub_term_input_class): New variable.
50fb7002 36629 (grub_term_output_class): Likewise.
71b9f361 36630
36631 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36632 (grub_term_get_current_output): Likewise.
36633 (grub_term_input_class): New variable.
50fb7002 36634 (grub_term_output_class): Likewise.
71b9f361 36635
36636 * util/grub-probe.c (grub_term_get_current_input): Removed.
36637 (grub_term_get_current_output): Likewise.
36638 (grub_term_input_class): New variable.
50fb7002 36639 (grub_term_output_class): Likewise.
71b9f361 36640
36641 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36642 (grub_term_get_current_output): Likewise.
36643 (grub_term_input_class): New variable.
50fb7002 36644 (grub_term_output_class): Likewise.
71b9f361 36645
36646 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36647 (terminal_mod_SOURCES): Likewise.
36648 (terminal_mod_CFLAGS): Likewise.
36649 (terminal_mod_LDFLAGS): Likewise.
36650
36651 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36652 handler.c.
36653 (kernel_img_SOURCES): Add list.c and handler.c.
36654 (kernel_img_HEADERS): Add list.h and handler.h.
36655
36656 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36657 handler.c.
36658 (kernel_mod_SOURCES): Add list.c and handler.c.
36659 (kernel_mod_HEADERS): Add list.h and handler.h.
36660
36661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36662 handler.c.
36663 (kernel_elf_SOURCES): Add list.c and handler.c.
36664 (kernel_elf_HEADERS): Add list.h and handler.h.
36665
36666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36667 handler.c.
36668 (kernel_elf_SOURCES): Add list.c and handler.c.
36669 (kernel_elf_HEADERS): Add list.h and handler.h.
36670
36671 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36672 handler.c.
36673 (kernel_mod_SOURCES): Add list.c and handler.c.
36674 (kernel_mod_HEADERS): Add list.h and handler.h.
36675
36676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36677 handler.c.
36678 (kernel_elf_SOURCES): Add list.c and handler.c.
36679 (kernel_elf_HEADERS): Add list.h and handler.h.
36680
8a31787f 366812009-02-27 Robert Millan <rmh@aybabtu.com>
36682
36683 Factorize elf32 / elf64 code in Multiboot loader. This will
36684 prevent it from getting out of sync again.
36685
36686 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36687 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36688 grub_multiboot_load_elf64): Move from here ...
36689 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36690 grub_multiboot_load_elf): ... to here (new file).
36691
51cd3dfc 366922009-02-27 Robert Millan <rmh@aybabtu.com>
36693
36694 * util/grub.d/10_linux.in: Rename "single-user mode" to
36695 "recovery mode".
36696
6e8c9c3a 366972009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36698
36699 Don't leak in SCSI code.
36700 * disk/scsi.c (grub_scsi_close): free `scsi'.
36701
4b6bf4f9 367022009-02-27 Robert Millan <rmh@aybabtu.com>
36703
36704 * loader/i386/pc/multiboot.c: Move from here ...
36705 * loader/i386/multiboot.c: ... to here. Update all users.
36706
b9413424 367072009-02-27 Robert Millan <rmh@aybabtu.com>
36708
36709 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36710 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36711
50fb7002 367122009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36713
36714 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36715 b-tree.
36716
8cc50345 367172009-02-27 Robert Millan <rmh@aybabtu.com>
36718
36719 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36720 `0x' qualifier as 0 when base is specified as parameter).
36721
6e09b8b7 367222009-02-24 Bean <bean123ch@gmail.com>
36723
36724 * configure.ac: Check for -mcmodel=large in x86_64 target.
36725
36726 * include/grub/efi/api.h (efi_call_10): New macro.
36727 (efi_wrap_10): New function.
36728
36729 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36730 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36731 (GRUB_PE32_REL_BASED_LOW): Likewise.
36732 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36733 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36734 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36735 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36736 (GRUB_PE32_REL_BASED_REL): Likewise.
36737 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36738 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36739 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36740
36741 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36742 issue.
36743
36744 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36745 (efi_wrap_10): New function.
36746
36747 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36748
36749 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36750 MB/MBP model (NV chipset).
36751 (devdata_devs): Add devpath_5 to the list.
36752
36753 * load/i386/efi/linux.c (video_base): Remove variable.
36754 (RGB_MASK): New macro.
36755 (RGB_MAGIC): Likewise.
36756 (LINE_MIN): Likewise.
36757 (LINE_MAX): Likewise.
36758 (FBTEST_STEP): Likewise.
36759 (FBTEST_COUNT): Likewise.
36760 (fb_list): New variable.
36761 (grub_find_video_card): Remove function.
36762 (find_framebuf): New function.
36763 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36764 line length.
36765
36766 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36767 problem for x86_64.
36768
74b21bee 367692009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36770
36771 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36772
36773 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36774 coding tool name.
36775
a455f472 367762009-02-22 Robert Millan <rmh@aybabtu.com>
36777
36778 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36779 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36780 in our relocation, instead of using it directly from heap. Also
36781 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36782
6374daf3 367832009-02-21 Robert Millan <rmh@aybabtu.com>
36784
36785 Implement USB keyboard support (based on patch by Marco Gerards)
36786
36787 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36788 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36789 (usb_keyboard_mod_LDFLAGS): New variables.
36790
36791 * term/usb_keyboard.c: New file.
36792
8fa4ea70 367932009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36794
36795 Corrected wrong declaration
36796
36797 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36798
353976ac 367992009-02-14 Christian Franke <franke@computer.org>
36800
36801 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36802 (grub_lspci_iter): Print class code and programming interface byte.
36803
6aa1169b 368042009-02-14 Christian Franke <franke@computer.org>
36805
36806 * gendistlist.sh: Ignore `.svn' directories.
36807
265372ca 368082009-02-14 Felix Zielcke <fzielcke@z-51.de>
36809
36810 * fs/fat.c: Add 2009 to Copyright line.
36811
9ff516f3 368122009-02-14 Christian Franke <franke@computer.org>
36813
36814 * commands/hdparm.c: New file. Provides `hdparm' command
36815 which sends ATA commands via grub_disk_ata_pass_through ().
36816
36817 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36818
36819 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36820 and <grub/cpu/io.h> to include/grub/ata.h.
36821 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36822 (GRUB_CDROM_SECTOR_SIZE): Remove.
36823 (GRUB_ATA_*): Move to include/grub/ata.h.
36824 (GRUB_ATAPI_*): Likewise.
36825 (enum grub_ata_commands): Likewise.
36826 (enum grub_ata_timeout_milliseconds): Likewise.
36827 (struct grub_ata_device): Likewise.
36828 (grub_ata_regset): Likewise.
36829 (grub_ata_regget): Likewise.
36830 (grub_ata_regset2): Likewise.
36831 (grub_ata_regget2): Likewise.
36832 (grub_ata_check_ready): Likewise.
36833 (grub_ata_wait_not_busy): Remove static, exported in
36834 include/grub/ata.h.
36835 (grub_ata_wait_drq): Likewise.
36836 (grub_ata_pio_read): Likewise.
36837
36838 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36839 function for hdparm.mod.
36840
36841 * include/grub/ata.h: New file, contains declarations from
36842 disk/ata.c.
36843 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36844
36845 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36846 (grub_disk_ata_pass_through): New exported variable.
36847
36848 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36849
772e23da 368502009-02-13 Colin D Bennett <colin@gibibit.com>
36851
36852 Support multiple fallback entries, and provide an API to support
36853 executing default+fallback menu entries. Renamed the `terminal' menu
36854 viewer to `text'.
36855
36856 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36857 variable declaration.
36858 (grub_menu_execute_callback): New structure declaration.
36859 (grub_menu_execute_callback_t): New typedef.
36860 (grub_menu_execute_with_fallback): New function declaration.
36861 (grub_menu_get_entry): Likewise.
36862 (grub_menu_get_timeout): Likewise.
36863 (grub_menu_set_timeout): Likewise.
36864
36865 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36866
36867 * normal/menu.c (grub_wait_after_message): Moved to
36868 `normal/menu_text.c'.
36869 (draw_border): Likewise.
36870 (print_message): Likewise.
36871 (print_entry): Likewise.
36872 (print_entries): Likewise.
36873 (grub_menu_init_page): Likewise.
36874 (get_entry_number): Likewise.
36875 (print_timeout): Likewise.
36876 (run_menu): Likewise.
36877 (grub_menu_execute_entry): Likewise.
36878 (show_text_menu): Likewise.
36879 (get_and_remove_first_entry_number): New function.
36880 (grub_menu_execute_with_fallback): Likewise.
36881 (get_entry): Renamed to ...
36882 (grub_menu_get_entry): .. this and made it global.
36883 (get_timeout): Renamed to ...
36884 (grub_menu_get_timeout): ... this and made it global.
36885 (set_timeout): Renamed to ...
36886 (grub_menu_set_timeout): ... this and made it global.
36887 (grub_normal_terminal_menu_viewer): Renamed to ...
36888 (grub_normal_text_menu_viewer): ... this.
36889
36890 * normal/menu_text.c: New file. Extracted text-menu-specific code
36891 from normal/menu.c.
36892
36893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36894 (normal_mod_SOURCES): Likewise.
36895
36896 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36897 (normal_mod_SOURCES): Likewise.
36898
36899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36900 (normal_mod_SOURCES): Likewise.
36901
36902 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36903 (normal_mod_SOURCES): Likewise.
36904
36905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36906 (normal_mod_SOURCES): Likewise.
36907
36908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36909 (normal_mod_SOURCES): Likewise.
36910
36911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36912 (normal_mod_SOURCES): Likewise.
36913
16ac430e 369142009-02-11 Robert Millan <rmh@aybabtu.com>
36915
36916 * util/grub.d/00_header.in: Update old reference to `font' command.
36917
06ff20fc 369182009-02-10 Felix Zielcke <fzielcke@z-51.de>
36919
36920 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36921
36922 Based on patch from Javier Martín.
36923
96da9407 369242009-02-09 Felix Zielcke <fzielcke@z-51.de>
36925
36926 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36927 to avoid false positives with FAT.
96da9407 36928 (grub_fstest_SOURCES): Likewise.
36929 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36932 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36934 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36935
6dca6fe4 369362009-02-09 Felix Zielcke <fzielcke@z-51.de>
36937
06ff20fc 36938 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36939 bpb.version_specific.fat12_or_fat16.fstype and
36940 bpb.version_specific.fat32.fstype.
36941
2550c62f 369422009-02-08 Robert Millan <rmh@aybabtu.com>
36943
be110b30 36944 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36945
56978920 369462009-02-08 Robert Millan <rmh@aybabtu.com>
36947
36948 * Makefile.in (host_os, host_cpu): New variables.
36949 (target_os): Remove. Update all users.
36950
d64399b5 369512009-02-08 Marco Gerards <marco@gnu.org>
36952
36953 * Makefile.in (enable_grub_emu_usb): New variable.
36954 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36955 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36956 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36957 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36958 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36959 `usbtest.mod' and `usbms.mod'.
36960 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36961 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36962 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36963 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36964 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36965 variables.
36966
36967 * disk/usbms.c: New file.
36968
36969 * include/grub/usb.h: Likewise.
36970
36971 * include/grub/usbtrans.h: Likewise.
36972
36973 * include/grub/usbdesc.h: Likewise.
36974
36975 * bus/usb/usbtrans.c: Likewise.
36976
36977 * bus/usb/ohci.c: Likewise.
36978
36979 * bus/usb/uhci.c: Likewise.
36980
36981 * bus/usb/usbhub.c: Likewise.
36982
36983 * bus/usb/usb.c: Likewise.
36984
36985 * commands/usbtest.c: Likewise.
36986
36987 * util/usb.c: Likewise.
50fb7002 36988
d64399b5 36989 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36990
36991 * configure.ac: Test for libusb presence.
50fb7002 36992
d64399b5 36993 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36994
2b40d6bb 369952009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36996
36997 * kern/mm.c: Add more comments.
36998
73a4ce81 369992009-02-08 Robert Millan <rmh@aybabtu.com>
37000
37001 Patch from Javier Martín.
37002 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37003 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37004
f821ce59 370052009-02-08 Robert Millan <rmh@aybabtu.com>
37006
37007 * fs/cpio.c: Split tar functionality to ...
37008 * fs/tar.c: ... here (new file). Update all users.
37009
aebfc4b0 370102009-02-07 Robert Millan <rmh@aybabtu.com>
37011
37012 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37013 backward-incompatible features.
37014
37015 Based on patch from Javier Martín, with some adjustments.
37016
50fb7002 370172009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37018
37019 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37020
0bb5115e 370212009-02-07 Robert Millan <rmh@aybabtu.com>
37022
37023 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37024 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37025 after the RAID stuff.
37026
38a0f8e7 370272009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37028
50fb7002 37029 Fixes problem when running vbetest command as reported by
38a0f8e7 37030 Vladimir Serbinenko <phcoder@gmail.com>.
37031
37032 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37033
3143cc1c 370342009-02-04 Felix Zielcke <fzielcke@z-51.de>
37035
37036 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37037 /dev/md/NpN style mdraid devices.
37038
9cba6fce 370392009-02-03 Felix Zielcke <fzielcke@z-51.de>
37040
37041 * util/unifont2pff.rb: Remove.
37042
e507a2c1 370432009-02-03 Felix Zielcke <fzielcke@z-51.de>
37044
37045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37046 `#'.
37047
d2c2b4cd 370482009-02-03 Felix Zielcke <fzielcke@z-51.de>
37049
37050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37052 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37055 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37057
b4315fb0 370582009-02-02 Christian Franke <franke@computer.org>
37059
37060 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37061
de3aa260 370622009-02-01 Felix Zielcke <fzielcke@z-51.de>
37063
7c3ff286 37064 * INSTALL: Note that we now require at least autoconf 2.59 and
37065 that LZO is optional.
de3aa260 37066
825a182b 370672009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37068
37069 Base on patch on bug #24154 created by Tomas Tintera
37070 <trosos@seznam.cz>.
37071
37072 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37073
a69ef770 370742009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37075
7c3ff286 37076 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37077 <bero@arklinux.org>.
37078
37079 * normal/parser.y (script_init): Add missing semicolon.
37080
6fa42fa6 370812009-01-31 Colin D Bennett <colin@gibibit.com>
37082
7c3ff286 37083 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37084 (free_menu_entry_classes): Added.
37085 (grub_normal_menu_addentry): Added class property handling.
37086 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37087 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37088
37089 * normal/menu_viewer.c: New file.
37090
37091 * normal/menu.c (run_menu_entry): Renamed to ...
37092 (grub_menu_execute_entry): ... this and made it as global.
37093 (grub_menu_run): Renamed to ...
37094 (show_text_menu): ... this and made it local.
37095 (show_text_menu): Adapt to new function names.
37096 (grub_normal_terminal_menu_viewer): New global variable.
37097
37098 * include/grub/menu.h: New file.
37099
37100 * include/grub/menu_viewer.h: New file.
37101
37102 * include/grub/normal.h: Added include to grub/menu.h.
37103 (grub_menu_entry): Moved to include/grub/menu.h.
37104 (grub_menu_entry_t): Likewise.
37105 (grub_menu): Likewise.
37106 (grub_menu_t): Likewise.
37107 (grub_normal_terminal_menu_viewer): Added.
37108 (grub_menu_execute_entry): Likewise.
37109 (grub_menu_run): Removed.
37110
37111 * DISTLIST: Added include/grub/menu.h.
37112 Added include/grub/menu_viewer.h.
37113 Added normal/menu_viewer.c.
37114
371152009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37116
37117 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37118 arglist for menutitle arguments.
37119
37120 * normal/main.c (grub_normal_menu_addentry): Likewise.
37121
37122 * normal/parser.y (menuentry): Likewise.
37123
37124 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37125
37126 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37127 (grub_script_create_cmdmenu): Likewise.
37128
37129 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37130
37131 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37132 changes.
37133
37134 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37135
37136 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37137
37138 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37139
37140 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37141
37142 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37143
37144 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37145
56192c23 371462009-01-30 Christian Franke <franke@computer.org>
37147
37148 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37149 in option help text.
37150
d72521b3 371512009-01-27 Pavel Roskin <proski@gnu.org>
37152
37153 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37154
994b5e84 371552009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37156
37157 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37158
37159 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37160
37161 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37162 unregister function.
37163
6a7eab2c 371642009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37165
37166 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37167
37168 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37169
37170 * util/grub-mkfont.c (usage): Fix typo.
37171
37172 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37173
1806b56e 371742009-01-26 Daniel Mierswa <impulze@impulze.org>
37175
3fb18f09 37176 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37177
336e1fb9 37178 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37179
1806b56e 37180 * kern/misc.c (grub_strcasecmp): New function.
37181 (grub_strcasecmp): Use grub_size_t instead of int for length.
37182 Fix return value.
37183 * include/grub/misc.h: Update function prototypes.
37184
580b2a0f 371852009-01-26 Robert Millan <rmh@aybabtu.com>
37186
37187 * configure.ac: Fix cross-compilation check.
ef257b36 37188
d31c24f1 371892009-01-22 Christian Franke <franke@computer.org>
37190
37191 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37192 (precision) digit string. Allow `.format2' without `format1' (width).
37193 Limit input chars for `%s' output to `format2' if specified. This is
37194 compatible with standard printf ().
37195
3138b44c 371962009-01-22 Christian Franke <franke@computer.org>
37197
37198 * disk/ata.c (grub_ata_wait_status): Replace by ...
37199 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37200 other status bits may be invalid while BSY is asserted.
37201 (grub_ata_check_ready): New function.
37202 (grub_ata_cmd): Removed.
37203 (grub_ata_wait_drq): New function.
37204 (grub_ata_strncpy): Remove inline.
37205 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37206 and error check now done by grub_ata_wait_drq ().
37207 (grub_ata_pio_write): Likewise.
37208 (grub_atapi_identify): Set DEV before check for !BSY. Use
37209 grub_ata_wait_drq () to wait for data.
37210 (grub_ata_device_initialize): Add status register check to
37211 detect missing SATA slave devices. Add debug messages.
37212 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37213 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37214 transfer loop by grub_ata_pio_write ().
37215 (grub_ata_identify): Set DEV before check for !BSY. Use
37216 grub_ata_wait_drq () to wait for data.
ef257b36 37217 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37218 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37219 read/write in one loop. Fix invalid command on write. Fix incomplete
37220 command on (size % batch) == 0. Add missing error check after write of
37221 last block. Add debug messages.
37222 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37223
59a64ef6 372242009-01-19 Christian Franke <franke@computer.org>
37225
37226 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37227 (GRUB_ATAPI_IREASON_*): Likewise.
37228 (grub_ata_pio_write): Fix timeout error return.
37229 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37230 (grub_atapi_wait_drq): New function.
37231 (grub_atapi_packet): New parameter `size'.
37232 Use grub_atapi_wait_drq () and direct write instead of
37233 grub_ata_pio_write ().
37234 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37235 reads the number of bytes requested by the device for each DRQ
37236 assertion.
37237 (grub_atapi_write): Remove old implementation, return not
37238 implemented instead.
37239
1cfe20b3 372402009-01-19 Christian Franke <franke@computer.org>
37241
37242 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37243 of 512 to calculate data size.
37244 (grub_scsi_read12): Likewise.
37245 (grub_scsi_write10): Likewise.
37246 (grub_scsi_write12): Likewise.
37247 (grub_scsi_read): Adjust size according to blocksize.
37248 Add checks for invalid blocksize and unaligned transfer.
37249
bee5fe5d 372502009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37251
37252 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37253
ef257b36 37254 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37255 width glyphs.
37256
3e643f8c 372572009-01-19 Robert Millan <rmh@aybabtu.com>
37258
37259 * config.guess: Update to latest version from config git.
37260 * config.sub: Likewise.
37261
4fa80998 372622009-01-17 Felix Zielcke <fzielcke@z-51.de>
37263
37264 * Makefile.in: Change font compilation to use new grub-mkfont instead
37265 of java version.
37266
37267 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37268 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37269 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37270 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37271 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37272 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37273 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37274 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37275 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37276
7086085b 372772009-01-16 Christian Franke <franke@computer.org>
37278
37279 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37280 (enum grub_ata_timeout_milliseconds): New enum.
37281 (grub_ata_wait_status): Add parameter milliseconds.
37282 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37283 recovery from timed-out commands.
37284 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37285 return grub_errno instead of REG_ERROR.
37286 (grub_ata_pio_write): Add parameter milliseconds.
37287 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37288 Pass milliseconds to grub_ata_wait_status () and
37289 grub_ata_pio_read ().
37290 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37291 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37292 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37293 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37294 It is not suitable for device detection, because DEV bit is ignored,
37295 the command may run too long, and not all devices set the signature
37296 properly.
37297 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37298 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37299 Fix device selection, DEV bit must be set first to address the registers
37300 of the correct device.
37301 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37302 grub_ata_pio_read/write ().
37303 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37304 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37305
4a412913 373062009-01-13 Carles Pina i Estany <carles@pina.cat>
37307
37308 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37309
7795c55e 373102009-01-13 Bean <bean123ch@gmail.com>
d913988c 37311
37312 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37313
7795c55e 373142009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37315
37316 * Makefile.in: (enable_grub_mkfont): New variable.
37317 (freetype_cflags): Likewise.
37318 (freetype_libs): Likewise.
37319
37320 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37321 (grub_mkfont_SOURCES): New variable.
37322 (grub_mkfont_CFLAGS): Likewise.
37323 (grub_mkfont_LDFLAGS): Likewise.
37324
37325 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37326 library if `--enable-grub-mkfont' is requested.
37327 (enable_grub_mkfont): New variable.
37328 (freetype_cflags): Likewise.
37329 (freetype_libs): Likewise.
37330
37331 * util/grub-mkfont.c: New file.
37332
093af1fe 373332009-01-12 Christian Franke <franke@computer.org>
37334
37335 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37336 mode check. Fix setting of compat_use[].
37337
f36cc108 373382009-01-10 Robert Millan <rmh@aybabtu.com>
37339
37340 Update a few copyright years which we forgot to do in 2008 (only for
37341 files whose changes made in 2008 were copyright-significant)
37342
37343 * Makefile.in: Add 2008 to Copyright line.
37344 * disk/ieee1275/ofdisk.c: Likewise.
37345 * disk/efi/efidisk.c: Likewise.
37346 * kern/dl.c: Likewise.
37347 * kern/sparc64/ieee1275/init.c: Likewise.
37348 * kern/mm.c: Likewise.
37349 * kern/efi/mm.c: Likewise.
37350 * boot/i386/pc/boot.S: Likewise.
37351 * genfslist.sh: Likewise.
37352 * fs/iso9660.c: Likewise.
37353 * fs/hfs.c: Likewise.
37354 * fs/jfs.c: Likewise.
37355 * fs/minix.c: Likewise.
37356 * fs/ufs.c: Likewise.
37357 * gensymlist.sh.in: Likewise.
37358 * genkernsyms.sh.in: Likewise.
37359 * include/grub/misc.h: Likewise.
37360 * include/grub/types.h: Likewise.
37361 * include/grub/symbol.h: Likewise.
37362 * include/grub/elf.h: Likewise.
37363 * include/grub/kernel.h: Likewise.
37364 * include/grub/disk.h: Likewise.
37365 * include/grub/dl.h: Likewise.
37366 * include/grub/i386/linux.h: Likewise.
37367 * include/grub/i386/pc/biosdisk.h: Likewise.
37368 * include/grub/efi/api.h: Likewise.
37369 * include/grub/efi/pe32.h: Likewise.
37370 * include/grub/util/misc.h: Likewise.
37371 * normal/execute.c: Likewise.
37372 * normal/arg.c: Likewise.
37373 * normal/completion.c: Likewise.
37374 * normal/lexer.c: Likewise.
37375 * normal/parser.y: Likewise.
37376 * normal/misc.c: Likewise.
37377 * commands/i386/pc/vbeinfo.c: Likewise.
37378 * commands/hexdump.c: Likewise.
37379 * commands/terminal.c: Likewise.
37380 * commands/ls.c: Likewise.
37381 * commands/help.c: Likewise.
37382 * partmap/pc.c: Likewise.
37383 * loader/efi/chainloader.c: Likewise.
37384 * loader/multiboot_loader.c: Likewise.
37385 * loader/i386/pc/multiboot2.c: Likewise.
37386 * term/efi/console.c: Likewise.
37387 * term/i386/pc/serial.c: Likewise.
37388 * util/lvm.c: Likewise.
37389 * util/console.c: Likewise.
37390 * util/i386/efi/grub-mkimage.c: Likewise.
37391 * util/raid.c: Likewise.
37392
7f02114b 373932009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37394
37395 * commands/videotest.c: Removed include to grub/machine/memory.h.
37396
37397 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37398 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37399 (video_mod_SOURCES): Removed.
37400 (video_mod_CFLAGS): Likewise.
37401 (video_mod_LDFLAGS): Likewise.
37402 (gfxterm_mod_SOURCES): Likewise.
37403 (gfxterm_mod_CFLAGS): Likewise.
37404 (gfxterm_mod_LDFLAGS): Likewise.
37405 (videotest_mod_SOURCES): Likewise.
37406 (videotest_mod_CFLAGS): Likewise.
37407 (videotest_mod_LDFLAGS): Likewise.
37408 (bitmap_mod_SOURCES): Likewise.
37409 (bitmap_mod_CFLAGS): Likewise.
37410 (bitmap_mod_LDFLAGS): Likewise.
37411 (tga_mod_SOURCES): Likewise.
37412 (tga_mod_CFLAGS): Likewise.
37413 (tga_mod_LDFLAGS): Likewise.
37414 (jpeg_mod_SOURCES): Likewise.
37415 (jpeg_mod_CFLAGS): Likewise.
37416 (jpeg_mod_LDFLAGS): Likewise.
37417 (png_mod_SOURCES): Likewise.
37418 (png_mod_CFLAGS): Likewise.
37419 (png_mod_LDFLAGS): Likewise.
37420
37421 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37422 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37423 (video_mod_SOURCES): Added.
37424 (video_mod_CFLAGS): Likewise.
37425 (video_mod_LDFLAGS): Likewise.
37426 (videotest_mod_SOURCES): Likewise.
37427 (videotest_mod_CFLAGS): Likewise.
37428 (videotest_mod_LDFLAGS): Likewise.
37429 (bitmap_mod_SOURCES): Likewise.
37430 (bitmap_mod_CFLAGS): Likewise.
37431 (bitmap_mod_LDFLAGS): Likewise.
37432 (tga_mod_SOURCES): Likewise.
37433 (tga_mod_CFLAGS): Likewise.
37434 (tga_mod_LDFLAGS): Likewise.
37435 (jpeg_mod_SOURCES): Likewise.
37436 (jpeg_mod_CFLAGS): Likewise.
37437 (jpeg_mod_LDFLAGS): Likewise.
37438 (png_mod_SOURCES): Likewise.
37439 (png_mod_CFLAGS): Likewise.
37440 (png_mod_LDFLAGS): Likewise.
37441 (gfxterm_mod_SOURCES): Likewise.
37442 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37443 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37444
37445 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37446 grub/machine/console.h.
37447
644fff97 374482009-01-04 Jerone Young <jerone@gmail.com>
37449
37450 Make on screen instructions clearer
37451
37452 Based on patch created by Jidanni <jidanni@jidanni.org>
37453
37454 * normal/menu.c: print clearer instructions on the screen
37455
1e901a75 374562009-01-02 Colin D Bennett <colin@gibibit.com>
37457
37458 New font engine.
34c44600 37459
1e901a75 37460 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37461 build system and fixed gfxterm.c to work with different sized fonts.
37462
37463 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37464
1e901a75 37465 * configure: Re-generated.
34c44600 37466
1e901a75 37467 * DISTLIST: Removed font/manager.c.
37468 Added font/font.c.
37469 Added font/font_cmd.c.
34c44600 37470
1e901a75 37471 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37472 compilation.
34c44600 37473
1e901a75 37474 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37475
37476 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37477
37478 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37479
1e901a75 37480 * normal/menu.c: Likewise.
34c44600 37481
1e901a75 37482 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37483 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37484
1e901a75 37485 * include/grub/font.h: Replaced with new file.
34c44600 37486
1e901a75 37487 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37488 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37489 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37490 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37491 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37492 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37493 fg_red, fg_green, fg_blue, fg_alpha.
37494 (grub_video_adapter): Removed blit_glyph.
34c44600 37495 (grub_video_blit_glyph): Removed.
37496
1e901a75 37497 * font/manager.c: Removed file.
34c44600 37498
37499 * font/font.c: New file.
37500
1e901a75 37501 * font/font_cmd.c: Likewise.
34c44600 37502
1e901a75 37503 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37504
1e901a75 37505 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37506 (grub_video_vbe_map_rgba): Likewise.
37507 (grub_video_vbe_unmap_color_int): Likewise.
37508 (grub_video_vbe_blit_glyph): Removed.
37509 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37510
1e901a75 37511 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37512 (get_pixel): Likewise.
34c44600 37513 (set_pixel): Likewise.
37514
1e901a75 37515 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37516
1e901a75 37517 * term/gfxterm.c: Adapted to new font engine.
34c44600 37518
1e901a75 37519 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37520
1e901a75 37521 * term/i386/pc/vga.c: Likewise.
34c44600 37522
1e901a75 37523 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37524
1e901a75 37525 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37526
1e901a75 37527 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37528
1e901a75 37529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37530
1e901a75 37531 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37532
1e901a75 37533 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37534
1e901a75 37535 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37536
1e901a75 37537 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37538
1e901a75 37539 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37540
37541 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37542
1e901a75 37543 * util/grub-mkconfig_lib.in: Changed font extension.
37544
278922e8 375452008-12-28 Felix Zielcke <fzielcke@z-51.de>
37546
37547 * util/getroot.c (grub_util_get_grub_dev): Add support for
37548 /dev/md/dNNpNN style partitionable mdraid devices.
37549
3ced05cf 375502008-12-12 Alex Smith <alex@alex-smith.me.uk>
37551
37552 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37553 at a time limit of the PXE TFTP API correctly.
37554 (grub_pxefs_close): Likewise.
37555
7fd0ee30 375562008-11-29 Robert Millan <rmh@aybabtu.com>
37557
34c44600 37558 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37559 grub_ata_device_initialize() calls.
37560
34c44600 375612008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37562
37563 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37564 iteration failed.
37565 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37566
89313780 375672008-11-28 Robert Millan <rmh@aybabtu.com>
37568
37569 Fix build on powerpc-ieee1275. Based on patch created by
37570 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37571 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37572 `kern/ieee1275/mmap.c'.
37573 * include/grub/powerpc/ieee1275/memory.h: New file.
37574
15257703 37575 Provide grub-install on coreboot.
37576 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37577 (grub_install_SOURCES): New variable.
37578 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37579 usable on coreboot.
37580
9fc5388a 375812008-11-25 Felix Zielcke <fzielcke@z-51.de>
37582
37583 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37584 to `grub_term_input_t'.
37585 (grub_term_get_current_output): Change return type to
37586 `grub_term_output_t'.
37587
bc3a2f31 375882008-11-22 Robert Millan <rmh@aybabtu.com>
37589
34c44600 37590 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37591 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37592 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37593 grub_vga_text_cls().
37594
80fc88f2 37595 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37596 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37597
cbf36fd3 37598 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37599 to 0x200000 (avoids trouble with some OFW implementations, and matches
37600 with the one in Yaboot).
37601 Reported by Manoel Abranches
37602
73e8e268 376032008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37604
37605 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37606 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37607
73e8e268 37608 * util/grub-mkconfig_lib.in (grub_warn): New function.
37609 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37610 warnings, to obtain consistent formatting.
37611 * util/grub.d/00_header.in: Likewise.
37612 * util/update-grub_lib.in: Likewise.
37613
e94045a1 37614 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37615 Move comment text to `#error' stanza.
e94045a1 37616
79d29fd7 37617 Harmonize ieee1275's grub_available_iterate() with the generic
37618 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37619 build problem on i386-ieee1275):
37620 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37621 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37622 parameter `type'. Update all users of this function.
37623 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37624 `kern/ieee1275/mmap.c'.
37625 * kern/ieee1275/init.c
37626 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37627 with ...
37628 (grub_machine_mmap_iterate): ... this.
37629 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37630 return type to `grub_err_t'. Update all implementations of this
37631 function prototype.
37632 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37633 Likewise.
37634
60d6b16e 37635 Add `lsmmap' command (lists firmware-provided memory map):
37636 * commands/lsmmap.c: New file.
37637 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37638 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37639 variables.
37640 * conf/powerpc-ieee1275.rmk: Likewise.
37641 * conf/i386-coreboot.rmk: Likewise.
37642 * conf/i386-ieee1275.rmk: Likewise.
37643
ebaaf49b 376442008-11-19 Robert Millan <rmh@aybabtu.com>
37645
37646 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37647 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37648 constraints to initrd allocation (based on code from
37649 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37650 for Linux to find it.
ebaaf49b 37651
dfab719f 376522008-11-14 Robert Millan <rmh@aybabtu.com>
37653
37654 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37655 order to cope with duplicate slashes.
37656
10fc3eb9 376572008-11-14 Robert Millan <rmh@aybabtu.com>
37658
37659 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37660 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37661 don't want to mess with lower memory, because it is used in the Linux
37662 loader.
37663
37664 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37665 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37666 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37667 is in our heap (probably as a result of it being corrupted during
2f2a3442 37668 decompression). Add #error instance with comment to explain why this
37669 loader isn't currently usable on PC/BIOS.
10fc3eb9 37670
e2e07847 376712008-11-14 Robert Millan <rmh@aybabtu.com>
37672
37673 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37674 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37675
fe8e8d69 376762008-11-12 Robert Millan <rmh@aybabtu.com>
37677
37678 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37679
37680 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37681 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37682 from here ...
37683 * include/grub/i386/pc/memory.h: ... to here.
37684
976b07d0 376852008-11-12 Robert Millan <rmh@aybabtu.com>
37686
37687 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37688 split).
37689
37690 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37691 (grub_console_cur_color, grub_console_real_putchar)
37692 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37693 (grub_console_setcolorstate, grub_console_setcolor)
37694 (grub_console_getcolor): Move from here ...
37695 * include/grub/i386/vga_common.h: ... to here (new file).
37696
37697 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37698 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37699 `<grub/i386/io.h>'.
37700 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37701 `<grub/i386/vga_common.h>'.
37702
76679cd3 377032008-11-12 Robert Millan <rmh@aybabtu.com>
37704
37705 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37706 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37707 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37708 variables.
37709 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37710 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37711
37712 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37713 grub_console_init() with call to grub_vga_text_init().
37714 (grub_machine_fini): Replace call to
37715 grub_console_fini() with call to grub_vga_text_fini() and
37716 grub_at_keyboard_fini().
37717
37718 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37719 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37720 (grub_console_setcolorstate, grub_console_setcolor)
37721 (grub_console_getcolor): New function prototypes.
37722
37723 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37724 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37725 (grub_vga_text_setcursor): Static-ize.
37726 (grub_vga_text_term): New structure.
37727 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37728
37729 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37730 (grub_console_cur_color, grub_console_standard_color)
37731 (grub_console_normal_color, grub_console_highlight_color)
37732 (map_char, grub_console_putchar, grub_console_getcharwidth)
37733 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37734 (grub_console_getcolor): Move from here ...
37735 * term/i386/vga_common.c: ... to here (same function names).
37736
95b841d3 377372008-11-12 Robert Millan <rmh@aybabtu.com>
37738
37739 Use newly-added Multiboot support in coreboot.
37740
37741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37742 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37743
37744 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37745 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37746 (codestart): Store the MBI in `startup_multiboot_info' when we're
37747 being loaded using Multiboot.
37748
37749 * kern/i386/coreboot/init.c (grub_machine_init): Move
37750 grub_at_keyboard_init() call to beginning of function (useful for
37751 debugging). Call grub_machine_mmap_init() before attempting to use
37752 grub_machine_mmap_iterate().
37753 (grub_lower_mem, grub_upper_mem): Move from here ...
37754 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37755 here (new file).
37756
37757 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37758 function prototype.
37759
761ca975 377602008-11-12 Robert Millan <rmh@aybabtu.com>
37761
37762 Fix a regression introduced by the at_keyboard.mod split. Because
37763 some terminals are default on some platforms and non-default on
37764 others, the first terminal being registered determines which is
37765 going to be default.
37766
37767 * kern/term.c (grub_term_register_input): If this is the first
37768 terminal being registered, set it as the current one.
37769 (grub_term_register_output): Likewise.
37770
37771 * term/efi/console.c (grub_console_init): Do not call
37772 grub_term_set_current_output() or grub_term_set_current_input().
37773 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37774 * term/i386/pc/console.c (grub_console_init): Likewise.
37775 (grub_console_fini): Do not call grub_term_set_current_input()
37776 (but leave grub_term_set_current_output() to restore text mode).
37777
6c529df7 377782008-11-10 Robert Millan <rmh@aybabtu.com>
37779
37780 * util/grub.d/00_header.in: Add backward compatibility check for
37781 versions of terminal.mod that don't understand `terminal_input' or
37782 `terminal_output'.
37783
132e4113 377842008-11-09 Robert Millan <rmh@aybabtu.com>
37785
37786 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37787 `terminal_input' / `terminal_output', not `terminal'.
37788
ac293d50 377892008-11-08 Robert Millan <rmh@aybabtu.com>
37790
37791 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37792 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37793
0025933a 377942008-11-08 Robert Millan <rmh@aybabtu.com>
37795
37796 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37797 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37798 members. Update all users.
37799 * util/console.c (grub_ncurses_term): Split in ...
37800 (grub_ncurses_term_input): ... this, and ...
37801 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37802 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37803
37c86336 378042008-11-08 Robert Millan <rmh@aybabtu.com>
37805
37806 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37807 (PKGDATA): Add $(pkgdata_SRCDIR).
37808 (pkglib_BUILDDIR): New variable.
37809 (pkgdata_SRCDIR): New variable.
37810 (build_env.mk): New target.
37811 (include_DATA): New variable.
37812 (install-local): Install $(include_DATA) files in $(includedir).
37813
b6c15a2d 378142008-11-07 Pavel Roskin <proski@gnu.org>
37815
d99d46f1 37816 * gendistlist.sh: Use C locale for sorting to ensure consistent
37817 output on all systems.
37818
b6c15a2d 37819 * util/grub.d/00_header.in: Remove incorrect space before
37820 "serial".
37821
c32ee8c9 378222008-11-07 Robert Millan <rmh@aybabtu.com>
37823
37824 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37825 per specification.
37826 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37827 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37828 (based on find_multi_boot1_header).
37829 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37830 using find_multi_boot2_header(), and abort if neither Multiboot or
37831 Multiboot headers were found.
37832
651c29b7 378332008-11-07 Robert Millan <rmh@aybabtu.com>
37834
37835 Modularize at_keyboard.mod:
37836
37837 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37838 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37839 (at_keyboard_mod_LDFLAGS): New variables.
37840
37841 Actual terminal split:
37842
37843 * include/grub/term.h (struct grub_term): Split in ...
37844 (struct grub_term_input): ... this, and ...
37845 (struct grub_term_output): ... this. Update all users.
37846 (grub_term_set_current): Split in ...
37847 (grub_term_set_current_input): ... this, and ...
37848 (grub_term_set_current_output): ... this.
37849 (grub_term_get_current): Split in ...
37850 (grub_term_get_current_input): ... this, and ...
37851 (grub_term_get_current_output): ... this.
37852 (grub_term_register): Split in ...
37853 (grub_term_register_input): ... this, and ...
37854 (grub_term_register_output): ... this.
37855 (grub_term_unregister): Split in ...
37856 (grub_term_unregister_input): ... this, and ...
37857 (grub_term_unregister_output): ... this.
37858 (grub_term_iterate): Split in ...
37859 (grub_term_iterate_input): ... this, and ...
37860 (grub_term_iterate_output): ... this.
37861
37862 * kern/term.c (grub_term_list): Split in ...
37863 (grub_term_list_input): ... this, and ...
37864 (grub_term_list_output): ... this. Update all users.
37865 (grub_cur_term): Split in ...
37866 (grub_cur_term_input): ... this, and ...
37867 (grub_cur_term_output): ... this. Update all users.
37868 (grub_term_set_current): Split in ...
37869 (grub_term_set_current_input): ... this, and ...
37870 (grub_term_set_current_output): ... this.
37871 (grub_term_get_current): Split in ...
37872 (grub_term_get_current_input): ... this, and ...
37873 (grub_term_get_current_output): ... this.
37874 (grub_term_register): Split in ...
37875 (grub_term_register_input): ... this, and ...
37876 (grub_term_register_output): ... this.
37877 (grub_term_unregister): Split in ...
37878 (grub_term_unregister_input): ... this, and ...
37879 (grub_term_unregister_output): ... this.
37880 (grub_term_iterate): Split in ...
37881 (grub_term_iterate_input): ... this, and ...
37882 (grub_term_iterate_output): ... this.
37883
37884 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37885 a check for input and one for output (and only attempt to get keys
37886 from user when input works).
37887
37888 * util/grub-probe.c (grub_term_get_current): Split in ...
37889 (grub_term_get_current_input): ... this, and ...
37890 (grub_term_get_current_output): ... this.
37891 * util/grub-fstest.c: Likewise.
37892 * util/i386/pc/grub-setup.c: Likewise.
37893 * util/grub-editenv.c: Likewise.
37894
37895 Portability adjustments:
37896
37897 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37898 `term/i386/pc/at_keyboard.c'.
37899 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37900 grub_keyboard_controller_init() (now handled by terminal .init).
37901 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37902 grub_at_keyboard_init().
37903 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37904 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37905 at_keyboard.mod via input terminal interface).
37906 * include/grub/i386/coreboot/console.h: Convert into a stub for
37907 `<grub/i386/pc/console.h>'.
37908
37909 Migrate full terminals to new API:
37910
37911 * term/efi/console.c (grub_console_term): Split into ...
37912 (grub_console_term_input): ... this, and ...
37913 (grub_console_term_output): ... this. Update all users.
37914 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37915 (grub_ofconsole_init): Split into ...
37916 (grub_ofconsole_init_input): ... this, and ...
37917 (grub_ofconsole_init_output): ... this.
37918 (grub_ofconsole_term): Split into ...
37919 (grub_ofconsole_term_input): ... this, and ...
37920 (grub_ofconsole_term_output): ... this. Update all users.
37921 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37922 (grub_serial_term_input): ... this, and ...
37923 (grub_serial_term_output): ... this. Update all users.
37924 * term/i386/pc/console.c (grub_console_term): Split into ...
37925 (grub_console_term_input): ... this, and ...
37926 (grub_console_term_output): ... this. Update all users.
37927 (grub_console_term_input): Only enable it on PC/BIOS platform.
37928 (grub_console_init): Remove grub_keyboard_controller_init() call.
37929
37930 Migrate input terminals to new API:
37931
37932 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37933 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37934 i386-specific anyway).
37935 (grub_console_checkkey): Rename to ...
37936 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37937 users.
37938 (grub_keyboard_controller_orig): New variable.
37939 (grub_console_getkey): Rename to ...
37940 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37941 users.
37942 (grub_keyboard_controller_init): Static-ize. Save original
37943 controller value so that it can be restored ...
37944 (grub_keyboard_controller_fini): ... here (new function).
37945 (grub_at_keyboard_term): New structure.
37946 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37947 functions.
37948
37949 Migrate output terminals to new API:
37950
37951 * term/i386/pc/vga.c (grub_vga_term): Change type to
37952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37953 members. Update all users.
37954 * term/gfxterm.c (grub_video_term): Change type to
37955 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37956 members. Update all users.
37957 * include/grub/i386/pc/console.h (grub_console_checkkey)
37958 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37959 etc).
37960
37961 Migrate `terminal' command and userland tools to new API:
37962
37963 * commands/terminal.c (grub_cmd_terminal): Split into ...
37964 (grub_cmd_terminal_input): ... this, and ...
37965 (grub_cmd_terminal_output): ... this.
37966 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37967 `terminal_input' and `terminal_output'.
37968 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37969 `terminal_input' / `terminal_output' API.
37970 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37971 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37972 provided ${GRUB_TERMINAL}, convert it).
37973
96e5d876 379742008-11-04 Robert Millan <rmh@aybabtu.com>
37975
37976 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37977 for FreeBSD.
37978 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37979
556f3775 379802008-11-03 Bean <bean123ch@gmail.com>
37981
37982 * kern/elf.c (grub_elf32_load): Revert to previous code.
37983 (grub_elf64_load): Likewise.
37984
37985 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37986
926b9823 379872008-11-01 Robert Millan <rmh@aybabtu.com>
37988
37989 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37990 (TARGET_CPPFLAGS): Likewise.
37991 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37992
1432e958 379932008-11-01 Carles Pina i Estany <carles@pina.cat>
37994
37995 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37996
dba3f844 379972008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37998
37999 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38000 addition of objects until the code is not going to be able to fail.
38001
dba3f844 380022008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38003
38004 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38005 (add a missing NULL check, and correct them by moving the pointer
38006 operations after the actual check).
38007
7ab28c21 380082008-10-29 Robert Millan <rmh@aybabtu.com>
38009
38010 * util/i386/pc/grub-install.in: Handle empty string as output from
38011 make_system_path_relative_to_its_root().
38012
1b7748eb 380132008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38014
38015 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38016 circular metadata worst case scenario. If the metadata is circular
38017 then copy the wrap in place.
38018 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38019 project lib/format_text/layout.h
38020 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38021
c9618ab2 380222008-10-03 Felix Zielcke <fzielcke@z-51.de>
38023
7a36edca 38024 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38025
bf981c62 380262008-10-03 Felix Zielcke <fzielcke@z-51.de>
38027
38028 * util/update-grub_lib.in: Mention filename in warning message.
38029
6d994591 380302008-09-29 Felix Zielcke <fzielcke@z-51.de>
38031
38032 * NEWS: Update for rename of update-grub to grub-mkconfig.
38033
18ade780 380342008-09-29 Felix Zielcke <fzielcke@z-51.de>
38035
38036 * util/update-grub_lib.in: Copy to ...
38037 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38038 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38039 * util/update-grub.in: Rename to ...
38040 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38041 option. Add `--output' option to allow users to specify the generated
38042 configuration file. Default to stdout.
38043 (update_grub_dir): Rename to ...
38044 (grub_mkconfig_dir): ... this.
38045 (grub_cfg): Default to an empty string.
38046 * conf/common.rmk (update-grub): Rename to ...
38047 (grub-mkconfig): ... this.
38048 (update-grub_lib): Copy to ...
38049 (grub-mkconfig_lib): ... this.
38050 (update-grub_SCRIPTS): Copy to ...
38051 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38052 (update-grub_DATA): Rename to ...
38053 (grub-mkconfig_DATA): ... this.
38054
556ce6ac 380552008-09-28 Robert Millan <rmh@aybabtu.com>
38056
38057 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38058 to `modified'. Add the real `created' field.
38059 (grub_iso9660_uuid): Use `modified' rather than `created' for
38060 constructing the UUID.
38061
380622008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38063
38064 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38065 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38066
92274e85 380672008-09-28 Bean <bean123ch@gmail.com>
38068
38069 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38070 Thanks to Christian Franke for finding this bug.
38071
add6f17a 380722008-09-25 Robert Millan <rmh@aybabtu.com>
38073
38074 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38075 instances of grub_util_get_disk_name() (see previous commit).
38076
d2a367b8 380772008-09-25 Robert Millan <rmh@aybabtu.com>
38078
38079 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38080 `util/i386/get_disk_name.c'.
38081 * conf/i386-efi.rmk: Likewise.
38082 * conf/x86_64-efi.rmk: Likewise.
38083 * conf/i386-coreboot.rmk: Likewise.
38084 * conf/i386-ieee1275.rmk: Likewise.
38085 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38086 `util/ieee1275/get_disk_name.c'.
38087 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38088 * util/ieee1275/get_disk_name.c: Remove file.
38089 * util/i386/get_disk_name.c: Remove file.
38090 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38091 "hd%d" for device.map entries, rather than using
38092 grub_util_get_disk_name().
38093
81a06771 380942008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38095
38096 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38097 warning.
38098 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38099
5a004279 381002008-09-24 Carles Pina i Estany <carles@pina.cat>
38101
38102 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38103 Changed to 0x5100.
38104 (GRUB_TERM_PPAGE): Changed to 0x4900.
38105
397093d3 381062008-09-24 Robert Millan <rmh@aybabtu.com>
38107
38108 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38109 macros (they were i386-pc specific).
38110 * include/grub/sparc64/ieee1275/console.h: Likewise.
38111 * include/grub/efi/console.h: Likewise.
38112
a91b6c7c 381132008-09-22 Bean <bean123ch@gmail.com>
38114
38115 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38116 resident and in attribute list.
38117
38118 * include/grub/ntfs.h (BMP_LEN): Removed.
38119
c40fd116 381202008-09-22 Bean <bean123ch@gmail.com>
38121
81a06771 38122 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38123 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38124
38125 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38126 error occurs, as grub_disk_open will call grub_disk_close, which will
38127 call p->close (scsi).
38128
81a06771 381292008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38130
38131 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38132 (AC_PREREQ): Bumped to 2.59.
38133 (AC_TRY_COMPILE): Replace obsolete macro with ...
38134 (AC_COMPILE_IFELSE): ... this.
38135 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38136 (AC_LINK_IFELSE): ... this.
38137
5dc43410 381382008-09-21 Felix Zielcke <fzielcke@z-51.de>
38139
38140 * autogen.sh: Add a call to `gendistlist.sh'.
38141
9035dce4 381422008-09-19 Christian Franke <franke@computer.org>
38143
38144 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38145 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38146 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38147 Export __enable_execute_stack() to modules.
38148 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38149 New function.
38150
7fd75377 381512008-09-09 Felix Zielcke <fzielcke@z-51.de>
38152
040030b3 38153 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38154 Sort the list.
38155
381562008-09-09 Felix Zielcke <fzielcke@z-51.de>
38157
38158 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38159 #include <grub/util/hostdisk.h>.
38160
89d5ffcf 381612008-09-08 Robert Millan <rmh@aybabtu.com>
38162
38163 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38164 segments when their filesz is zero (grub_file_read() interprets
81a06771 38165 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38166 Use `lowest_segment' rather than 0 for calculating the current
38167 segment load address.
38168
40da438f 381692008-09-08 Robert Millan <rmh@aybabtu.com>
38170
38171 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38172 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38173 clobbered useful information.
38174
ddbf5556 381752008-09-08 Robert Millan <rmh@aybabtu.com>
38176
38177 * include/grub/util/biosdisk.h: Move to ...
38178 * include/grub/util/hostdisk.h: ... here. Update all users.
38179 * util/biosdisk.c: Move to ...
38180 * util/hostdisk.c: ... here. Update all users.
38181
783d0f48 381822008-09-07 Robert Millan <rmh@aybabtu.com>
38183
38184 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38185 variables.
38186 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38187 and length can be stored directly in the `mbi->mmap_addr' and
38188 `mbi->mmap_length' struct fields.
38189
548e2ea5 381902008-09-07 Robert Millan <rmh@aybabtu.com>
38191
38192 * conf/i386.rmk: New file. Provides declaration for building
38193 `cpuid.mod'.
38194 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38195 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38196 variables.
38197 Include `conf/i386.mk'.
38198 * conf/i386-efi.rmk: Likewise.
38199 * conf/x86_64-efi.rmk: Likewise.
38200 * conf/i386-coreboot.rmk: Likewise.
38201 * conf/i386-ieee1275.rmk: Likewise.
38202
0ea85a37 382032008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38204
38205 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38206 Adds optimization support for BGR based modes.
38207
38208 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38209 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38210 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38212 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38213 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38214 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38216 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38217 (grub_video_i386_vbeblit_index_index): Likewise.
38218 (grub_video_i386_vbeblit_replace_directN): Added.
38219 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38220 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38221 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38222 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38223 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38224 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38225 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38226 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38227 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38228 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38229 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38230 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38231 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38232
38233 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38234 (grub_video_i386_vbefill_R8G8B8): Likewise.
38235 (grub_video_i386_vbefill_index): Likewise.
38236 (grub_video_i386_vbefill_direct32): Added.
38237 (grub_video_i386_vbefill_direct24): Likewise.
38238 (grub_video_i386_vbefill_direct16): Likewise.
38239 (grub_video_i386_vbefill_direct8): Likewise.
38240
81a06771 38241 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38242 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38243 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38244 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38245 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38246 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38247
0ea85a37 38248 * video/video.c (grub_video_get_blit_format): Updated to use new
38249 blit formats. Added handling for 16 bit color modes.
81a06771 38250
38251 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38252 fillers.
38253 (common_blitter): Updated to use new blitters.
38254
38255 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38256 Removed.
38257 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38258 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38259 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38260 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38261 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38262 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38263 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38264 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38265 (grub_video_i386_vbeblit_index_index): Likewise.
38266 (grub_video_i386_vbeblit_replace_directN): Added.
38267 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38268 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38269 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38270 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38271 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38272 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38273 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38274 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38275 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38276 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38277 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38278 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38279 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38280
0ea85a37 38281 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38282 (grub_video_i386_vbefill_R8G8B8): Likewise.
38283 (grub_video_i386_vbefill_index): Likewise.
38284 (grub_video_i386_vbefill_direct32): Added.
38285 (grub_video_i386_vbefill_direct24): Likewise.
38286 (grub_video_i386_vbefill_direct16): Likewise.
38287 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38288
0ea85a37 38289 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38290 types.
81a06771 38291
0ea85a37 38292 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38293 types.
81a06771 38294
0ea85a37 38295 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38296 blitter types.
81a06771 38297
0ea85a37 38298 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38299 types.
38300
e8a83df6 383012008-09-06 Felix Zielcke <fzielcke@z-51.de>
38302
38303 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38304 RAID level 1.
38305
6bcd8ee5 383062008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38307
6bcd8ee5 38308 * fs/iso9660.c (grub_iso9660_date): New structure.
38309 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38310 (grub_iso9660_uuid): New function.
c375ae58 38311
59261157 383122008-09-05 Bean <bean123ch@gmail.com>
38313
38314 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38315
38316 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38317 insensitive bit for names in Win32 and Win32 & DOS namespace.
38318
38319 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38320
38321 * include/grub/types.h (LONG_MAX): Likewise.
38322
58b6645a 383232008-09-04 Felix Zielcke <fzielcke@z-51.de>
38324
4ee55921 38325 * util/getroot.c: Include <config.h>.
38326 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38327 add support for /dev/md/N devices and handle LVM double dash escaping.
38328
383292008-09-04 Felix Zielcke <fzielcke@z-51.de>
38330
38331 * config.guess: Update to latest version from config git.
38332 * config.sub: Likewise.
58b6645a 38333
9124f65d 383342008-09-03 Robert Millan <rmh@aybabtu.com>
38335
38336 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38337 `disk->total_sectors'.
38338
81a06771 383392008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38340
38341 * include/grub/normal.h: Fixed incorrect comment for
38342 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38343
81a06771 383442008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38345
38346 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38347 values with defines.
38348
38349 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38350 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38351 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38352 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38353 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38354 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38355 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38356 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38357 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38358 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38359 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38360 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38361 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38362 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38363 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38364 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38365 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38366 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38367 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38368
93d5cbf8 383692008-08-31 Robert Millan <rmh@aybabtu.com>
38370
38371 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38372 declaration.
38373 (grub_multiboot): Fix a few warnings.
38374
21751d50 383752008-08-31 Robert Millan <rmh@aybabtu.com>
38376
38377 * loader/i386/pc/multiboot.c: Update comment not to say that
38378 boot_device support is unimplemented.
38379
e27a75c5 383802008-08-31 Robert Millan <rmh@aybabtu.com>
38381
38382 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38383 or memory map support are unimplemented.
38384
81a06771 383852008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38386
38387 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38388
81a06771 383892008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38390
38391 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38392 total video memory in 'vbeinfo' output; show color format details for
38393 each video mode.
38394
7c5d8d95 383952008-08-30 Pavel Roskin <proski@gnu.org>
38396
38397 * util/genmoddep.c: Remove for real this time.
38398 * DISTLIST: Remove util/genmoddep.c.
38399
4cebd25a 384002008-08-30 Robert Millan <rmh@aybabtu.com>
38401
38402 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38403 as required by Multiboot spec (it was already 4-byte aligned, but
38404 only by chance).
38405
b497a269 384062008-08-29 Pavel Roskin <proski@gnu.org>
38407
e3925185 38408 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38409 * kern/powerpc/ieee1275/startup.S: ... this.
38410 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38411 * DISTLIST: Likewise.
38412
b497a269 38413 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38414 grub/cpu/kernel.h. Add start label for consistency with other
38415 platforms. Add grub_prefix immediately after start. Add jump
38416 to the code after grub_prefix.
38417 * include/grub/powerpc/kernel.h: Provide valid values for
38418 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38419
6e5a42fe 384202008-08-29 Bean <bean123ch@gmail.com>
38421
38422 * configure.ac: Change host_os to cygwin for mingw.
38423 (asprintf): New check for function.
38424
38425 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38426 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38427
38428 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38429 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38430 sync, sleep and grub_util_get_disk_size for mingw.
38431
38432 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38433 to get size in mingw.
38434 (open_device): Use flag O_BINARY if it's defined.
38435 (find_root_device): Add dummy code for mingw.
38436
38437 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38438 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38439 (get_scsi_disk_name): Return 0 for mingw.
38440
38441 * util/hostfs.c: #include <grub/util/misc.h>.
38442 (grub_hostfs_open): Use "rb" flag to open file, use
38443 grub_util_get_disk_size to get disk size for mingw.
38444
38445 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38446 (asprintf): New function if HAVE_ASPRINTF is not set.
38447 (sync): New function for mingw.
38448 (sleep): Likewise.
38449 (grub_util_get_disk_size): Likewise.
38450
ab3f2673 384512008-08-28 Pavel Roskin <proski@gnu.org>
38452
38453 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38454 kern/time.c.
38455
1c282483 384562008-08-28 Robert Millan <rmh@aybabtu.com>
38457
38458 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38459
678e849c 384602008-08-28 Robert Millan <rmh@aybabtu.com>
38461
38462 Change find_grub_drive() syntax so it doesn't prevent it from
38463 detecting NULL names as errors.
38464
38465 * util/biosdisk.c (find_grub_drive): Move free slot search code
38466 from here ...
38467 (find_free_slot): ... to here.
38468 (read_device_map): Use find_free_slot() to search for free slots.
38469
965c75ca 384702008-08-27 Marco Gerards <marco@gnu.org>
38471
38472 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38473 (scsi_mod_SOURCES): New variable.
38474 (scsi_mod_CFLAGS): Likewise
38475 (scsi_mod_LDFLAGS): Likewise.
38476
38477 * disk/scsi.c: New file.
38478
38479 * include/grub/scsi.h: Likewise.
38480
38481 * include/grub/scsicmd.h: Likewise.
38482
38483 * disk/ata.c: Include <grub/scsi.h>.
38484 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38485 instead.
38486 (grub_ata_iterate): Skip ATAPI devices.
38487 (grub_ata_open): Only handle ATAPI devices.
38488 (struct grub_atapi_read): Removed.
38489 (grub_atapi_readsector): Likewise.
38490 (grub_ata_read): No longer handle ATAPI devices.
38491 (grub_ata_write): Likewise.
38492 (grub_atapi_iterate): New function.
38493 (grub_atapi_read): Likewise.
38494 (grub_atapi_write): Likewise.
38495 (grub_atapi_open): Likewise.
38496 (grub_atapi_close): Likewise.
38497 (grub_atapi_dev): New variable.
38498 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38499 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38500
38501 * include/grub/disk.h (enum grub_disk_dev_id): Add
38502 `GRUB_DISK_DEVICE_SCSI_ID'.
38503
c07ae501 385042008-08-26 Robert Millan <rmh@aybabtu.com>
38505
38506 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38507 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38508 descriptive.
38509
5ed20adc 385102008-08-23 Bean <bean123ch@gmail.com>
38511
38512 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38513 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38514 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38515 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38516 dm_nv.mod.
38517 (raid5rec_mod_SOURCES): New macro.
38518 (raid5rec_mod_CFLAGS): Likewise.
38519 (raid5rec_mod_LDFLAGS): Likewise.
38520 (raid6rec_mod_SOURCES): Likewise.
38521 (raid6rec_mod_CFLAGS): Likewise.
38522 (raid6rec_mod_LDFLAGS): Likewise.
38523 (mdraid_mod_SOURCES): Likewise.
38524 (mdraid_mod_CFLAGS): Likewise.
38525 (mdraid_mod_LDFLAGS): Likewise.
38526 (dm_nv_mod_SOURCES): Likewise.
38527 (dm_nv_mod_CFLAGS): Likewise.
38528 (dm_nv_mod_LDFLAGS): Likewise.
38529
38530 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38531 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38532 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38533
38534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38535 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38536
38537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38538
38539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38540
38541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38542
38543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38544
38545 * disk/raid5_recover.c: New file.
38546
38547 * disk/raid6_recover.c: Likewise.
38548
38549 * disk/mdraid_linux.c: Likewise.
38550
38551 * disk/dmraid_nvidia.c: Likewise.
38552
38553 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38554 ULONG_MAX.
38555
38556 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38557 calculate the size of raid device.
38558 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38559 different layout of raid5.
38560 (grub_raid_scan_device): Remove code specific to mdraid.
38561 (grub_raid_list): New variable.
38562 (free_array): New function.
38563 (grub_raid_register): Likewise.
38564 (grub_raid_unregister): Likewise.
38565 (grub_raid_rescan): Likewise.
38566 (GRUB_MOD_INIT): Don't iterate device here.
38567 (GRUB_MOD_FINI): Use free_array to release resource.
38568
38569 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38570 (grub_raid5_recover_func_t): New function variable type.
38571 (grub_raid6_recover_func_t): Likewise.
38572 (grub_raid5_recover_func): New variable.
38573 (grub_raid6_recover_func): Likewise.
38574 (grub_raid_register): New function.
38575 (grub_raid_unregister): Likewise.
38576 (grub_raid_rescan): Likewise.
38577 (grub_raid_block_xor): Likewise.
38578
38579 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38580 (CMD_CRC): New macro.
38581 (part): Removed.
38582 (read_file): Handle device as well as file.
38583 (cmd_crc): New function.
38584 (fstest): Handle multiple disks.
38585 (options): Remove part, raw and long, add root and diskcount.
38586 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38587 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38588 add handling for the new options, support multiple disks.
38589
38590 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38591
29c18915 385922008-08-23 Bean <bean123ch@gmail.com>
38593
38594 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38595
38596 * genfslist.sh: Ignore kernel.mod.
38597
38598 * genpartmaplist.sh: Likewise.
38599
8415f261 386002008-08-23 Robert Millan <rmh@aybabtu.com>
38601
38602 * util/getroot.c (find_root_device): Skip anything that starts with
38603 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38604
d5a7dc5b 386052008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38606
d5a7dc5b 38607 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38608 * util/grub.d/00_header.in: Allow the administrator to change default
38609 gfxmode via ${GRUB_GFXMODE}.
38610
380cfbb4 386112008-08-21 Felix Zielcke <fzielcke@z-51.de>
38612
38613 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38614
c9baafe7 386152008-08-21 Robert Millan <rmh@aybabtu.com>
38616
38617 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38618 loader.
38619 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38620 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38621
e290bef2 386222008-08-20 Carles Pina i Estany <carles@pina.cat>
38623
38624 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38625 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38626
f9dbfc96 386272008-08-19 Robert Millan <rmh@aybabtu.com>
38628
38629 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38630 (struct grub_virtual_screen): Remove `cursor_color'.
38631 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38632 initialization.
38633 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38634
dd6bd6ab 386352008-08-18 Robert Millan <rmh@aybabtu.com>
38636
38637 Unify (identical) linux_normal.c files.
38638 * loader/i386/efi/linux_normal.c: Move from here ...
38639 * loader/linux_normal.c: ... to here. Update all users.
38640 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38641 * loader/i386/ieee1275/linux_normal.c: Likewise.
38642
7f42f83e 386432008-08-18 Robert Millan <rmh@aybabtu.com>
38644
38645 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38646 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38647 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38648 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38649 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38650 New macros.
38651 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38652 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38653 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38654 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38655 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38656 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38657 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38658 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38659 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38660 portably using grub_getxy().
38661 Replace `-EFI' with `-bzImage' in boot message.
38662
38487ddb 386632008-08-17 Robert Millan <rmh@aybabtu.com>
38664
38665 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38666
deceb3ec 386672008-08-17 Robert Millan <rmh@aybabtu.com>
38668
38669 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38670
38671 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38672 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38673 (grub_machine_mmap_iterate): New function declaration.
38674 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38675 structure.
38676 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38677 macros.
38678
38679 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38680 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38681 Move e820 parsing from here ...
38682 * kern/i386/pc/mmap.c: New file.
38683 (grub_machine_mmap_iterate): ... to here.
38684
38685 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38686 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38687 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38688 (grub_available_iterate): Redeclare to return `void', and redeclare
38689 its hook to use grub_uint64_t as addr and size parameters, and rename
38690 to ...
38691 (grub_machine_mmap_iterate): ... this. Update all users.
38692
38693 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38694 to make it more readable. Rename to ...
38695 (grub_machine_mmap_iterate): ... this.
38696
38697 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38698 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38699 (grub_multiboot): Allocate an extra region after the payload, and fill
38700 it with a Multiboot memory map. Adjust a.out loader to calculate size
38701 with the extra space.
38702 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38703 with the extra space.
38704
f8aa0f43 387052008-08-17 Carles Pina i Estany <carles@pina.cat>
38706
9807deb9 38707 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38708
605f5bb6 387092008-08-17 Felix Zielcke <fzielcke@z-51.de>
38710
38711 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38712 mdate-sh to the list `find' searches for.
38713 * DISTLIST: Regenerated.
38714
210db6c6 387152008-08-16 Felix Zielcke <fzielcke@z-51.de>
38716
38717 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38718 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38719 genmoddep.awk, gensymlist.sh.in.
38720 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38721 * DISTLIST: Regenerated.
48cdbfd4 38722 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38723
1082b929 387242008-08-16 Robert Millan <rmh@aybabtu.com>
38725
38726 * disk/raid.c (grub_raid_init): Handle/report errors set by
38727 grub_device_iterate().
38728 * disk/lvm.c (grub_lvm_init): Likewise.
38729
42ce5170 387302008-08-15 Bean <bean123ch@gmail.com>
38731
38732 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38733 and datehook.mod.
38734 (datetime_mod_SOURCES): New macro.
38735 (datetime_mod_CFLAGS): Likewise.
38736 (datetime_mod_LDFLAGS): Likewise.
38737 (date_mod_SOURCES): Likewise.
38738 (date_mod_CFLAGS): Likewise.
38739 (date_mod_LDFLAGS): Likewise.
38740 (datehook_mod_SOURCES): Likewise.
38741 (datehook_mod_CFLAGS): Likewise.
38742 (datehook_mod_LDFLAGS): Likewise.
38743
38744 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38745 and datehook.mod.
38746 (datetime_mod_SOURCES): New macro.
38747 (datetime_mod_CFLAGS): Likewise.
38748 (datetime_mod_LDFLAGS): Likewise.
38749 (date_mod_SOURCES): Likewise.
38750 (date_mod_CFLAGS): Likewise.
38751 (date_mod_LDFLAGS): Likewise.
38752 (datehook_mod_SOURCES): Likewise.
38753 (datehook_mod_CFLAGS): Likewise.
38754 (datehook_mod_LDFLAGS): Likewise.
38755
38756 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38757 and datehook.mod.
38758 (datetime_mod_SOURCES): New macro.
38759 (datetime_mod_CFLAGS): Likewise.
38760 (datetime_mod_LDFLAGS): Likewise.
38761 (date_mod_SOURCES): Likewise.
38762 (date_mod_CFLAGS): Likewise.
38763 (date_mod_LDFLAGS): Likewise.
38764 (datehook_mod_SOURCES): Likewise.
38765 (datehook_mod_CFLAGS): Likewise.
38766 (datehook_mod_LDFLAGS): Likewise.
38767
38768 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38769 and datehook.mod.
38770 (datetime_mod_SOURCES): New macro.
38771 (datetime_mod_CFLAGS): Likewise.
38772 (datetime_mod_LDFLAGS): Likewise.
38773 (date_mod_SOURCES): Likewise.
38774 (date_mod_CFLAGS): Likewise.
38775 (date_mod_LDFLAGS): Likewise.
38776 (datehook_mod_SOURCES): Likewise.
38777 (datehook_mod_CFLAGS): Likewise.
38778 (datehook_mod_LDFLAGS): Likewise.
38779
38780 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38781 and datehook.mod.
38782 (datetime_mod_SOURCES): New macro.
38783 (datetime_mod_CFLAGS): Likewise.
38784 (datetime_mod_LDFLAGS): Likewise.
38785 (date_mod_SOURCES): Likewise.
38786 (date_mod_CFLAGS): Likewise.
38787 (date_mod_LDFLAGS): Likewise.
38788 (datehook_mod_SOURCES): Likewise.
38789 (datehook_mod_CFLAGS): Likewise.
38790 (datehook_mod_LDFLAGS): Likewise.
38791
38792 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38793
38794 * commands/date.c: New file.
38795
38796 * hook/datehook.c: Likewise.
38797
38798 * include/grub/lib/datetime.h: Likewise.
38799
38800 * include/grub/i386/cmos.h: Likewise.
38801
38802 * lib/datetime.c: Likewise.
38803
38804 * lib/i386/datetime.c: Likewise.
38805
38806 * lib/efi/datetime.c: Likewise.
38807
0e9242da 388082008-08-14 Robert Millan <rmh@aybabtu.com>
38809
38810 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38811 (grub_mkelfimage_SOURCES): New variable.
38812 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38813
38814 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38815 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38816 * conf/powerpc-ieee1275.rmk: Likewise.
38817 * conf/i386-ieee1275.rmk: Likewise.
38818
38819 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38820 * kern/i386/coreboot/init.c: Likewise.
38821
38822 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38823 with `<grub/cpu/kernel.h>'.
38824 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38825 to ...
38826 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38827 * kern/i386/coreboot/startup.S: Likewise.
38828
38829 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38830 (GRUB_MOD_GAP): Remove.
38831 * include/grub/powerpc/kernel.h: New file.
38832 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38833 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38834 * include/grub/i386/kernel.h: New file.
38835 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38836 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38837 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38838
38839 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38840 `grub-mkelfimage'.
38841 Use --directory when invoking grub_mkimage.
38842
38843 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38844 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38845 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38846 and GRUB_KERNEL_CPU_PREFIX.
38847
b86408f8 388482008-08-14 Felix Zielcke <fzielcke@z-51.de>
38849
d5e619ca 38850 * include/grub/err.h (grub_err_printf): New function prototype.
38851 * util/misc.c (grub_err_printf): New function.
38852 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38853 grub_printf.
38854 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38855
7161f0e0 388562008-08-13 Robert Millan <rmh@aybabtu.com>
38857
38858 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38859
a1967522 388602008-08-13 Robert Millan <rmh@aybabtu.com>
38861
38862 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38863 boot entry.
38864
371458b5 388652008-08-12 Robert Millan <rmh@aybabtu.com>
38866
38867 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38868 of the relocation code from here ...
38869 (grub_multiboot): ... to here.
38870 (forward_relocator, backward_relocator): Move from here ...
38871 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38872 (grub_multiboot_backward_relocator): ... to here.
38873 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38874 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38875 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38876 (grub_multiboot_forward_relocator_end)
38877 (grub_multiboot_backward_relocator)
38878 (grub_multiboot_backward_relocator_end): New variables.
38879
05f9452b 388802008-08-12 Bean <bean123ch@gmail.com>
38881
38882 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38883
20024ab0 388842008-08-11 Robert Millan <rmh@aybabtu.com>
38885
38886 * kern/i386/linuxbios/startup.S: Move from here ...
38887 * kern/i386/coreboot/startup.S: ... to here.
38888
38889 * kern/i386/linuxbios/init.c: Move from here ...
38890 * kern/i386/coreboot/init.c: ... to here.
38891
38892 * kern/i386/linuxbios/table.c: Move from here ...
38893 * kern/i386/coreboot/mmap.c: ... to here.
38894
38895 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38896
e352e9cd 388972008-08-11 Robert Millan <rmh@aybabtu.com>
38898
38899 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38900 errors. Leave it to the upper layer to handle them.
38901
2d05bc6a 389022008-08-09 Christian Franke <franke@computer.org>
38903
38904 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38905 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38906 Install `grub.d/10_windows' only on Cygwin.
38907 * configure.ac: Add subst of `target_os'.
38908 Check `target_os' also before setting TARGET_OBJ2ELF.
38909 Add `--enable-grub-pe2elf'.
38910
042bd419 389112008-08-08 Robert Millan <rmh@aybabtu.com>
38912
38913 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38914 (grub_last_time): Change type to grub_uint64_t.
38915 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38916 (grub_disk_close): Likewise.
38917
38918 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38919 (run_menu): Migrate code from to using grub_get_time_ms().
38920
38921 * util/misc.c (grub_get_time_ms): New function.
38922
7f280db5 389232008-08-08 Marco Gerards <marco@gnu.org>
38924
38925 * disk/ata.c (grub_ata_regget): Change return type to
38926 `grub_uint8_t'.
38927 (grub_ata_regget2): Likewise.
38928 (grub_ata_wait_status): New function.
38929 (grub_ata_wait_busy): Removed function, updated all users to use
38930 `grub_ata_wait_status'.
38931 (grub_ata_wait_drq): Likewise.
38932 (grub_ata_cmd): New function.
38933 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38934 error handling.
38935 (grub_ata_pio_write): Add error handling.
38936 (grub_atapi_identify): Likewise.
38937 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38938 handling.
38939 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38940 handling. Actually use the detected registers. Reorder the
38941 detection logic such that it is easier to read.
38942 (grub_ata_pciinit): Do not assign the same ID to each controller.
38943 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38944 handling.
38945 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38946
38947 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38948
1fbc5e66 389492008-08-08 Marco Gerards <marco@gnu.org>
38950
38951 * NEWS: Update.
38952
819ce6c0 389532008-08-07 Bean <bean123ch@gmail.com>
38954
38955 * include/grub/x86_64/pci.h: New file.
38956
5c41d44d 389572008-08-07 Christian Franke <franke@computer.org>
38958
38959 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38960 (TIMER2_GATE): Likewise.
38961 (grub_pit_wait): Add enable/disable of the timer2 gate
38962 bit of port 0x61. This fixes a possible infinite loop.
38963
5ebc275d 389642008-08-07 Bean <bean123ch@gmail.com>
38965
38966 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38967 kern/i386/tsc.c and kern/i386/pit.c.
38968
38969 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38970 x86_64 platform.
38971
38972 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38973 <grub/i386/tsc.h>.
38974
38975 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38976
e383b3d0 389772008-08-07 Bean <bean123ch@gmail.com>
38978
38979 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38980
38981 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38982
38983 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38984 multiple inclusion. Add #include <grub/types.h>.
38985
1cbb58ac 389862008-08-06 Christian Franke <franke@computer.org>
38987
38988 * conf/common.rmk: Build and install `10_windows'.
38989 * util/grub.d/10_windows.in: New script.
38990
337f5a1e 389912008-08-06 Pavel Roskin <proski@gnu.org>
38992
38993 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38994
057bc4ac 389952008-08-06 Robert Millan <rmh@aybabtu.com>
38996
38997 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38998 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38999
2b99f123 390002008-08-06 Bean <bean123ch@gmail.com>
39001
39002 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39003 (grub_pxefs_fs_int): Remove dummy definition.
39004 (grub_pxefs_open): Use data->block_size to store the current block
39005 size setting.
39006 (grub_pxefs_read): Use block size stored in data->block_size. As the
39007 value of grub_pxe_blksize can be changed after the file is opened.
39008
9f0234cb 390092008-08-06 Bean <bean123ch@gmail.com>
39010
39011 * fs/i386/pc/pxe.c (curr_file): new variable.
39012 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39013 require the dummy internal file system anymore.
39014 (grub_pxefs_read): Removed.
39015 (grub_pxefs_close): Likewise.
39016 (grub_pxefs_fs_int): Likewise.
39017 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39018 connection when we switch file.
39019 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39020
a55d42e0 390212008-08-06 Robert Millan <rmh@aybabtu.com>
39022
39023 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39024 `halt.mod'.
39025 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39026 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39027
39028 * kern/i386/halt.c: New file.
39029 * kern/i386/reboot.c: Likewise.
39030 * include/grub/i386/reboot.h: Likewise.
39031 * include/grub/i386/halt.h: Likewise.
39032
39033 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39034 Include `<grub/cpu/halt.h>'.
39035 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39036 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39037
39038 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39039 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39040 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39041 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39042 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39043 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39044 from here ...
39045 * include/grub/i386/at_keyboard.h: ... to here.
39046
24371d26 390472008-08-05 Robert Millan <rmh@aybabtu.com>
39048
39049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39050 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39051 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39052 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39053 `kern/generic/millisleep.c'.
39054
39055 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39056 instead of grub_get_rtc().
39057 (grub_tsc_init): Initialize `tsc_boot_time'.
39058
39059 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39060 (grub_machine_init): Use grub_tsc_init() rather than
39061 installing an RTC-based handler via grub_install_get_time_ms().
39062
39063 * kern/i386/pit.c: New file.
39064 * include/grub/i386/pit.h: Likewise.
39065
9e7007b3 390662008-08-05 Bean <bean123ch@gmail.com>
39067
39068 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39069
39070 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39071 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39072 (pxe_mod_SOURCES): New macro.
39073 (pxe_mod_CFLAGS): Likewise.
39074 (pxe_mod_LDFLAGS): Likewise.
39075 (pxecmd_mod_SOURCES): Likewise.
39076 (pxecmd_mod_CFLAGS): Likewise.
39077 (pxecmd_mod_LDFLAGS): Likewise.
39078
39079 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39080 (grub_pxe_call): Likewise.
39081
39082 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39083
39084 * commands/i386/pc/pxecmd.c: New file.
39085
9f0234cb 39086 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39087
39088 * include/grub/i386/pc/pxe.h: Likewise.
39089
6977d49f 390902008-08-05 Bean <bean123ch@gmail.com>
39091
39092 * util/console.c (grub_console_cur_color): New variable.
39093 (grub_console_standard_color): Likewise.
39094 (grub_console_normal_color): Likewise.
39095 (grub_console_highlight_color): Likewise.
39096 (color_map): Likewise.
39097 (use_color): Likewise.
39098 (NUM_COLORS): New macro.
39099 (grub_ncurses_setcolorstate): Handle color properly.
39100 (grub_ncurses_setcolor): Don't change color here, just remember the
39101 settings, color will be set in grub_ncurses_setcolorstate.
39102 (grub_ncurses_getcolor): New function.
39103 (grub_ncurses_init): Initialize color pairs.
39104 (grub_ncurses_term): New member grub_ncurses_getcolor.
39105
9c2ff3ee 391062008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39107
9c2ff3ee 39108 High resolution timer support. Implemented for x86 CPUs using TSC.
39109 Extracted generic grub_millisleep() so it's linked in only as needed.
39110 This requires a Pentium compatible CPU; if the RDTSC instruction is
39111 not supported, then it falls back on the generic grub_get_time_ms()
39112 implementation that uses the machine's RTC.
39113
39114 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39115 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39116 `kern/generic/millisleep.c'.
39117
39118 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39119 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39120
39121 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39122 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39123
39124 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39125
39126 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39127 `kern/generic/millisleep.c'.
39128
39129 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39130
39131 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39132
39133 * kern/generic/rtc_get_time_ms.c: New file.
39134
39135 * kern/generic/millisleep.c: New file.
337f5a1e 39136
9c2ff3ee 39137 * kern/misc.c: Don't include
39138 <kern/time.h> anymore.
39139 (grub_millisleep_generic): Removed.
39140
39141 * commands/sleep.c (grub_interruptible_millisleep): Uses
39142 grub_get_time_ms() instead of grub_get_rtc().
39143
39144 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39145 function.
39146 (grub_cpu_is_cpuid_supported): New inline function.
39147 (grub_cpu_is_tsc_supported): New inline function.
39148 (grub_tsc_init): New function prototype.
39149 (grub_tsc_get_time_ms): New function prototype.
39150
39151 * kern/i386/tsc.c (grub_get_time_ms): New file.
39152
39153 * include/grub/time.h: Include <grub/types.h.
39154 (grub_millisleep_generic): Removed.
39155 (grub_get_time_ms): New prototype.
39156 (grub_install_get_time_ms): New prototype.
39157 (grub_rtc_get_time_ms): New prototype.
39158
39159 * kern/time.c (grub_get_time_ms): New function.
39160 (grub_install_get_time_ms): New function.
39161
39162 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39163 <grub/time.h> anymore.
39164 (grub_millisleep): Removed.
39165 (grub_machine_init): Call grub_tsc_init.
39166
39167 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39168 get_time_ms() implementation.
39169
39170 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39171 (ieee1275_get_time_ms): New function.
39172 (grub_machine_init): Install get_time_ms() implementation.
39173
39174 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39175 (grub_machine_init): Call grub_tsc_init().
39176 (grub_millisleep): Removed.
bf06a93f 39177
9c2ff3ee 39178 * kern/ieee1275/init.c (grub_millisleep): Removed.
39179 (grub_machine_init): Install ieee1275_get_time_ms()
39180 implementation.
39181 (ieee1275_get_time_ms): New function.
39182 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39183 real work.
39184
9ec92aaf 391852008-08-05 Marco Gerards <marco@gnu.org>
39186
39187 * disk/ata.c: Include <grub/pci.h>.
39188 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39189 (grub_ata_initialize): Rewritten.
39190 (grub_ata_device_initialize): New function.
39191
8d23f507 391922008-08-04 Pavel Roskin <proski@gnu.org>
39193
39194 * kern/main.c: Include grub/mm.h.
39195
5e15ee3d 391962008-08-04 Robert Millan <rmh@aybabtu.com>
39197
39198 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39199 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39200 corruption problem).
39201
a9053f8f 392022008-08-04 Robert Millan <rmh@aybabtu.com>
39203
39204 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39205 warnings introduced in my last commit.
39206
dd19c7d7 392072008-08-03 Robert Millan <rmh@aybabtu.com>
39208
39209 Make PCI available on all i386 architectures.
39210
39211 * include/grub/i386/pc/pci.h: Move from here ...
39212 * include/grub/i386/pci.h: ... to here.
39213
39214 * include/grub/i386/pc/pci.h: Remove.
39215 * include/grub/i386/efi/pci.h: Remove.
39216 * include/grub/x86_64/efi/pci.h: Remove.
39217
39218 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39219 `<grub/cpu/pci.h>'.
39220
39221 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39222 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39223 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39224
39225 * conf/i386-ieee1275.rmk: Likewise.
39226
e14a6184 392272008-08-03 Robert Millan <rmh@aybabtu.com>
39228
39229 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39230 (grub_console_setcursor): Make it possible to set cursor off.
39231
52768e37 392322008-08-03 Robert Millan <rmh@aybabtu.com>
39233
39234 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39235 of modules instead of assuming which platform provides what.
39236 * util/update-grub.in: Likewise.
39237
2d52f57f 392382008-08-03 Robert Millan <rmh@aybabtu.com>
39239
39240 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39241 instead of `grub_install_dos_part' to determine whether a drive needs
39242 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39243 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39244
2a5cd121 392452008-08-02 Robert Millan <rmh@aybabtu.com>
39246
39247 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39248
93808428 392492008-08-02 Robert Millan <rmh@aybabtu.com>
39250
39251 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39252 of informational grub_dprintf() calls.
39253
3bd0a12a 392542008-08-02 Robert Millan <rmh@aybabtu.com>
39255
39256 * disk/memdisk.c (memdisk_size): Don't initialize.
39257 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39258
39259 * include/grub/i386/pc/kernel.h
39260 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39261 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39262 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39263 (grub_arch_memdisk_size): Remove.
39264
39265 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39266 field (was only used to transfer a constant). Add `type' field to
39267 support multiple module types.
39268 (grub_module_iterate): New function.
39269
39270 * kern/device.c (grub_device_open): Do not hide error messages
39271 when grub_disk_open() fails. Use grub_print_error() instead.
39272
39273 * kern/i386/pc/init.c (grub_arch_modules_addr)
39274 (grub_arch_memdisk_size): Remove functions.
39275 (grub_arch_modules_addr): Return the module address in high memory
39276 (now that it isn't copied anymore).
39277
39278 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39279 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39280 decompression routine (grub_total_module_size already includes that
39281 now). Don't copy modules back to low memory.
39282
39283 * kern/main.c: Include `<grub/mm.h>'.
39284 (grub_load_modules): Split out (and use) ...
39285 (grub_module_iterate): ... this function, which iterates through
39286 module objects and runs a hook.
39287 Comment out grub_mm_init_region() call, as it would cause non-ELF
39288 modules to be overwritten.
39289
39290 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39291 the memdisk image in its own region, make it part of the module list.
39292 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39293 (main): Parse --memdisk|-m option, and pass user-provided path as
39294 parameter to generate_image().
39295 (add_segments): Pass `memdisk_path' down to load_modules().
39296 (load_modules): Embed memdisk image in module section when requested.
39297 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39298 `header.type' instead of `header.offset'.
39299
39300 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39301 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39302 (memdisk_mod_LDFLAGS): New variables.
39303 * conf/i386-coreboot.rmk: Likewise.
39304 * conf/i386-ieee1275.rmk: Likewise.
39305
a927cc73 393062008-08-02 Robert Millan <rmh@aybabtu.com>
39307
39308 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39309 (backward_relocator): New variables. Used to allocate and relocate
39310 the payload, respectively.
39311 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39312 address, install the appropriate relocator code in each bound of
a927cc73 39313 the payload, and set the entry point such that
39314 grub_multiboot_real_boot() will jump to one of them.
39315
39316 * kern/i386/loader.S (grub_multiboot_payload_size)
39317 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39318 (grub_multiboot_payload_entry_offset): New variables.
39319 (grub_multiboot_real_boot): Set cpu context to what the relocator
39320 expects, and jump to the relocator instead of the payload.
39321
39322 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39323 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39324 (grub_multiboot_payload_entry_offset): Export.
39325
b15d8a0c 393262008-08-01 Bean <bean123ch@gmail.com>
39327
39328 * normal/menu_entry.c (editor_getline): Don't return the original
39329 string as result, as it will be released by lexer once it has done
39330 using it.
39331
cdfb3d22 393322008-08-01 Robert Millan <rmh@aybabtu.com>
39333
39334 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39335 within menuentries, not before them.
39336 util/grub.d/10_hurd.in: Likewise.
39337
9175e93d 393382008-08-01 Bean <bean123ch@gmail.com>
39339
39340 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39341 (bufio_mod_SOURCES): New macro.
39342 (bufio_mod_CFLAGS): Likewise.
39343 (bufio_mod_LDFLAGS): Likewise.
39344
39345 * include/grub/bufio.h: New file.
39346
39347 * io/bufio.c: Likewise.
39348
39349 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39350 (grub_video_reader_png): Use grub_buffile_open to open file.
39351
39352 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39353 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39354
39355 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39356 (grub_video_reader_tga): Use grub_buffile_open to open file.
39357
39358 * font/manager.c: Include <grub/bufio.h>.
39359 (add_font): Use grub_buffile_open to open file.
39360
3d8383e7 393612008-07-31 Robert Millan <rmh@aybabtu.com>
39362
39363 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39364 ELF segments, use a macro for arbitrarily accessing any of them instead
39365 of preparing a pointer that allows access to one at a time.
39366 (grub_multiboot_load_elf64): Likewise.
39367
16e641b6 393682008-07-31 Bean <bean123ch@gmail.com>
39369
39370 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39371 GRUB_KERNEL_MACHINE_DATA_END.
39372
59198b72 393732008-07-30 Robert Millan <rmh@aybabtu.com>
39374
39375 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39376 Increase from 0x50 to 0x60.
39377 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39378 use UUIDs to identify the root drive for them. If that's not
39379 possible, abort.
39380 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39381 check, for cross-disk installs.
39382
ae88bca3 393832008-07-30 Robert Millan <rmh@aybabtu.com>
39384
39385 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39386 is non-empty, use it to set the `prefix' environment variable instead
39387 of the usual approach.
39388 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39389 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39390 environment variable instead of dummy make_install_device().
39391
39392 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39393 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39394 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39395
39396 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39397 New variable reference.
39398 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39399 New macro. Defines offset of `grub_prefix' within startup.S (relative
39400 to `start').
39401 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39402 section within startup.S (relative to `start').
39403 * include/grub/i386/coreboot/kernel.h: Likewise.
39404
39405 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39406 Overwrite grub_prefix with its contents, at the beginning of the
39407 first segment.
39408 (main): Understand -p|--prefix.
39409
14f41dd1 394102008-07-30 Robert Millan <rmh@aybabtu.com>
39411
39412 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39413
4ca049a3 394142008-07-30 Robert Millan <rmh@aybabtu.com>
39415
39416 * term/i386/pc/vga_text.c (grub_console_cls): Use
39417 grub_console_gotoxy() to go back to beginning of the screen.
39418 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39419
2921d337 394202008-07-29 Christian Franke <franke@computer.org>
39421
39422 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39423 Add conversion of emulated mount points on Cygwin.
39424
b609876d 394252008-07-29 Christian Franke <franke@computer.org>
39426
39427 * util/update-grub.in: Add a check for admin
39428 group on Cygwin.
39429 Remove old `grub.cfg.new' before creation.
39430 Add `-f' to `mv' to handle the different filesystem
39431 semantics of Windows.
39432
e93e4679 394332008-07-29 Bean <bean123ch@gmail.com>
39434
39435 * normal/main.c (get_line): Fix buffer overflow bug.
39436
41694fd0 394372008-07-28 Robert Millan <rmh@aybabtu.com>
39438
39439 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39440 (struct grub_apple_header): New struct. Describes the layout of
39441 the partmap header.
39442 (apple_partition_map_iterate): Check the header magic as well as the
39443 partition magic (which was already being checked).
39444
cfd0b4e6 394452008-07-28 Pavel Roskin <proski@gnu.org>
39446
39447 * genmk.rb: Add a warning to the beginning of the output that
39448 it's a generated file and should not be edited.
39449
93cce016 394502008-07-28 Robert Millan <rmh@aybabtu.com>
39451
39452 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39453 with the same number are found, just use issue a warning with
39454 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39455
cd1df915 394562008-07-27 Robert Millan <rmh@aybabtu.com>
39457
39458 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39459 information.
39460
b70a8427 394612008-07-27 Bean <bean123ch@gmail.com>
39462
39463 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39464 (grub_fat_find_dir): Ignore case when comparing filename.
39465
8f5e379f 394662008-07-27 Bean <bean123ch@gmail.com>
39467
39468 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39469 smallino, as it's more descriptive, and i8count can be confused with
39470 the other field count.
39471 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39472 inode type.
39473
a85cd5a0 394742008-07-27 Bean <bean123ch@gmail.com>
39475
39476 * commands/crc.c: New file.
39477
39478 * lib/crc.c: Likewise.
39479
39480 * include/grub/lib/crc.h: Likewise.
39481
39482 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39483
39484 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39485 (hexdump): Move this function to ...
39486
39487 * lib/hexdump.c: ... here.
39488
39489 * include/grub/hexdump.h: Renamed to ...
39490
39491 * include/grub/lib/hexdump.h: ... this.
39492
39493 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39494
39495 * util/grub-editenv.c: Likewise.
39496
39497 * include/envblk.h: Renamed to ...
39498
39499 * include/lib/envblk.h: ... this.
39500
39501 * util/envblk.c: Renamed to ...
39502
39503 * lib/envblk.c: ... this.
39504
39505 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39506 lib/hexdump.c.
39507 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39508 (pkglib_MODULES): Add crc.mod.
39509 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39510 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39511 (crc_mod_SOURCES): New macro.
39512 (crc_mod_CFLAGS): Likewise.
39513 (crc_mod_LDFLAGS): Likewise.
39514
39515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39516
39517 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39518
39519 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39520
39521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39522
39523 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39524
c298def0 395252008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39526
39527 * commands/help.c: Include <grub/term.h>.
39528 (TERM_WIDTH): Removed. Updated all users.
39529
cc349fb3 395302008-07-27 Pavel Roskin <proski@gnu.org>
39531
39532 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39533 spurious warnings about a comment within a comment.
39534
9051607e 395352008-07-25 Robert Millan <rmh@aybabtu.com>
39536
39537 * util/getroot.c (find_root_device): Skip devices that match
39538 /dev/dm-[0-9]. This lets the real device be found for any type of
39539 abstraction (LVM, EVMS, RAID..).
39540 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39541 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39542 device is found first, find_root_device() will now skip it.
39543
01453bfc 395442008-07-24 Pavel Roskin <proski@gnu.org>
39545
39546 * include/grub/types.h: Use __builtin_bswap32() and
39547 __builtin_bswap64() with gcc 4.3 and newer.
39548
6af9849f 395492008-07-24 Christian Franke <franke@computer.org>
39550
3a0fa256 39551 * util/i386/pc/grub-install.in: If `--debug' is specified,
39552 pass `--verbose' to grub-setup.
39553 Abort script if make_system_path_relative_to_its_root() fails.
39554
7810e747 395552008-07-24 Bean <bean123ch@gmail.com>
39556
39557 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39558 variable `target_platform' should be `platform'.
39559
42290e17 395602008-07-24 Bean <bean123ch@gmail.com>
39561
51cc5193 39562 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39563 (grub_png_init_fixed_block): New function.
39564 (grub_png_decode_image_data): Handle fixed huffman code compression.
39565
2a8a80e4 395662008-07-24 Bean <bean123ch@gmail.com>
39567
39568 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39569 (grub_pe2elf_SOURCES): New macro.
39570 (CLEANFILES): Add grub-pe2elf.
39571
39572 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39573 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39574 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39575 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39576 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39577 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39578 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39579 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39580 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39581 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39582 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39583 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39584 (GRUB_PE32_DT_FUNCTION): Likewise.
39585 (GRUB_PE32_REL_I386_DIR32): Likewise.
39586 (GRUB_PE32_REL_I386_REL32): Likewise.
39587 (grub_pe32_symbol): New structure.
39588 (grub_pe32_reloc): Likewise.
39589
39590 * util/grub-pe2elf.c: New file.
39591
39592 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39593 start symbol in non pc platform.
39594
39595 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39596
39597 The following patches are from Christian Franke.
39598
39599 * include/grub/dl.h: Remove .previous, gas supports this only
39600 for ELF format.
39601
39602 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39603 Remove .type, gas supports this only for ELF format.
39604
39605 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39606 nullbytes in symbol table. This fixes an infinite loop if table is
39607 zero filled.
39608
39609 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39610 TARGET_IMG_LDFLAGS and EXEEXT.
39611
39612 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39613 TARGET_IMG_LDFLAGS_AC.
39614 (grub_CHECK_STACK_ARG_PROBE): New function.
39615
39616 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39617
39618 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39619
39620 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39621 to set TARGET_IMG_LD* accordingly.
39622 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39623 Add call to grub_CHECK_STACK_ARG_PROBE.
39624 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39625
39626 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39627
39628 * genmk.rb: Add EXEEXT to CLEANFILES.
39629
12ccdb75 396302008-07-23 Robert Millan <rmh@aybabtu.com>
39631
39632 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39633 define the codes for arrows and lines used for the menu).
39634 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39635 as well.
39636
39637 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39638 fonts, because the latter are too slow.
39639
18eeaf04 396402008-07-21 Bean <bean123ch@gmail.com>
39641
39642 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39643 a20. Run keyboard test last, as it will cause macbook to halt.
39644
b095e2ad 396452008-07-18 Pavel Roskin <proski@gnu.org>
39646
39647 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39648 load foreign architecture modules correctly anyway. Keep
39649 support for loading host architecture modules, whether we
39650 compile them or not.
39651
737feb35 396522008-07-17 Pavel Roskin <proski@gnu.org>
39653
3f4ce737 39654 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39655 change target_cpu. The compiler default can mismatch target_cpu
39656 in any case.
39657
4ad2d049 39658 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39659 * kern/efi/efi.c: Likewise.
39660
f6130a12 39661 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39662 target compiler is functional.
39663 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39664 are set up.
39665
58393a2d 39666 * configure.ac: Default to efi platform for x86_64-apple. Allow
39667 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39668 adjustments from the rest, only do them if target is not
39669 explicitly given. Merge other adjustments with the final sanity
39670 check. Remove an extraneous check for supported CPU. Be
39671 specific which CPU and which platform is not supported.
39672
737feb35 39673 * configure.ac: Default to pc platform for x86_64.
39674
546f966a 396752008-07-17 Robert Millan <rmh@aybabtu.com>
39676
39677 Partial LinuxBIOS -> Coreboot rename.
39678
39679 * conf/i386-linuxbios.rmk: Renamed to ...
39680 * conf/i386-coreboot.rmk: ... this.
39681 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39682 * configure.ac: Accept "coreboot" as input platform (but maintain
39683 compatibility with "linuxbios").
39684 * include/grub/i386/linuxbios: Renamed to ...
39685 * include/grub/i386/coreboot: ... this.
39686
20011694 396872008-07-17 Bean <bean123ch@gmail.com>
39688
39689 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39690 (appleldr_mod_SOURCE): New variable.
20011694 39691 (appleldr_mod_CFLAGS): Likewise.
39692 (appleldr_mod_LDFLAGS): Likewise.
39693 (pci_mod_SOURCES): Likewise.
39694 (pci_mod_CFLAGS): Likewise.
39695 (pci_mod_LDFLAGS): Likewise.
39696 (lspci_mod_SOURCES): Likewise.
39697 (lspci_mod_CFLAGS): Likewise.
39698 (lspci_mod_LDFLAGS): Likewise.
39699
39700 * conf/x86_64-efi.rmk: New file.
39701
39702 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39703 macro.
39704 (grub_efidisk_write): Likewise.
39705
39706 * include/efi/api.h (efi_call_0): New macro.
39707 (efi_call_1): Likewise.
39708 (efi_call_2): Likewise.
39709 (efi_call_3): Likewise.
39710 (efi_call_4): Likewise.
39711 (efi_call_5): Likewise.
39712 (efi_call_6): Likewise.
39713
39714 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39715 grub_rescue_cmd_chainloader.
39716
39717 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39718 (grub_pe32_optional_header): Change some fields based on i386 or
39719 x86_64 platform.
39720 (GRUB_PE32_PE32_MAGIC): Likewise.
39721
39722 * include/grub/efi/uga_draw.h: New file.
39723
39724 * include/grub/elf.h (STN_ABS): New constant.
39725 (R_X86_64_NONE): Relocation constant for x86_64.
39726 (R_X86_64_64): Likewise.
39727 (R_X86_64_PC32): Likewise.
39728 (R_X86_64_GOT32): Likewise.
39729 (R_X86_64_PLT32): Likewise.
39730 (R_X86_64_COPY): Likewise.
39731 (R_X86_64_GLOB_DAT): Likewise.
39732 (R_X86_64_JUMP_SLOT): Likewise.
39733 (R_X86_64_RELATIVE): Likewise.
39734 (R_X86_64_GOTPCREL): Likewise.
39735 (R_X86_64_32): Likewise.
39736 (R_X86_64_32S): Likewise.
39737 (R_X86_64_16): Likewise.
39738 (R_X86_64_PC16): Likewise.
39739 (R_X86_64_8): Likewise.
39740 (R_X86_64_PC8): Likewise.
39741
39742 * include/grub/i386/efi/pci.h: New file.
39743
39744 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39745 Change it value based on platform.
39746 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39747 (GRUB_E820_RAM): Likewise.
39748 (GRUB_E820_RESERVED): Likewise.
39749 (GRUB_E820_ACPI): Likewise.
39750 (GRUB_E820_NVS): Likewise.
39751 (GRUB_E820_EXEC_CODE): Likewise.
39752 (GRUB_E820_MAX_ENTRY): Likewise.
39753 (grub_e820_mmap): New structure.
39754 (linux_kernel_header): Change the efi field according to different
39755 kernel version, also field from linux_kernel_header.
39756
39757 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39758
39759 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39760 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39761 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39762 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39763 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39764 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39765 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39766 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39767 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39768 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39769
39770 * include/grub/x86_64/efi/kernel.h: New file.
39771
39772 * include/grub/x86_64/efi/loader.h: Likewise.
39773
39774 * include/grub/x86_64/efi/machine.h: Likewise.
39775
39776 * include/grub/x86_64/efi/pci.h: Likewise.
39777
39778 * include/grub/x86_64/efi/time.h: Likewise.
39779
39780 * include/grub/x86_64/linux.h: Likewise.
39781
39782 * include/grub/x86_64/setjmp.h: Likewise.
39783
39784 * include/grub/x86_64/time.h: Likewise.
39785
39786 * include/grub/x86_64/types.h: Likewise.
39787
39788 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39789 GRUB_TARGET_SIZEOF_VOID_P.
39790
39791 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39792 (grub_efi_locate_handle): Likewise.
39793 (grub_efi_open_protocol): Likewise.
39794 (grub_efi_set_text_mode): Likewise.
39795 (grub_efi_stall): Likewise.
39796 (grub_exit): Likewise.
39797 (grub_reboot): Likewise.
39798 (grub_halt): Likewise.
39799 (grub_efi_exit_boot_services): Likewise.
39800 (grub_get_rtc): Likewise.
39801
39802 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39803 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39804 (grub_efi_allocate_pages): Wrap efi calls.
39805 (grub_efi_free_pages): Wrap efi calls.
39806 (grub_efi_get_memory_map): Wrap efi calls.
39807
39808 * kern/x86_64/dl.c: New file.
39809
39810 * kern/x86_64/efi/callwrap.S: Likewise.
39811
39812 * kern/x86_64/efi/startup.S: Likewise.
39813
39814 * loader/efi/appleloader.c: Likewise.
39815
39816 * loader/efi/chainloader.c (cmdline): New variable.
39817 (grub_chainloader_unload): Wrap efi calls.
39818 (grub_chainloader_boot): Likewise.
39819 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39820 command line.
39821
39822 * loader/efi/chainloader_normal.c (chainloader_command):
39823 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39824 command line.
39825
39826 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39827 method.
39828 (grub_e820_add_region): New function.
39829 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39830 booting.
39831 (grub_find_video_card): New function.
39832 (grub_linux_setup_video): New function.
39833 (grub_rescue_cmd_linux): Probe for video information.
39834
39835 * normal/x86_64/setjmp.S: New file.
39836
39837 * term/efi/console.c (map_char): New function.
39838 (grub_console_putchar): Map unicode char.
39839 (grub_console_checkkey): Wrap efi calls.
39840 (grub_console_getkey): Likewise.
39841 (grub_console_getwh): Likewise.
39842 (grub_console_gotoxy): Likewise.
39843 (grub_console_cls): Likewise.
39844 (grub_console_setcolorstate): Likewise.
39845 (grub_console_setcursor): Likewise.
39846
39847 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39848
59652a20 398492008-07-16 Pavel Roskin <proski@gnu.org>
39850
ef294055 39851 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39852 format strings.
39853
59652a20 39854 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39855 pointer, not an integer. This fixes a warning and prevents
39856 precision loss on 64-bit systems.
39857 (relocate_addresses): Remove unneeded cast.
39858
afc3b5d7 398592008-07-15 Pavel Roskin <proski@gnu.org>
39860
506b2b3e 39861 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39862
62ead89c 39863 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39864
c4cd51d7 39865 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39866 Fix comparison between signed and unsigned.
39867
0d3d8f28 39868 * include/grub/i386/ieee1275/console.h: Declare
39869 grub_console_init() and grub_console_fini().
39870
8804b286 39871 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39872 It's empty and unused.
39873
ee01cf35 39874 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39875 beginning to avoid warnings with some compilers.
39876
afc3b5d7 39877 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39878 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39879
e4e8eaa5 398802008-07-14 Pavel Roskin <proski@gnu.org>
39881
407aceb4 39882 * kern/env.c (grub_register_variable_hook): Don't copy empty
39883 string, it leaks memory. Pass "" to grub_env_set(), it should
39884 handle constant strings.
39885
e4e8eaa5 39886 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39887 * commands/cmp.c (grub_cmd_cmp): Likewise.
39888 * kern/dl.c (grub_dl_flush_cache): Likewise.
39889 (grub_dl_load_core): Likewise.
39890 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39891 (grub_elf64_load_phdrs): Likewise.
39892
d4e2dad3 398932008-07-13 Pavel Roskin <proski@gnu.org>
39894
39895 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39896 between signed and unsigned.
39897 (LzmaEnc_Finish): Fix warning about an unused parameter.
39898
aa24b516 398992008-07-13 Bean <bean123ch@gmail.com>
39900
39901 * Makefile.in (enable_lzo): New rule.
39902
39903 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39904
39905 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39906
39907 * boot/i386/pc/lnxboot.S: #include <config.h>.
39908
39909 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39910 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39911
39912 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39913 compression algorithm according to configure macro.
39914
39915 * kern/i386/pc/startup.S (codestart): Likewise.
39916
39917 * kern/i386/pc/lzma_decode.S: New file.
39918
39919 * include/grub/lib/LzFind.h: Likewise.
39920
39921 * include/grub/lib/LzHash.h: Likewise.
39922
39923 * include/grub/lib/LzmaDec.h: Likewise.
39924
39925 * include/grub/lib/LzmaEnc.h: Likewise.
39926
39927 * include/grub/lib/LzmaTypes.h: Likewise.
39928
39929 * lib/LzFind.c: Likewise.
39930
39931 * lib/LzmaDec.c: Likewise.
39932
39933 * lib/LzmaEnc.c: Likewise.
39934
4ae821ac 399352008-07-13 Bean <bean123ch@gmail.com>
39936
39937 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39938 (grub_ext4_extent_header): New structure.
39939 (grub_ext4_extent): Likewise.
39940 (grub_ext4_extent_idx): Likewise.
39941 (grub_ext4_find_leaf): New function.
39942 (grub_ext2_read_block): Handle extents.
39943
9a745147 399442008-07-12 Robert Millan <rmh@aybabtu.com>
39945
39946 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39947
d49a4cf6 399482008-07-11 Robert Millan <rmh@aybabtu.com>
39949
39950 * util/grub.d/40_custom.in: New file. Example on how to add custom
39951 entries to /etc/grub.d.
39952 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39953 40_custom (implicitly, by merging all the grub.d rules).
39954
947414b4 399552008-07-11 Pavel Roskin <proski@gnu.org>
39956
0059cf6f 39957 * commands/read.c (grub_getline): Fix invalid memory access.
39958 Don't add newline to the variable value.
39959
947414b4 39960 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39961 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39962 (serial_hw_get_port): Check validity of the port number.
39963 (grub_cmd_serial): Check return value of serial_hw_get_port().
39964
62a02d00 399652008-07-07 Pavel Roskin <proski@gnu.org>
39966
39967 * boot/i386/pc/diskboot.S (notification_string): Replace
39968 "Loading kernel" with just "loading". This is shorter, less
39969 confusing and saves a few bytes for possible future changes.
39970
3e5581b0 399712008-07-05 Pavel Roskin <proski@gnu.org>
39972
ea387a48 39973 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39974 size for ATAPI devices, they are undefined. Output sector
39975 number in decimal form.
39976
3e5581b0 39977 * disk/ata.c: Use named constants for status bits.
39978
fdecb8fd 399792008-07-04 Pavel Roskin <proski@gnu.org>
39980
bcd35b90 39981 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39982 grub_addr_t before casting it to the void pointer to fix a
39983 warning. Non-addressable regions are discarded earlier.
39984 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39985 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39986 (check_signature): Don't shadow table_header.
39987 (grub_linuxbios_table_iterate): Cast numeric constants to
39988 grub_linuxbios_table_header_t.
39989 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39990 grub_stop().
39991
af58ab3d 39992 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39993 prevent warnings.
39994
1759aa57 39995 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39996 pointer, which can cause warnings. Support 64-bit addresses.
39997
fdecb8fd 39998 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39999 of sizeof(long). This fixes PowerPC image generation on x86_64.
40000
8516d2a8 400012008-07-04 Robert Millan <rmh@aybabtu.com>
40002
40003 This fixes a performance issue when pc & gpt partmap iterators
40004 didn't abort iteration even after our hook found what it was
fe987087 40005 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40006
40007 Some callers relied on previous buggy behaviour, since they would
34c44600 40008 raise an error when their own hooks caused early abortion of its
8516d2a8 40009 iteration.
40010
40011 * kern/device.c (grub_device_open): Improve error message.
40012 * disk/lvm.c (grub_lvm_open): Likewise.
40013 * disk/raid.c (grub_raid_open): Likewise.
40014
40015 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40016 when hook requests it, independently of grub_errno.
40017 (pc_partition_map_probe): Do not fail when find_func() caused
40018 early abortion of pc_partition_map_iterate().
40019
40020 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40021 when hook requests it, independently of grub_errno.
40022 (gpt_partition_map_probe): Do not fail when find_func() caused
40023 early abortion of gpt_partition_map_iterate().
40024
40025 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40026 when hook requests it, independently of grub_errno. Do not fail when
40027 part_map_iterate_hook() caused early abortion of p->iterate().
40028
40029 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40030 when grub_partition_iterate() returned with non-zero.
40031
277d0de9 400322008-07-03 Pavel Roskin <proski@gnu.org>
40033
40034 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40035 like we do in grub_ata_pio_read().
40036 (grub_ata_readwrite): Always write individual sectors. Fix the
40037 sector count for the remainder.
40038 (grub_ata_write): Enable writing to ATA devices. Correctly
40039 report error for ATAPI devices.
40040
d4c9b428 400412008-07-02 Pavel Roskin <proski@gnu.org>
40042
e43fc690 40043 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40044 warning.
40045
f707af42 40046 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40047 for every read sector, we already increment it for the whole
40048 batch. This fixes reading more than 256 sectors at once.
40049
11e16b15 40050 * util/grub-editenv.c (cmd_info): Cast argument to long
40051 explicitly. ptrdiff_t reduces to int on i386.
40052
cbabfdd4 40053 * util/grub-editenv.c (main): Be specific which parameter is
40054 missing.
40055
b8fbce0a 40056 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40057 (memdisk): Make memdisk_orig_addr a pointer.
40058
c9c8e606 40059 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40060 for file offsets, use grub_off_t instead. Fix printf format
40061 warnings.
40062
ca62e598 40063 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40064 there. Real unexpected warnings should not drown in the noise
40065 about known problems.
40066
ce8d1766 40067 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40068 grub_disk_addr_t for memory addresses.
40069
00c7a56a 40070 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40071 explicitly to fix a warning.
40072
08d3ef09 40073 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40074
cb71ba20 40075 * Makefile.in (MODULE_LDFLAGS): New variable.
40076 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40077 the linker accepts --build-id=none.
40078 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40079 MODULE_LDFLAGS.
40080 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40081
d4c9b428 40082 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40083 those in Linux XFS code. Provide a way to access 64-bit parent
40084 inode.
40085 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40086 the end of struct grub_xfs_dir_header.
40087
d4156eee 400882008-07-02 Bean <bean123ch@gmail.com>
40089
40090 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40091 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40092 and GRUB_IEEE1275_FLAG_NO_ANSI.
40093
40094 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40095 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40096 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40097
40098 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40099 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40100
40101 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40102 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40103
40104 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40105 esc sequence on non ANSI terminal.
40106 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40107
40108 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40109 beginning of file.
40110
2270f77b 401112008-07-02 Bean <bean123ch@gmail.com>
40112
40113 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40114 (grub_editenv_SOURCES): New variable.
40115 (pkglib_MODULES): Add loadenv.mod.
40116 (loadenv_mod_SOURCES): New variable.
40117 (loadenv_mod_CFLAGS): Likewise.
40118 (loadenv_mod_LDFLAGS): Likewise.
40119
40120 * include/grub/envblk.h: New file.
40121
40122 * util/envblk.c: New file.
40123
40124 * util/grub-editenv.c: New file.
40125
40126 * commands/loadenv.c: New file.
40127
0e9e51ec 401282008-07-01 Pavel Roskin <proski@gnu.org>
40129
d89b7634 40130 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40131 not unsigned char. This fixes warnings and is consistent with
40132 other tags.
40133
bf1835b1 40134 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40135
8222a04b 40136 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40137
6a42d99d 40138 * term/tparm.c (analyze): Always set *popcount.
40139
10b159d1 40140 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40141 cast to fix a warning.
40142
b8789f6c 40143 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40144 cast to suppress a warning.
40145
29d7e38a 40146 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40147 grub_fshelp_read_file() expects.
40148
f341f669 40149 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40150 write uuid as a 32-bit value in CPU byte order, so declare and
40151 use it as such.
40152
0e9e51ec 40153 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40154 long if the format specifier expects it.
40155 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40156 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40157 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40158 long to fix a warning.
40159 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40160 grub_dprintf() arguments to fix warnings.
40161
3aefa857 401622008-06-30 Pavel Roskin <proski@gnu.org>
40163
56c7668b 40164 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40165 install_bsd_part immediately before core.img is embedded or
40166 modified on disk. This fixes core.img verification if core.img
40167 cannot be embedded.
40168
3aefa857 40169 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40170 core_path to calculate the blocklist.
40171 Patch from Javier Martín <lordhabbit@gmail.com>
40172
5444088d 401732008-06-29 Robert Millan <rmh@aybabtu.com>
40174
40175 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40176 block to disk block.
40177 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40178 Patch from Niels Böhm <bitbucket@arcor.de>
40179
674835c8 401802008-06-29 Robert Millan <rmh@aybabtu.com>
40181
40182 * util/update-grub_lib.in (font_path): Search for fonts in
40183 /boot/grub first, which is more likely to be readable (we aren't
40184 deciding where fonts live, just looking for them).
40185
f527dbc8 401862008-06-26 Pavel Roskin <proski@gnu.org>
40187
6c2d8df6 40188 * util/biosdisk.c (read_device_map): Don't leave dead map
40189 entries for devices failing stat() check.
40190
f527dbc8 40191 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40192 core_path_dev for the core.img path on the target device.
40193
aebe3d13 401942008-06-26 Robert Millan <rmh@aybabtu.com>
40195
40196 * disk/fs_uuid.c: New file.
40197 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40198 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40199 (fs_uuid_mod_LDFLAGS): New variables.
40200 * include/grub/disk.h (grub_disk_dev_id): Add
40201 `GRUB_DISK_DEVICE_UUID_ID'.
40202 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40203 implement iterate().
40204
37aaf354 402052008-06-26 Robert Millan <rmh@aybabtu.com>
40206
40207 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40208 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40209 Linux image includes no initrd.
40210
25ff262a 402112008-06-21 Javier Martín <lordhabbit@gmail.com>
40212
40213 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40214 call to resolve the core image location that effectively appended the
40215 name twice.
40216
76a2bd44 402172008-06-21 Robert Millan <rmh@aybabtu.com>
40218
40219 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40220 call from here ...
40221
40222 * util/grub.d/10_hurd.in: ... to here ...
40223 * util/grub.d/10_linux.in: ... and here.
40224
650e1c79 402252008-06-19 Robert Millan <rmh@aybabtu.com>
40226
fe987087 40227 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40228 after it has been set by grub_machine_set_prefix().
40229
6ce63911 402302008-06-19 Robert Millan <rmh@aybabtu.com>
40231
40232 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40233 search result when not saving to variable, not the other way around.
40234 When saving to variable, abort iteration as soon as a match is found.
40235
73940cec 402362008-06-19 Robert Millan <rmh@aybabtu.com>
40237
40238 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40239 check for partition that provides /boot/grub. Its logic is flawed,
40240 as it prevents prepare_grub_to_access_device() from being called
40241 multiple times.
40242
3c62a39d 402432008-06-19 Robert Millan <rmh@aybabtu.com>
40244
40245 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40246 "insmod" command directly when abstraction modules are needed,
fe987087 40247 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40248 since it had already been processed).
40249
47395a42 402502008-06-19 Pavel Roskin <proski@gnu.org>
40251
40252 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40253 changed. This is needed in case GRUB_LIBDIR changes.
40254 * conf/i386-ieee1275.rmk: Likewise.
40255 * conf/i386-linuxbios.rmk: Likewise.
40256 * conf/i386-pc.rmk: Likewise.
40257 * conf/powerpc-ieee1275.rmk: Likewise.
40258
a145ac2d 402592008-06-18 Pavel Roskin <proski@gnu.org>
40260
40261 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40262 kernel_elf_symlist.c to symlist.c for consistency with other
40263 architectures. Update all users.
40264 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40265
7847c51e 402662008-06-18 Robert Millan <rmh@aybabtu.com>
40267
40268 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40269 it in prefix.
40270
40271 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40272 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40273 a RAID device, run setup() for all members independently on whether
40274 LVM abstraction is being used.
40275 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40276 If grub-mkimage has set `*install_dos_part == -2', don't override this
40277 value.
40278 Perform *install_dos_part adjustments independently on whether
40279 we're embedding or not.
40280 Clarify error message when image is too big for embedding.
40281 Remove duplicate *install_dos_part stanza.
40282
b23e5644 402832008-06-17 Robert Millan <rmh@aybabtu.com>
40284
40285 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40286 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40287 variables.
40288 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40289 values in grub_ofconsole_normal_color and
40290 grub_ofconsole_highlight_color (they're not directly related to
40291 background and foreground).
40292 (grub_ofconsole_setcolorstate): Extract background and foreground
40293 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40294
0aac2f79 402952008-06-17 Robert Millan <rmh@aybabtu.com>
40296
40297 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40298 /boot/grub for the check in last commit, not /boot (they could be
40299 different partitions).
40300
3cca7ef3 403012008-06-16 Robert Millan <rmh@aybabtu.com>
40302
40303 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40304 asked to setup access for the same partition that provides /boot,
40305 don't bother using UUIDs since our root already has the value we
40306 want.
40307
347396d8 403082008-06-16 Robert Millan <rmh@aybabtu.com>
40309
40310 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40311 I2O devices.
40312 Patch from Sven Mueller <sven@debian.org>.
40313
991477f8 403142008-06-16 Robert Millan <rmh@aybabtu.com>
40315
40316 * util/update-grub.in: Check for $EUID instead of $UID.
40317 Reported by Vincent Zweije.
40318
d31a32a1 403192008-06-16 Bean <bean123ch@gmail.com>
40320
fe987087 40321 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40322 (grub_ext2_read_block): Likewise.
40323 (grub_ext2_read_inode): Likewise.
40324 (grub_ext2_mount): Likewise.
40325 (grub_ext2_close): Likewise.
40326 (grub_ext3_get_journal): Removed.
40327
fe987087 40328 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40329 (grub_reiserfs_read_symlink): Likewise.
40330 (grub_reiserfs_mount): Likewise.
40331 (grub_reiserfs_open): Likewise.
40332 (grub_reiserfs_read): Likewise.
40333 (grub_reiserfs_close): Likewise.
40334 (grub_reiserfs_get_journal): Removed.
40335
40336 * fs/fshelp.c (grub_fshelp_read): Removed.
40337 (grub_fshelp_map_block): Likewise.
40338
40339 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40340 (grub_fshelp_journal): Likewise.
40341 (grub_fshelp_read): Likewise.
40342 (grub_fshelp_map_block): Likewise.
40343
3540a760 403442008-06-16 Pavel Roskin <proski@gnu.org>
40345
40346 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40347 floating point anymore.
40348 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40349
95614c84 403502008-06-15 Pavel Roskin <proski@gnu.org>
40351
40352 * commands/ls.c (grub_ls_list_files): Use integer calculations
40353 for human readable format, avoid floating point use.
40354 * kern/misc.c (grub_ftoa): Remove.
40355 (grub_vsprintf): Remove floating point support.
40356
50465dd6 403572008-06-15 Robert Millan <rmh@aybabtu.com>
40358
fe6b695a 40359 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40360 devices.
40361 Reported by Max Vozeler.
40362
a9207284 403632008-06-15 Robert Millan <rmh@aybabtu.com>
40364
40365 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40366 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40367 skipped later.
40368 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40369 the beginning of the prefix.
40370
40371 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40372 It is assumed that if we have a memdisk, grub-mkimage has set
40373 grub_prefix to include the "(memdisk)" drive in it.
40374
a7cbd45a 403752008-06-15 Robert Millan <rmh@aybabtu.com>
40376
40377 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40378 Initialize keyboard controller after registering the terminal, so that
40379 grub_printf() can be called from grub_keyboard_controller_init().
40380
21cf716a 403812008-06-15 Robert Millan <rmh@aybabtu.com>
40382
40383 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40384 extent-btree which is written as big endian on disk.
40385 Reported by Alain Greppin <al@chilibi.org>.
40386
23a64d8e 403872008-06-14 Robert Millan <rmh@aybabtu.com>
40388
40389 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40390 * util/i386/pc/grub-install.in (modules): Likewise.
40391
d687651c 403922008-06-13 Pavel Roskin <proski@gnu.org>
40393
40394 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40395
dfe9ddd4 403962008-06-13 Bean <bean123ch@gmail.com>
40397
40398 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40399
40400 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40401
40402 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40403 to indicate sparse block.
40404
16ae7781 404052008-06-12 Pavel Roskin <proski@gnu.org>
40406
e6d1a308 40407 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40408 number, grub_fshelp_read() does it for us.
40409
16ae7781 40410 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40411 linear disk read with journal translation.
40412 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40413 * include/grub/fshelp.h: Declare grub_fshelp_read().
40414
40fd3a2b 404152008-06-09 Pavel Roskin <proski@gnu.org>
40416
40417 * fs/minix.c (grub_minix_mount): Handle error reading
40418 superblock.
40419
f5679726 404202008-06-08 Robert Millan <rmh@aybabtu.com>
40421
40422 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40423 don't append the RAID prefix afterwards.
40424 Reported by Clint Adams.
40425
ce525529 404262008-06-08 Robert Millan <rmh@aybabtu.com>
40427
40428 Based on description from Pavel:
40429 * kern/disk.c (grub_disk_check_range): Rename to ...
40430 (grub_disk_adjust_range): ... this. Add a comment explaining the
40431 tasks performed by this function.
40432
ad4936a0 404332008-06-08 Robert Millan <rmh@aybabtu.com>
40434
40435 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40436 `num_serial' (for consistency with other variables).
40437 (struct grub_ntfs_data): Add `uuid' member.
40438 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40439 (grub_ntfs_uuid): New function.
40440 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40441
dc20b0f9 404422008-06-07 Pavel Roskin <proski@gnu.org>
40443
40444 * util/biosdisk.c (open_device): Revert last change to the
40445 function, it broke installation. The sector needs to be
40446 different dependent on which device is opened.
40447
c5e3cfba 404482008-06-06 Robert Millan <rmh@aybabtu.com>
40449
40450 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40451 rest of GRUB, and breakage doesn't happen if its value were modified.
40452
40453 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40454 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40455 a constant (same value).
40456 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40457 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40458
26a1f8c4 404592008-06-06 Robert Millan <rmh@aybabtu.com>
40460
40461 * util/biosdisk.c (open_device): Do not modify sector offset when
40462 accessing a partition. kern/disk.c already handles this for us.
40463
25d6b327 404642008-06-06 Robert Millan <rmh@aybabtu.com>
40465
40466 * util/grub-emu.c (grub_machine_init): Move code in this function from
40467 here ...
40468 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40469 segfault in case grub_printf() is called).
40470
40471 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40472 grub_probe. Update all users not to explicitly add it again.
40473 (grub_device): New variable; contains corresponding device for grubdir.
40474 (fs_module, partmap_module, devabstraction_module): Pass
40475 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40476 every time.
40477
9ece62fb 404782008-06-05 Robert Millan <rmh@aybabtu.com>
40479
40480 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40481 is found, print it (same layout as with labels).
40482
1ad36d37 404832008-06-04 Robert Millan <rmh@aybabtu.com>
40484
40485 * util/biosdisk.c (get_drive): Rename to ...
40486 (find_grub_drive): ... this. Update all users.
40487
40488 (get_os_disk): Rename to ...
40489 (convert_system_partition_to_system_disk): ... this. Update all users.
40490
40491 (find_drive): Rename to ...
40492 (find_system_device): ... this. Update all users.
40493
e6a30859 404942008-06-04 Robert Millan <rmh@aybabtu.com>
40495
40496 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40497 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40498 (make_device_map): Likewise.
40499
00c108a4 405002008-06-01 Robert Millan <rmh@aybabtu.com>
40501
40502 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40503 before dereferencing it.
40504
40505 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40506 union with fat12/fat16-specific ones. Add some new fields, including
40507 `num_serial' for both versions.
40508 (struct grub_fat_data): Add `uuid' member.
40509 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40510 names. Initialize `data->uuid' using `num_serial'.
40511 (grub_fat_uuid): New function.
40512 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40513
40514 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40515 (grub_reiserfs_uuid): New function.
40516 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40517 member.
40518
40519 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40520 (grub_xfs_uuid): New function.
40521 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40522
1385c5bb 405232008-06-01 Robert Millan <rmh@aybabtu.com>
40524
40525 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40526 code that is backward compatible with pre-uuid search command.
40527
c682dfd7 405282008-05-31 Robert Millan <rmh@aybabtu.com>
40529
40530 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40531 floppies after everything else, to ensure floppy drive isn't accessed
40532 unnecessarily (patch from Bean).
40533
b7db5d47 405342008-05-31 Robert Millan <rmh@aybabtu.com>
40535
40536 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40537 not print device names when we were asked to set a variable.
40538
6e037aa9 405392008-05-31 Robert Millan <rmh@aybabtu.com>
40540
40541 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40542 using "cursor-on" and "cursor-off" commands (understood at least by
40543 the Open Firmware flavour on OLPC).
40544
41305bc8 405452008-05-31 Michael Gorven <michael@gorven.za.net>
40546
40547 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40548 on and off sequences.
40549
69ba137e 405502008-05-31 Robert Millan <rmh@aybabtu.com>
40551
40552 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40553 * util/update-grub.in: Likewise.
40554
520ae21b 405552008-05-30 Pavel Roskin <proski@gnu.org>
40556
40557 * util/biosdisk.c (linux_find_partition): Simplify logic and
40558 make the code more universal. Keep special processing for
40559 devfs, but use a simple rule for all other devices. If the
40560 device ends with a number, append 'p' and the partition number.
40561 Otherwise, append only the partition number.
40562
5786569b 405632008-05-30 Robert Millan <rmh@aybabtu.com>
40564
40565 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40566 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40567 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40568 the `root' parameter to Linux.
40569
51500452 405702008-05-30 Robert Millan <rmh@aybabtu.com>
40571
40572 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40573 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40574 --fs_uuid with --fs-uuid.
40575 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40576 all filesystems support them).
40577
811d3878 405782008-05-30 Robert Millan <rmh@aybabtu.com>
40579
40580 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40581 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40582
cab63c95 405832008-05-30 Robert Millan <rmh@aybabtu.com>
40584
40585 * util/grub.d/00_header.in: Remove obsolete comment referencing
40586 convert_system_path_to_grub_path().
40587 * util/update-grub.in: Likewise.
40588 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40589 (convert_system_path_to_grub_path): Add a warning message explaining
40590 that this function is deprecated. Rely on is_path_readable_by_grub()
40591 for the readability checks.
40592 (font_path): Use is_path_readable_by_grub() for the readability
40593 check rather than convert_system_path_to_grub_path().
40594
972e2f7a 405952008-05-30 Robert Millan <rmh@aybabtu.com>
40596
40597 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40598 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40599 converting it first.
40600 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40601 grub.cfg for access to font file, and afterwards call it again to set
40602 the root device.
40603
62191274 406042008-05-30 Robert Millan <rmh@aybabtu.com>
40605
40606 * commands/search.c (options): Add --fs_uuid option.
40607 (search_fs_uuid): New function.
40608 (grub_cmd_search): Fix --set argument passing.
40609 Use search_fs_uuid() when requested via --fs_uuid.
40610 (grub_search_init): Update help message.
40611 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40612 and redeclare it as an array of 16-bit words.
40613 (grub_ext2_uuid): New function.
40614 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40615 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40616 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40617 (GRUB_DEVICE_BOOT_UUID): New variables.
40618 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40619 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40620 whenever possible.
40621 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40622 just assume `root' variable has the right value.
40623 * util/grub.d/10_linux.in: Likewise.
40624 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40625 via PRINT_FS_UUID.
40626 (main): Recognise `-t fs_uuid' argument.
40627
01b73ec8 406282008-05-30 Robert Millan <rmh@aybabtu.com>
40629
40630 * util/biosdisk.c (map): Redefine structure to hold information
40631 about GRUB drive name.
fe6b695a 40632 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40633 drive names.
40634 (call_hook): Remove.
40635 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40636 member. Assume drive has partitions.
40637 (grub_util_biosdisk_open): Access device names via `.device' struct
40638 member.
40639 (open_device): Likewise.
40640 (find_drive): Likewise.
40641 (read_device_map): Adjust map[] usage to match the new struct
40642 definition. Don't check for duplicates (still possible, but not cheap
40643 anymore).
40644 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40645 (make_device_name): Remove assumption of BIOS-like drive names.
40646
22f16596 406472008-05-30 Pavel Roskin <proski@gnu.org>
40648
40649 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40650 compiling execute.c doesn't need grub_script.tab.h anymore.
40651 (normal/command.c_DEPENDENCIES): Likewise.
40652 (normal/function.c_DEPENDENCIES): Likewise.
40653 * conf/i386-ieee1275.rmk: Likewise.
40654 * conf/i386-linuxbios.rmk: Likewise.
40655 * conf/i386-pc.rmk: Likewise.
40656 * conf/powerpc-ieee1275.rmk: Likewise.
40657 * conf/sparc64-ieee1275.rmk: Likewise.
40658
528ad8f2 406592008-05-29 Pavel Roskin <proski@gnu.org>
40660
d1dff95d 40661 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40662 when scanning metadata for volume group name.
40663
528ad8f2 40664 * include/grub/script.h: Don't include grub_script.tab.h. It's
40665 a generated file, which may only be included from the files with
40666 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40667 use union YYSTYPE, as the later allows forward declaration.
40668 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40669
47248e08 406702008-05-29 Robert Millan <rmh@aybabtu.com>
40671
40672 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40673 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40674 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40675 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40676 scan codes.
40677
ee632529 406782008-05-29 Robert Millan <rmh@aybabtu.com>
40679
40680 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40681 control key combinations.
40682
eee96e08 406832008-05-29 Robert Millan <rmh@aybabtu.com>
40684
40685 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40686 * util/ieee1275/grub-install.in: ... to here.
40687 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40688 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40689 (grub_install_SOURCES): Likewise.
40690
da9a6a94 406912008-05-29 Robert Millan <rmh@aybabtu.com>
40692
40693 * fs/affs.c: Update copyright year.
40694 * fs/ext2.c: Likewise.
40695 * fs/fshelp.c: Likewise.
40696 * fs/hfsplus.c: Likewise.
40697 * fs/ntfs.c: Likewise.
40698 * fs/xfs.c: Likewise.
40699 * include/grub/fshelp.h: Likewise.
40700 * util/grub-mkdevicemap.c: Likewise.
40701
12e65f3a 407022008-05-28 Robert Millan <rmh@aybabtu.com>
40703
40704 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40705 might need to be fatfs to support some firmware implementations
40706 (e.g. OFW or EFI).
40707
23023641 407082008-05-28 Robert Millan <rmh@aybabtu.com>
40709
40710 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40711 devices.
40712 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40713 (make_device_map): Likewise.
40714
887d2619 407152008-05-20 Bean <bean123ch@gmail.com>
40716
40717 * fs/fshelp.c (grub_fshelp_map_block): New function.
40718 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40719 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40720
40721 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40722 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40723 (grub_fshelp_journal): New structure.
40724 (grub_fshelp_map_block): New function prototype.
40725 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40726 (grub_fshelp_map_block): Likewise.
40727
40728 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40729 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40730 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40731 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40732 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40733 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40734 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40735 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40736 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40737 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40738 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40739 (grub_ext2_sblock): New members for journal support.
40740 (grub_ext3_journal_header): New structure.
40741 (grub_ext3_journal_revoke_header): Likewise.
40742 (grub_ext3_journal_block_tag): Likewise.
40743 (grub_ext3_journal_sblock): Likewise.
40744 (grub_fshelp_node): New members logfile and journal.
40745 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40746 grub_fshelp_map_block to get real block number.
40747 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40748 number.
40749 (grub_ext2_read_inode): Likewise.
40750 (grub_ext3_get_journal): New function.
40751 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40752 (grub_ext2_close): Release memory used by journal.
40753
40754 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40755 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40756 (grub_reiserfs_transaction_header): Renamed to
40757 grub_reiserfs_description_block, replace field data with real_blocks.
40758 (grub_reiserfs_commit_block): New structure.
40759 (grub_reiserfs_data): New member journal.
40760 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40761 number.
40762 (grub_reiserfs_read_symlink): Likewise.
40763 (grub_reiserfs_iterate_dir): Likewise.
40764 (grub_reiserfs_open): Likewise.
40765 (grub_reiserfs_read): Likewise.
40766 (grub_reiserfs_get_journal): New function.
40767 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40768 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40769 using grub_reiserfs_get_journal.
40770 (grub_reiserfs_close): Release memory used by journal.
40771
40772 * fs/affs.c (grub_affs_read_block): Change block type to
40773 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40774
40775 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40776
40777 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40778
40779 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40780
40781 * fs/udf.c (grub_udf_read_block): Change block type to
40782 grub_disk_addr_t. Use type cast to avoid warning.
40783
40784 * fs/xfs.c (grub_xfs_read_block): Likewise.
40785
b7c6bed5 407862008-05-16 Christian Franke <franke@computer.org>
40787
40788 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40789 to ensure that break with ESC will always work.
40790 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40791 Remove ESC from keyboard queue.
40792
eedf167f 407932008-05-16 Christian Franke <franke@computer.org>
40794
40795 * util/biosdisk.c: [__CYGWIN__] Add includes.
40796 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40797 (get_os_disk): Move variable declarations to OS specific
40798 parts to avoid warning.
40799 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40800 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40801 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40802 Cygwin.
40803 * util/getroot.c: [__CYGWIN__] Add includes.
40804 (strip_extra_slashes): Fix "/" case.
40805 [__CYGWIN__] (get_win32_path): New function.
40806 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40807 [__CYGWIN__] (find_root_device): Disable.
40808 [__CYGWIN__] (get_bootsec_serial): New function.
40809 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40810 [__linux__] (grub_guess_root_device): Add early returns to simplify
40811 structure.
40812 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40813 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40814 check for Linux only.
40815
a079699e 408162008-05-15 Bean <bean123ch@gmail.com>
40817
40818 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40819 keyboard hang problem in apple's intel mac.
40820
1cf4059a 408212008-05-09 Robert Millan <rmh@aybabtu.com>
40822
40823 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40824 devices.
40825 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40826 (make_device_map): Likewise.
40827 Reported by Aurelien Jarno <aurel32@debian.org>
40828
ed759390 408292008-05-07 Ian Campbell <ijc@hellion.org.uk>
40830
40831 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40832 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40833 (make_device_map): Output entries for xvd type disks.
40834
b56c4eaa 408352008-05-07 Robert Millan <rmh@aybabtu.com>
40836
40837 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40838 devices.
40839 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40840 (make_device_map): Likewise.
40841 Reported by Roland Dreier <rdreier@cisco.com>
40842
7f8866ed 408432008-05-07 Robert Millan <rmh@aybabtu.com>
40844
40845 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40846 grub_strstr() call. Correct a few mistakes in failure path handling.
40847
b0346e0f 408482008-05-06 Robert Millan <rmh@aybabtu.com>
40849
40850 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40851 Do not print a trailing slash (therefore, the root directory is an
40852 empty string).
40853 (convert_system_path_to_grub_path): Do not remove trailing slash
40854 from make_system_path_relative_to_its_root() output.
40855
40856 * util/i386/pc/grub-install.in: Add trailing slash to output from
40857 make_system_path_relative_to_its_root().
40858
6cf12cbd 408592008-05-06 Robert Millan <rmh@aybabtu.com>
40860
40861 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40862 ensures that output lines aren't intermangled with those sent to
40863 stderr (via grub_util_info()).
40864 * util/grub-probe.c (grub_refresh): Likewise.
40865 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40866
0fbb3117 408672008-05-05 Christian Franke <franke@computer.org>
40868
40869 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40870 Add Cygwin device names.
40871 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40872 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40873 (check_device): Return error instead of success on empty name.
40874 (make_device_map): Move label inside linux specific code to
40875 prevent compiler warning.
40876
8124cdb7 408772008-04-30 Robert Millan <rmh@aybabtu.com>
40878
40879 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40880 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40881 first boot option.
40882 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40883
094c01d0 408842008-04-29 Robert Millan <rmh@aybabtu.com>
40885
40886 * docs/grub.cfg: New file (example GRUB configuration).
40887
f4b1fc02 408882008-04-26 Robert Millan <rmh@aybabtu.com>
40889
329ce2a5 40890 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40891 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40892 and `disk/ieee1275/nand.c'.
f4b1fc02 40893
25f16ec1 408942008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40895
25f16ec1 40896 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40897 i386-linuxbios.
40898
40899 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40900 change the buffer size to 4096 for cdrom device.
40901
40902 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40903 and nand.mod.
40904 (_linux_mod_SOURCES): New variable.
40905 (_linux_mod_CFLAGS): Likewise.
40906 (_linux_mod_LDFLAGS): Likewise.
40907 (linux_mod_SOURCES): Likewise.
40908 (linux_mod_CFLAGS): Likewise.
40909 (linux_mod_LDFLAGS): Likewise.
40910 (nand_mod_SOURCES): Likewise.
40911 (nand_mod_CFLAGS): Likewise.
40912 (nand_mod_LDFLAGS): Likewise.
40913
40914 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40915 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40916 type property. (nand device in olpc don't have this property)
40917
40918 * include/grub/disk.h (grub_disk_dev_id): New macro
40919 GRUB_DISK_DEVICE_NAND_ID.
40920
40921 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40922 function prototype.
40923 (grub_rescue_cmd_initrd): Likewise.
40924
40925 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40926 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40927 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40928
25f16ec1 40929 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40930 GRUB_MACHINE_IEEE1275 is defined.
40931
40932 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40933 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40934
40935 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40936 on nested function heap_init.
40937 (grub_upper_mem): New variable for i386-ieee1275.
40938 (grub_get_extended_memory): New function for i386-ieee1275.
40939 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40940
40941 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40942 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40943 property.
f19dbdb7 40944
25f16ec1 40945 * loader/i386/ieee1275/linux.c: New file.
40946
40947 * loader/i386/ieee1275/linux_normal.c: New file.
40948
40949 * disk/ieee1275/nand.c: New file.
40950
e89d61e9 409512008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40952
40953 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40954 value.
40955 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40956
602566f6 409572008-04-18 Robert Millan <rmh@aybabtu.com>
40958
40959 Restructures early code path on ieee1275 to unify grub_main() as
40960 the first C function that is executed in every platform.
40961
40962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40963 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40964 cmain().
40965 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40966 * kern/ieee1275/cmain.c (cmain): Rename to ...
40967 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40968 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40969 at the beginning.
40970
57490c2b 409712008-04-18 Robert Millan <rmh@aybabtu.com>
40972
40973 * util/update-grub.in: Fix syntax error when setting
40974 `GRUB_PRELOAD_MODULES'.
40975 Reported by Stephane Chazelas <stephane@artesyncp.com>
40976
1977517d 409772008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40978
40979 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40980 section into account, newer toolchains generate unique build ids
40981 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40982 we want build ids to be preserved
1977517d 40983 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40984 far from other sections don't cause the raw binary images grow
40985 size
40986
bfb1f1a2 409872008-04-15 Robert Millan <rmh@aybabtu.com>
40988
40989 * disk/lvm.c: Update copyright year.
40990 * kern/misc.c: Likewise.
40991
01979850 409922008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40993
40994 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40995 there is no memory left for physical volume name.
01979850 40996
0a1150e2 409972008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40998
40999 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41000 volume name mapping to support bigger than 9 character names properly.
41001
82ead3fe 410022008-04-13 Robert Millan <rmh@aybabtu.com>
41003
41004 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41005 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41006
e54a72f5 410072008-04-13 Christian Franke <franke@computer.org>
41008
41009 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41010 to create a floppy emulation boot CD when non emulation mode
41011 does not work.
41012 Enable Joliet CD filesystem extension.
41013
9fe86034 410142008-04-13 Robert Millan <rmh@aybabtu.com>
41015
41016 * kern/misc.c (grub_strncat): Fix off-by-one error.
41017 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41018
41019 * kern/env.c (grub_env_context_close): Clear current context, not
41020 previous one.
41021 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41022
41023 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41024
7ceeee39 410252008-04-13 Robert Millan <rmh@aybabtu.com>
41026
41027 Improve robustness when handling LVM.
41028
41029 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41030 (and leave `*p' unmodified).
7ceeee39 41031 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41032 through it.
41033 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41034 iterating through it.
41035 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41036 through it.
fe6b695a 41037 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41038 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41039 Don't assume `vg->pvs != NULL' when iterating through it.
41040
58cd3d85 410412008-04-13 Robert Millan <rmh@aybabtu.com>
41042
41043 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41044 * genmk.rb (partmap): New variable.
41045 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41046 (#{partmap}): New target rule.
41047 * genpartmaplist.sh: New file.
41048 * Makefile.in (pkglib_DATA): Add partmap.lst.
41049 (partmap.lst): New target rule.
41050 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41051 modules (including all partition maps), instead of preloading them.
41052
78b51059 410532007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41054
41055 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41056 `linux-boot-prober' (if installed) to detect other operating
41057 systems which are installed on the computer and add them to
41058 the boot menu.
41059 * conf/common.rmk: Build and install 30_os-prober.
41060
a91627b4 410612008-04-12 Robert Millan <rmh@aybabtu.com>
41062
41063 * kern/powerpc/ieee1275/init.c: Move from here ...
41064 * kern/ieee1275/init.c: ... to here. Update all users.
41065
41066 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41067 * kern/ieee1275/cmain.c: ... to here. Update all users.
41068
41069 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41070 * kern/ieee1275/openfw.c: ... to here. Update all users.
41071
41072 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41073 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41074
322562ea 410752008-04-10 Pavel Roskin <proski@gnu.org>
41076
41077 * configure.ac: Always use "_cv_" in cache variables for
41078 compatibility with Autoconf 2.62.
41079
a02a73c5 410802008-04-07 Robert Millan <rmh@aybabtu.com>
41081
41082 Revert grub/machine/init.h addition by Pavel (since it breaks on
41083 i386-ieee1275 and others):
41084 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41085 * util/powerpc/ieee1275/misc.c: Likewise.
41086
25c024b1 410872008-04-07 Robert Millan <rmh@aybabtu.com>
41088
41089 * util/grub-probe.c (probe): Improve error message.
41090
3cbd2f98 410912008-04-07 Robert Millan <rmh@aybabtu.com>
41092
41093 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41094 (this prevents the presence of a bogus entry from ruining the whole
41095 thing).
41096
87a297bf 410972008-04-06 Pavel Roskin <proski@gnu.org>
41098
36747a62 41099 * util/biosdisk.c: Include grub/util/biosdisk.h.
41100 * util/grub-fstest.c (execute_command): Make static.
41101 * util/grub-mkdevicemap.c (check_device): Likewise.
41102 * util/i386/pc/misc.c: Include grub/machine/init.h.
41103 * util/powerpc/ieee1275/misc.c: Likewise.
41104 * util/lvm.c: Include grub/util/lvm.h.
41105 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41106 grub/cache.h.
41107 * util/raid.c: Include grub/util/raid.h.
41108 (grub_util_getdiskname): Make static.
41109
87a297bf 41110 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41111 grub_hostfs_fini(), as they are called from grub_init_all() and
41112 grub_fini_all() respectively. This fixes an infinite loop in
41113 grub-fstest due to double registration of hostfs.
41114 Reported by Christian Franke <Christian.Franke@t-online.de>
41115
f6ce7629 411162008-04-05 Pavel Roskin <proski@gnu.org>
41117
41118 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41119 all 8 functions. Otherwise, probe function 0 only.
41120
070e49e4 411212008-04-04 Pavel Roskin <proski@gnu.org>
41122
8b088a4c 41123 * commands/lspci.c (grub_lspci_iter): Print the bus number
41124 correctly.
41125
4f657021 41126 * commands/lspci.c (grub_pci_classes): Fix typos.
41127 (grub_lspci_iter): Don't print func twice. Print vendor ID
41128 before device ID, as it's normally done.
41129
070e49e4 41130 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41131 Fix signedness warnings.
41132 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41133 Likewise.
41134 * util/ieee1275/get_disk_name.c: Include config.h so that
41135 _GNU_SOURCE is defined and getline() is declared. Mark an
41136 unused argument as such. Fix a signedness warning.
41137
ba7328dc 411382008-04-02 Pavel Roskin <proski@gnu.org>
41139
26887f22 41140 * genkernsyms.sh.in: Use more robust assignments for CC and
41141 srcdir. Quote srcdir.
41142 * gensymlist.sh.in: Likewise. Assert at the compile time that
41143 the symbol table is not empty.
41144
ba7328dc 41145 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41146 * fs/cpio.c (grub_cpio_read): Likewise.
41147
0f582c6b 411482008-04-01 Pavel Roskin <proski@gnu.org>
41149
4b6e1995 41150 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41151 * disk/host.c (grub_host_open): Likewise.
41152 * disk/loopback.c (grub_loopback_open): Likewise.
41153 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41154 disk->id as in disk/host.c, not a multi-character constant.
41155
828a2768 41156 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41157 later is obsolete, potentially dangerous and sets a bad example.
41158 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41159 * util/misc.c (grub_util_get_image_size): Likewise.
41160
2bb4fb47 41161 * disk/loopback.c (options): Improve help for "--partitions".
41162
0f582c6b 41163 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41164 options to align them with the short options, e.g. "echo -e".
41165
a33224e0 411662008-03-31 Bean <bean123ch@gmail.com>
41167
41168 * video/reader/png.c (grub_png_data): New member is_16bit and
41169 image_data.
41170 (grub_png_decode_image_header): Detect 16 bit png image.
41171 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41172 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41173 (grub_video_reader_png): Release memory occupied by image_data.
41174
41175 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41176 4096 bytes.
41177 (grub_nfs_mount): Skip the test for sector per cluster.
41178
41179 * include/grub/ntfs.h (MAX_SPC): Removed.
41180
86cb4f54 411812008-03-31 Bean <bean123ch@gmail.com>
41182
41183 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41184 (grub_probe_SOURCES): Add fs/afs.c.
41185 (grub_fstest_SOURCES): Likewise.
41186 (afs_mod_SOURCES): New variable.
41187 (afs_mod_CFLAGS): Likewise.
41188 (afs_mod_LDFLAGS): Likewise.
41189
41190 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41191 (grub_emu_SOURCES): Likewise.
41192
41193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41194
41195 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41196
41197 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41198
41199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41200
41201 * fs/afs.c: New file.
41202
17c74c21 412032008-03-30 Pavel Roskin <proski@gnu.org>
41204
4cb68e89 41205 * disk/host.c: Include grub/misc.h to fix a warning.
41206 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41207 warnings about implicit declarations.
41208
8790bb04 41209 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41210 variable.
41211 * include/grub/i386/loader.h: Change declaration of
41212 grub_linux_boot() to match what grub_loader_set() expects.
41213 * util/getroot.c (grub_guess_root_device): Return const char* to
41214 fix a warning.
41215 * util/grub-probe.c (probe): Fix a warning about uninitialized
41216 abstraction_name variable.
41217 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41218 second argument as unused to fix a warning.
41219
9a3f3296 41220 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41221 missing grub_error() call.
41222
0ecef90d 41223 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41224 2.60 and newer uses it to define datadir.
41225
0bf6d401 41226 * commands/sleep.c: Fix warning about implicit declaration.
41227 * disk/memdisk.c: Likewise.
41228 * loader/aout.c: Likewise.
41229 * loader/i386/bsd_normal.c: Likewise.
41230 * util/grub-probe.c: Likewise.
41231
7cdacf97 41232 * commands/i386/cpuid.c (has_longmode): Make static.
41233 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41234 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41235
17c74c21 41236 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41237 GDT. This is more robust, as %ds can change.
41238 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41239 calling real_to_prot().
41240 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41241
80a3e68b 412422008-03-28 Pavel Roskin <proski@gnu.org>
41243
41244 * kern/i386/pc/startup.S: Assert that uncompressed functions
41245 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41246 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41247 code, as they push parts of the code (error handlers) beyond
41248 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41249 code as correctness and size.
41250
77bcd272 412512008-03-28 Pavel Roskin <proski@gnu.org>
41252
41253 * kern/i386/pc/startup.S
41254 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41255 data block address to the real mode, keep offset minimal. This
41256 works around a bug in AWARD BIOS on old Athlon systems, which
41257 makes CD detection hang.
41258
c5dfd43b 412592008-03-26 Pavel Roskin <proski@gnu.org>
41260
41261 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41262 const.
41263 * include/grub/normal.h: Add grub_parse_color_name_pair()
41264 declaration.
41265
bf962df2 412662008-03-24 Bean <bean123ch@gmail.com>
41267
41268 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41269 (cd_count): Removed.
41270 (cd_drive): New variable.
41271 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41272 (grub_biosdisk_call_hook): Likewise.
41273 (grub_biosdisk_iterate): Change cdrom detection method.
41274 (grub_biosdisk_open): Replace cd_start with cd_drive.
41275 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41276 detect cdrom device.
41277
41278 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41279 Removed.
41280 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41281 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41282 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41283 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41284 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41285 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41286 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41287 (grub_biosdisk_cdrp): New structure.
41288 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41289
41290 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41291
41292 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41293 device.
41294
41295 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41296 New function.
41297
68e7fc7a 412982008-03-20 Robert Millan <rmh@aybabtu.com>
41299
41300 Remove 2 TiB limit in ata.mod.
41301 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41302 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41303 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41304 grub_uint64_t instead of grub_uint32_t.
41305
38ad2cf5 413062008-03-05 Bean <bean123ch@gmail.com>
41307
41308 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41309 (grub_multiboot): Set boot device.
41310
41311 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41312
2b89344e 413132008-03-02 Bean <bean123ch@gmail.com>
41314
41315 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41316 symlink_buffer.
41317
87a95d1f 413182008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41319
41320 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41321 texinfo.tex.
41322
41323 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41324 modified.
41325
41326 * docs/fdl.texi: New file.
f19dbdb7 41327
87a95d1f 41328 * docs/mdate-sh: New file. Copied from gnulib.
41329 * docs/texinfo.tex: Likewise.
41330
41331 * config.guess: Updated from gnulib.
41332 * install-sh: Likewise.
41333
7dc15d8e 413342008-02-28 Robert Millan <rmh@aybabtu.com>
41335
41336 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41337 (aout_mod_SOURCES): New variable.
41338 (aout_mod_CFLAGS): Likewise.
41339 (aout_mod_LDFLAGS): Likewise.
41340
41341 * conf/i386-ieee1275.rmk: Likewise.
41342
b00ab696 413432008-02-28 Robert Millan <rmh@aybabtu.com>
41344
41345 * util/update-grub.in: Reorganise terminal validity check. Accept
41346 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41347 Based on suggestion by Franklin PIAT.
41348
79ca2d78 413492008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41350
41351 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41352 function.
41353 * util/getroot.c (grub_util_check_block_device): New function that
41354 returns the given argument if it is a block device and returns NULL else.
41355 * util/grub-probe.c (argument_is_device): New variable.
41356 (probe): Promote device_name from a variable to an argument. Receive
41357 device_name from grub_util_check_block_device() if path is NULL and from
41358 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41359 (options): Introduce new parameter '-d, --device'.
79ca2d78 41360 (main): Add description of the new parameter to the help screen.
41361 Rename path variable to argument. Set argument_is_device if the '-d'
41362 option is given. Pass argument to probe() depending on
41363 argument_is_device.
41364
0d16e571 413652008-02-24 Bean <bean123ch@gmail.com>
41366
41367 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41368 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41369 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41370 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41371 (GRUB_ISO9660_VOLDESC_END): Likewise.
41372 (grub_iso9660_primary_voldesc): New member escape.
41373 (grub_iso9660_data): New member joliet.
41374 (grub_iso9660_convert_string): New function.
41375 (grub_iso9660_mount): Detect joliet extension.
41376 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41377 (grub_iso9660_iso9660_label): Likewise.
41378
41379 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41380 (grub_setup_SOURCES): Add fs/udf.c.
41381 (grub_fstest_SOURCES): Likewise.
41382 (udf_mod_SOURCES): New variable.
41383 (udf_mod_CFLAGS): Likewise.
41384 (udf_mod_LDFLAGS): Likewise.
41385
41386 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41387 (grub_emu_SOURCES): Likewise.
41388
41389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41390
41391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41392
41393 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41394
41395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41396
41397 * fs/udf.c: New file.
41398
8a594a17 413992008-02-24 Robert Millan <rmh@aybabtu.com>
41400
41401 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41402 (normal/lexer.c_DEPENDENCIES): New variables.
41403 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41404 (normal/lexer.c_DEPENDENCIES): Likewise.
41405 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41406 (normal/lexer.c_DEPENDENCIES): Likewise.
41407 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41408 (normal/lexer.c_DEPENDENCIES): Likewise.
41409 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41410 (normal/lexer.c_DEPENDENCIES): Likewise.
41411 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41412 (normal/lexer.c_DEPENDENCIES): Likewise.
41413
2dc33c03 414142008-02-23 Robert Millan <rmh@aybabtu.com>
41415
41416 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41417 since they were intended to be in hex. This didn't break previously
41418 because of a bug in gpt_partition_map_iterate() (see below).
41419
41420 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41421 when checking the validity of GPT header.
41422 Remove `partno', since it always provides the same information as `i'.
41423
f6f4cfb0 414242008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41425
41426 * include/grub/efi/time.h: Fix a wrong comment.
41427
79ff665f 414282008-02-19 Pavel Roskin <proski@gnu.org>
41429
41430 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41431 message.
41432
d38e24c2 414332008-02-19 Bean <bean123ch@gmail.com>
41434
41435 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41436 (aout_mod_SOURCES): New variable.
41437 (aout_mod_CFLAGS): Likewise.
41438 (aout_mod_LDFLAGS): Likewise.
41439 (_bsd_mod_SOURCES): New variable.
41440 (_bsd_mod_CFLAGS): Likewise.
41441 (_bsd_mod_LDFLAGS): Likewise.
41442 (bsd_mod_SOURCES): New variable.
41443 (bsd_mod_CFLAGS): Likewise.
41444 (bsd_mod_LDFLAGS): Likewise.
41445
41446 * include/grub/aout.h: New file.
41447
41448 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41449
41450 * include/grub/i386/bsd.h: New file.
41451
41452 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41453 to make it public.
41454
41455 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41456 function is called, so that it's possible to change it inside the hook.
41457 (grub_elf64_load): Likewise.
41458 (grub_elf_file): Don't close the file if elf header is not found.
41459 (grub_elf_close): Close the file if grub_elf_file fails (The new
41460 grub_elf_file won't close it).
41461 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41462 (grub_elf64_size): Likewise.
41463
41464 * kern/i386/loader.S (grub_unix_real_boot): New function.
41465
41466 * loader/aout.c: New file.
41467
41468 * loader/i386/bsd.c: New file.
41469
41470 * loader/i386/bsd_normal.c: New file.
41471
41472 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41473
41474 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41475 can test other formats.
d38e24c2 41476
b93bdb0f 414772008-02-19 Robert Millan <rmh@aybabtu.com>
41478
41479 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41480 (grub_gpt_partition_type_empty): Redefine with macro from
41481 `<grub/gpt_partition.h>'.
41482 (gpt_partition_map_iterate): Adjust partition type comparison.
41483
41484 Export `entry' as partmap-specific `part.data' struct.
41485 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41486
41487 * include/grub/gpt_partition.h (grub_gpt_header)
41488 (grub_gpt_partentry): ... to here (new file).
41489
41490 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41491
41492 (grub_gpt_partition_type_bios_boot): New const variable, defined
41493 with macro from `<grub/gpt_partition.h>'.
41494
41495 (setup): Replace `first_start' with `embed_region', which keeps
41496 track of the embed region (and is partmap-agnostic).
41497
41498 Replace find_first_partition_start() with find_usable_region(),
41499 which finds a usable region for embedding using partmap-specific
41500 knowledge (supports PC/MSDOS and GPT).
41501
41502 Fix all assumptions that the embed region start at sector 1, using
41503 `embed_region.start' from now on. Similarly, use `embed_region.end'
41504 rather than `first_start' to calculate available size.
41505
41506 In grub_util_info() message, replace "into after the MBR" with an
41507 indication of the specific sector our embed region starts at.
41508
66cb40f6 415092008-02-19 Robert Millan <rmh@aybabtu.com>
41510
41511 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41512 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41513 `commands/reboot.c'.
41514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41515 (halt_mod_SOURCES): Likewise.
41516 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41517 (halt_mod_SOURCES): Likewise.
41518
b7202015 415192008-02-17 Christian Franke <franke@computer.org>
41520
41521 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41522
32b0fc49 415232008-02-17 Robert Millan <rmh@aybabtu.com>
41524
41525 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41526 set `first_start' to 0 for non-PC/MSDOS partition maps.
41527
aca63502 415282008-02-16 Robert Millan <rmh@aybabtu.com>
41529
41530 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41531 do not assume partition map is PC/MSDOS before performing checks that
41532 are specific to that layout.
41533
0de8be86 415342008-02-13 Robert Millan <rmh@aybabtu.com>
41535
41536 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41537 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41538 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41539
c3db8364 415402008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41541
41542 * configure.ac: Only a cosmetic change on the handling of
41543 -fno-stack-protector.
41544
f714229e 415452008-02-12 Alexandre Boeglin <alex@boeglin.org>
41546
c3db8364 41547 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41548 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41549 reboot.c.
f714229e 41550 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41551 (halt_mod_SOURCES): New variable.
41552 (halt_mod_CFLAGS): Likewise.
41553 (halt_mod_LDFLAGS): Likewise.
41554 (reboot_mod_SOURCES): Likewise.
41555 (reboot_mod_CFLAGS): Likewise.
41556 (reboot_mod_LDFLAGS): Likewise.
41557
c3db8364 41558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41559 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41560 reboot.c.
f714229e 41561 (halt_mod_SOURCES): Likewise.
41562 (reboot_mod_SOURCES): Likewise.
41563
c3db8364 41564 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41565 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41566 (reboot_mod_SOURCES): Likewise.
41567
41568 * commands/i386/pc/reboot.c: merge this file ...
41569
41570 * commands/ieee1275/reboot.c: ... and this file ...
41571
41572 * commands/reboot.c: ... to this file.
c3db8364 41573 Add some precompiler directive to include the correct header for
41574 each machine.
f714229e 41575
41576 * commands/ieee1275/halt.c: move this file ...
41577
41578 * commands/halt.c: ... to here.
c3db8364 41579 Add some precompiler directive to include the correct header for
41580 each machine.
f714229e 41581
41582 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41583 (grub_halt): Likewise.
41584
41585 * kern/efi/efi.c (grub_reboot): New function.
41586 (grub_halt): Likewise.
41587
c74493e0 415882008-02-12 Robert Millan <rmh@aybabtu.com>
41589
41590 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41591 /dev (like it is done for /dev/mapper). This doesn't provide support
41592 for EVMS, but at least it is now easy to identify the problem when it
41593 arises.
41594
d0db4b04 415952008-02-11 Robert Millan <rmh@aybabtu.com>
41596
41597 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41598 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41599 comparing it with -1, not 0.
41600
bf748642 416012008-02-10 Robert Millan <rmh@aybabtu.com>
41602
41603 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41604 `disk/lvm.c'.
41605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41606 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41607
41608 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41609 `disk/lvm.c' to the end of the list.
41610 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41611 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41612
b5db202a 416132008-02-10 Robert Millan <rmh@aybabtu.com>
41614
41615 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41616 grub_print_error() instead. This will let user know why we're entering
41617 rescue mode.
41618 Based on suggestions from Sam Morris.
41619
83abee31 416202008-02-10 Alexandre Boeglin <alex@boeglin.org>
41621
41622 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41623 on remaining N args, instead of "--" arg N times.
41624
78d5a08b 416252008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41626
41627 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41628 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41629 pattern for unknown glyphs.
41630
68807e5f 416312008-02-09 Robert Millan <rmh@aybabtu.com>
41632
41633 * configure.ac: Probe for `help2man'.
41634 * Makefile.in (builddir): New variable.
41635 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41636 or otherwise add a few flags/options to it.
41637 (install-local): For every executable utility or script that is
41638 installed, invoke $(HELP2MAN) to install a manpage based on --help
41639 output.
41640
41641 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41642 that it doesn't prevent --help from working in build tree.
41643
41644 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41645 with `bug-grub@gnu.org'.
41646 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41647 * util/update-grub.in (usage): New function.
41648 Implement proper argument check, with support for --help and --version
41649 (as well as existing -y).
41650
416512008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41652
41653 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41654 avoid overwriting previous output.
41655 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41656
c1962162 416572008-02-09 Robert Millan <rmh@aybabtu.com>
41658
41659 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41660 drawing the menu.
41661
3dac2e3f 416622008-02-09 Robert Millan <rmh@aybabtu.com>
41663
41664 * commands/sleep.c: New file.
41665 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41666 (sleep_mod_SOURCES): New variable.
41667 (sleep_mod_CFLAGS): Likewise.
41668 (sleep_mod_LDFLAGS): Likewise.
41669
7a634e08 416702008-02-09 Robert Millan <rmh@aybabtu.com>
41671
41672 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41673 situations in which we can deduce the RAID size and the superblock
41674 doesn't match it.
41675
b92f0c18 416762008-02-09 Robert Millan <rmh@aybabtu.com>
41677
41678 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41679 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41680 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41681
41682 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41683 and return a grub_diskmemberlist_t composed of physical array members.
41684 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41685
41686 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41687 prototype.
41688 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41689 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41690 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41691
41692 * util/grub-probe.c (probe): Move partmap probing code from here ...
41693 (probe_partmap): ... to here.
41694 (probe): Use probe_partmap() once for the disk we're probing, and
41695 additionally, when such disk contains a memberlist() struct member,
41696 once for each disk that is contained in the structure returned by
41697 memberlist().
41698
91a4bf68 416992008-02-09 Robert Millan <rmh@aybabtu.com>
41700
41701 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41702 environment variable to 'all' in order to obtain debug output from
41703 non-util/ code.
41704 * util/i386/pc/grub-setup.c (main): Likewise.
41705
a96f9caa 417062008-02-08 Robert Millan <rmh@aybabtu.com>
41707
41708 * disk/raid.c (grub_raid_scan_device): Check for
41709 `array->device[sb.this_disk.number]' rather than for
41710 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41711 guaranteed to be accessible.
a96f9caa 41712
b37a9222 417132008-02-08 Robert Millan <rmh@aybabtu.com>
41714
41715 * disk/raid.c: Update copyright.
41716 * fs/cpio.c: Likewise.
41717 * include/grub/raid.h: Likewise.
41718 * loader/i386/pc/multiboot.c: Likewise.
41719 * util/hostfs.c: Likewise.
41720
5626aee1 417212008-02-08 Robert Millan <rmh@aybabtu.com>
41722
41723 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41724 to a grub_disk_t array.
41725 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41726 `device[x]'.
41727 (grub_raid_scan_device): Replace `device[x].name' accesses with
41728 `device[x]->name'. Simplify initialization of `array->device[x]'.
41729
554f0187 417302008-02-08 Robert Millan <rmh@aybabtu.com>
41731
41732 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41733 grub_dprintf() calls.
41734 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41735 error message.
41736
1ec8425d 417372008-02-07 Christian Franke <franke@computer.org>
41738
41739 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41740 instead of fseek and ftell to support large files.
41741 (grub_hostfs_read): Likewise.
41742
f2156fda 417432008-02-07 Robert Millan <rmh@aybabtu.com>
41744
41745 Patch from Jeroen Dekkers.
41746 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41747 failure, since successfully reading all array members might not be
f2156fda 41748 required.
41749
9216e0e7 417502008-02-06 Robert Millan <rmh@aybabtu.com>
41751
41752 * util/grub-probe.c (probe): Simplify partmap probing (with the
41753 assumption that the first word up to the underscore equals to
41754 the module name).
41755
b0dfd29a 417562008-02-06 Christian Franke <franke@computer.org>
41757
41758 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41759 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41760 last block of a cpio or tar stream.
41761 Check for "TRAILER!!!" instead of any empty data
41762 block to detect last block of a cpio stream.
41763 (grub_cpio_dir): Fix constness of variable np.
41764 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41765 cpio or tar trailer is detected. This fixes a crash
41766 on open of a non existing file.
41767
c32865bf 417682008-02-05 Bean <bean123ch@gmail.com>
41769
41770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41771 address of entry.
41772 (grub_multiboot_load_elf64): Likewise.
41773 (grub_multiboot): Initialize mbi structure.
41774
41775 * util/grub-fstest.c: Don't include unused header file script.h.
41776
fe6b695a 41777 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41778 of file.
41779 (grub_fstest_SOURCES): Likewise.
41780
409480b7 417812008-02-05 Robert Millan <rmh@aybabtu.com>
41782
41783 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41784 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41785 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41786 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41787
41788 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41789 (translation_table): Replace hardcoded values with macros
41790 provided by `<grub/term.h>'.
41791
41792 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41793 (keyboard_map): Correct/add a few values, with macros provided
41794 by `<grub/term.h>'.
41795 (keyboard_map_shift): Zero values that don't differ from their
41796 `keyboard_map' equivalents.
41797 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41798 Discard the second scan code that is always sent by Caps lock.
41799 Only use `keyboard_map_shift' when it provides a non-zero value,
41800 otherwise fallback to `keyboard_map'.
41801
99fadbaa 418022008-02-04 Bean <bean123ch@gmail.com>
41803
41804 * Makefile.in (enable_grub_fstest): New variable.
41805
41806 * conf/common.rmk (grub_fstest_init.lst): New rule.
41807 (grub_fstest_init.h): Likewise.
41808 (grub_fstest_init.c): Likewise.
41809 (util/grub-fstest.c_DEPENDENCIES): New variable.
41810 (grub_fstest_SOURCES): Likewise.
41811
41812 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41813
41814 * util/grub-fstest.c: New file.
41815
bf567c50 418162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41817
41818 Make grub-setup handle a separate root device.
f19dbdb7 41819
bf567c50 41820 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41821 so that the root device can be compared with the destination
41822 device.
41823 When embedding the core image, if the root and destination devices
41824 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41825 0xFF.
41826 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41827
9be6b98b 418282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41829
41830 Add support for having a grub directory in a different drive. This
41831 is still only the data handling part.
f19dbdb7 41832
9be6b98b 41833 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41834 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41835 (grub_root_drive): New variable.
41836
41837 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41838 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41839 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41840 as it was.
41841
41842 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41843
41844 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41845 macro.
41846 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41847
41848 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41849 is bogus, because PXE booting does not specify any drive
41850 correctly.
41851
41852 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41853 am not sure if this is really correct.
41854
41855 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41856 is always identical to the boot drive when booting from a CD.
41857
41858 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41859 longer.
41860 (root_drive): New variable.
41861 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41862 (setup_sectors): Push %dx right after popping it, because %dh will
41863 be modified later.
41864 (copy_buffer): Restore %dx.
41865
e0ca0677 418662008-02-03 Robert Millan <rmh@aybabtu.com>
41867
41868 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41869 use `cdboot.img' for cdrom images.
41870
3b3f6629 418712008-02-03 Robert Millan <rmh@aybabtu.com>
41872
41873 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41874 only setup gfxterm when `font' command has succeeded.
41875
d42b3672 418762008-02-03 Robert Millan <rmh@aybabtu.com>
41877
41878 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41879 (grub_rescue_cmd_multiboot_loader)
41880 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41881
fa370ea6 418822008-02-03 Pavel Roskin <proski@gnu.org>
41883
e0c5dacb 41884 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41885 %edx and %esi from stack only after grub_gate_a20() is called.
41886 grub_gate_a20() clobbers %edx.
41887
f2a76e1d 418882008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41889
41890 * configure.ac (AC_INIT): Bumped to 1.96.
41891
41892 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41893 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41894 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41895 video/readers/png.c.
41896
90fd32d1 418972008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41898
41899 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41900 (cdboot_img_SOURCES): New variable.
41901 (cdboot_img_ASFLAGS): New variable.
41902 (cdboot_img_LDFLAGS): New variable.
41903
41904 * boot/i386/pc/cdboot.S: New file.
41905
41906 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41907 (cd_count): Likewise.
41908 (grub_biosdisk_get_drive): Add support for cd device.
41909 (grub_biosdisk_call_hook): Likewise.
41910 (grub_biosdisk_iterate): Likewise.
41911 (grub_biosdisk_open): Likewise.
41912 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41913 (grub_biosdisk_rw): Support reading from cd device.
41914 (GRUB_MOD_INIT): Iterate cd devices.
41915
41916 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41917 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41918 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41919
41920 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41921
4020aa53 419222008-02-02 Robert Millan <rmh@aybabtu.com>
41923
41924 * commands/read.c: New file.
41925 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41926 (read_mod_SOURCES): New variable.
41927 (read_mod_CFLAGS): Likewise.
41928 (read_mod_LDFLAGS): Likewise.
41929
e03a1132 419302008-02-02 Robert Millan <rmh@aybabtu.com>
41931
41932 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41933 determining whether menu has to be displayed.
41934
58c69220 419352008-02-02 Marco Gerards <marco@gnu.org>
41936
41937 * bus/pci.c: New file.
41938
41939 * include/grub/pci.h: Likewise.
41940
41941 * include/grub/i386/pc/pci.h: Likewise.
41942
41943 * commands/lspci.c: Likewise.
41944
41945 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41946 `lspci.mod'.
41947 (pci_mod_SOURCES): New variable.
41948 (pci_mod_CFLAGS): Likewise.
41949 (pci_mod_LDFLAGS): Likewise.
41950 (lspci_mod_SOURCES): Likewise.
41951 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41952 (lspci_mod_LDFLAGS): Likewise.
58c69220 41953
c004e1b4 419542008-02-02 Bean <bean123ch@gmail.com>
41955
41956 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41957 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41958
41959 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41960 (grub_xfs_btree_node): New structure.
41961 (grub_xfs_btree_root): New structure.
41962 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41963 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41964 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41965 (GRUB_XFS_EXTENT_SIZE): Likewise.
41966 (grub_xfs_read_block): Support btree format type.
41967 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41968 Use directory block as basic unit.
41969
41970 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41971
41972 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41973 __attribute__ ((__regparm__ (1))).
41974
f95562bf 419752008-02-01 Robert Millan <rmh@aybabtu.com>
41976
41977 Correct a mistake in previous commit.
41978
41979 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41980 top.
41981 (normal/command.c_DEPENDENCIES): New variable.
41982
7d31f41f 419832008-02-01 Robert Millan <rmh@aybabtu.com>
41984
41985 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41986 top.
41987 (normal/command.c_DEPENDENCIES): New variable.
41988 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41989 * conf/i386-ieee1275.rmk: Likewise.
41990 * conf/i386-linuxbios.rmk: Likewise.
41991 * conf/i386-pc.rmk: Likewise.
41992 * conf/sparc64-ieee1275.rmk: Likewise.
41993 * conf/powerpc-ieee1275.rmk: Likewise.
41994 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41995
41996 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41997
60b6be74 419982008-02-01 Robert Millan <rmh@aybabtu.com>
41999
42000 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42001 call at beginning of function.
42002
078522ab 420032008-01-31 Pavel Roskin <proski@gnu.org>
42004
42005 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42006 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42007 (grub_mkrescue_SOURCES): Likewise.
078522ab 42008 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42009
ccaa8a5f 420102008-01-30 Robert Millan <rmh@aybabtu.com>
42011
42012 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42013 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42014 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42015 (grub_probe_SOURCES): ... to here.
42016
42017 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42018 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42019 * conf/i386-ieee1275.rmk: Likewise.
42020 * conf/i386-linuxbios.rmk: Likewise.
42021 * conf/powerpc-ieee1275.rmk: Likewise.
42022
ae5a9cd7 420232008-01-30 Tristan Gingold <gingold@free.fr>
42024
42025 * kern/rescue.c: Silently accept empty lines.
42026
70bc2ef2 420272008-01-29 Bean <bean123ch@gmail.com>
42028
42029 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42030 (real_code_2): Code cleanup and change comment style.
42031 (move_memory): Avoid using 32-bit address mode.
42032
6a4d50ea 420332008-01-29 Bean <bean123ch@gmail.com>
42034
42035 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42036 (png_mod_SOURCES): New variable.
42037 (png_mod_CFLAGS): Likewise.
42038 (png_mod_LDFLAGS): Likewise.
42039
42040 * video/readers/png.c: New file.
42041
11cc30ac 420422008-01-28 Robert Millan <rmh@aybabtu.com>
42043
42044 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42045 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42046 `ifndef GRUB_MOD_GAP' hack.
42047 * util/elf/grub-mkimage.c (add_segments): Likewise.
42048
3abc589f 420492008-01-27 Robert Millan <rmh@aybabtu.com>
42050
42051 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42052 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42053 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42054
e1907778 420552008-01-27 Robert Millan <rmh@aybabtu.com>
42056
42057 Get grub-emu to build again (including parallel builds).
42058
42059 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42060 Split into ...
42061 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42062 (normal/execute.c_DEPENDENCIES): ... this, ...
42063 (grub-emu_DEPENDENCIES): ... and this.
42064
42065 * conf/i386-efi.rmk: Likewise.
42066 * conf/i386-linuxbios.rmk: Likewise.
42067 * conf/i386-ieee1275.rmk: Likewise.
42068 * conf/powerpc-ieee1275.rmk: Likewise.
42069 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42070
2216b101 420712008-01-27 Robert Millan <rmh@aybabtu.com>
42072
42073 * NEWS: Add a few items.
42074
f75172d9 420752008-01-27 Robert Millan <rmh@aybabtu.com>
42076
42077 Fix parallel builds with grub-emu. Based on earlier commit for
42078 grub-probe and grub-setup.
42079
42080 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42081 (util/grub-emu.c_DEPENDENCIES): ... this.
42082 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42083 (util/grub-emu.c_DEPENDENCIES): ... this.
42084 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42085 (util/grub-emu.c_DEPENDENCIES): ... this.
42086 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42087 (util/grub-emu.c_DEPENDENCIES): ... this.
42088 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42089 (util/grub-emu.c_DEPENDENCIES): ... this.
42090
3f51de77 420912008-01-27 Pavel Roskin <proski@gnu.org>
42092
42093 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42094 to create a gap between _end and the modules added to the image
42095 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42096 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42097 * util/elf/grub-mkimage.c (add_segments): Likewise.
42098
2033f53e 420992008-01-26 Pavel Roskin <proski@gnu.org>
42100
42101 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42102 just return an error.
42103
22da1f6f 421042008-01-26 Bean <bean123ch@gmail.com>
42105
42106 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42107 (grub_reiserfs_get_item): Save offset of the next item.
42108 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42109
2a9525e6 421102008-01-25 Robert Millan <rmh@aybabtu.com>
42111
42112 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42113 make all filesystem sources appear together (possibly fixing omissions
42114 while at it).
42115 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42116 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42117 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42119
42120 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42121 add `kern/file.c'.
42122 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42123 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42124 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42126
42127 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42128 (probe): Add a sanity check to make sure of our ability to read
42129 requested files when probing for filesystem type.
42130
42131 * genmk.rb: Update copyright year (2007).
42132
42133 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42134 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42135 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42136 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42137 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42138 : Remove function prototypes.
42139
b95f71b5 421402008-01-25 Robert Millan <rmh@aybabtu.com>
42141
42142 Revert my previous commits (based on wrong assumption of how grub_errno
42143 works).
42144
fe6b695a 42145 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42146 * kern/file.c (grub_file_open): Likewise.
42147
d08bbb49 421482008-01-24 Pavel Roskin <proski@gnu.org>
42149
42150 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42151 that hang if GRUB tries to setup colors.
42152 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42153 colors for firmwares that don't support it.
42154 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42155 Recognize Open Hack'Ware, set flags to work around its
42156 limitations.
42157
605e36ed 421582008-01-24 Robert Millan <rmh@aybabtu.com>
42159
42160 * kern/file.c (grub_file_open): Do not account previous failures of
42161 unrelated functions when grub_errno is checked for.
42162 Reported by Oleg Strikov.
42163
bac332a1 421642008-01-24 Bean <bean123ch@gmail.com>
42165
42166 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42167 (grub_ufs_sblock): New member volume name.
42168 (grub_ufs_find_file): Fix string copy bug.
42169 (grub_ufs_label): Implement this function properly.
42170
42171 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42172 (grub_hfs_iterate_records): Use the correct file number for extents
42173 and catalog file. Fix problem in next index calculation.
42174 (grub_hfs_find_node): Replace recursive function call with loop.
42175 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42176
15c80c09 421772008-01-23 Robert Millan <rmh@aybabtu.com>
42178
42179 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42180 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42181 (grub_multiboot2_real_boot): New function prototype.
42182
42183 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42184 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42185
42186 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42187 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42188
305338fd 421892008-01-23 Robert Millan <rmh@aybabtu.com>
42190
42191 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42192 #ifdef'ed out grub_printf().
42193
3ea52685 421942008-01-23 Robert Millan <rmh@aybabtu.com>
42195
42196 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42197 grub_dprintf calls, since they make "debug=all" mode unusable.
42198 (grub_console_checkkey): Likewise.
42199
5882ae4b 422002008-01-23 Robert Millan <rmh@aybabtu.com>
42201
42202 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42203 `term/i386/pc/at_keyboard.c'.
42204 (pkglib_MODULES): Add `serial.mod'.
42205 (serial_mod_SOURCES): New variable.
42206 (serial_mod_CFLAGS): Likewise.
42207 (serial_mod_LDFLAGS): Likewise.
42208
42209 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42210 `<grub/powerpc/ieee1275/console.h>'.
42211 (grub_keyboard_controller_init): New function prototype.
42212 (grub_console_checkkey): Likewise.
42213 (grub_console_getkey): Likewise.
42214
42215 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42216 keyboard on i386.
42217
42218 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42219 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42220
06ab5303 422212008-01-23 Robert Millan <rmh@aybabtu.com>
42222
42223 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42224 present, "(memdisk)/boot/grub" becomes the default prefix.
42225
42226 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42227 a memdisk tarball with all the modules. Add --overlay=DIR option that
42228 allows users to overlay additional files into the image.
42229
dbb475a4 422302008-01-23 Robert Millan <rmh@aybabtu.com>
42231
42232 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42233 and `machine/memory.h'.
42234 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42235 (_multiboot_mod_SOURCES): New variable.
42236 (_multiboot_mod_CFLAGS): Likewise.
42237 (_multiboot_mod_LDFLAGS): Likewise.
42238 (multiboot_mod_SOURCES): Likewise.
42239 (multiboot_mod_CFLAGS): Likewise.
42240 (multiboot_mod_LDFLAGS): Likewise.
42241
42242 * include/grub/i386/ieee1275/loader.h: New file.
42243
42244 * include/grub/i386/ieee1275/machine.h: Likewise.
42245
42246 * include/grub/i386/ieee1275/memory.h: Likewise.
42247
42248 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42249 variable declaration.
42250 (grub_os_area_size): Likewise.
42251
42252 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42253 (grub_lower_mem, grub_upper_mem): New variables.
42254 (grub_stop_floppy): New function (just to make
42255 grub_multiboot2_real_boot() happy).
42256
42257 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42258 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42259 (grub_stop): New function.
42260 Include `"../realmode.S"' and `"../loader.S"'.
42261
42262 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42263 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42264
42265 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42266 rely on grub_multiboot2_real_boot() for final boot.
42267
25638629 422682008-01-22 Robert Millan <rmh@aybabtu.com>
42269
42270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42271 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42272 device that doesn't look like an SD card.
42273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42274 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42275 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42276 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42277 found.
42278
9dad816d 422792008-01-22 Robert Millan <rmh@aybabtu.com>
42280
42281 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42282 avoid claiming over our own code.
42283
34842f2d 422842008-01-22 Bean <bean123ch@gmail.com>
42285
42286 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42287 (jpeg_mod_SOURCES): New variable.
42288 (jpeg_mod_CFLAGS): Likewise.
42289 (jpeg_mod_LDFLAGS): Likewise.
42290
42291 * video/readers/jpeg.c : New file.
42292
44023a28 422932008-01-22 Bean <bean123ch@gmail.com>
42294
42295 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42296 there are no more items.
42297
bc2d8ac6 422982008-01-21 Robert Millan <rmh@aybabtu.com>
42299
42300 * kern/mm.c (grub_mm_init_region): Improve debug message.
42301
261bd4bc 423022008-01-21 Robert Millan <rmh@aybabtu.com>
42303
42304 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42305 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42306 address.
42307 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42308 a C macro.
42309 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42310 Indicates start of upper memory.
42311 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42312 (generate_image): Abort when image size is big enough to corrupt
42313 upper memory.
42314
42315 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42316 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42317 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42318 instead of hardcoding 0xA0000.
42319 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42320 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42321 instead of hardcoding 0xA0000.
42322
f970b55e 423232008-01-21 Robert Millan <rmh@aybabtu.com>
42324
42325 * disk/memdisk.c (memdisk_size): New variable.
42326 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42327 `memdisk_size'.
42328 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42329 image to dynamic memory.
42330 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42331 `memdisk_size'. Free memdisk block.
42332
1a8b0526 423332008-01-21 Robert Millan <rmh@aybabtu.com>
42334
42335 Fix detection of very small filesystems (like tar).
42336
42337 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42338 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42339 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42340 a problem with this disk).
42341
6e9b4aab 423422008-01-21 Robert Millan <rmh@aybabtu.com>
42343
42344 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42345 on grub_biosdisk_rw_standard() error.
42346
0d8837b2 423472008-01-21 Robert Millan <rmh@aybabtu.com>
42348
42349 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42350 recent changes.
42351 * kern/elf.c: Likewise.
42352 * kern/ieee1275/ieee1275.c: Likewise.
42353 * kern/powerpc/ieee1275/openfw.c: Likewise.
42354 * term/ieee1275/ofconsole.c: Likewise.
42355
ffd36e34 423562008-01-21 Robert Millan <rmh@aybabtu.com>
42357
42358 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42359
3f0093d0 42360 * include/grub/kernel.h (grub_arch_memdisk_addr)
42361 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42362
3f0093d0 42363 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42364 (grub_arch_memdisk_size): ... to here.
ffd36e34 42365
6c391b21 423662008-01-21 Robert Millan <rmh@aybabtu.com>
42367
42368 Mostly based on bugfix from Bean.
42369
42370 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42371 attribute with hook() parameter.
42372 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42373 declaration.
42374 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42375 attribute with hook() parameter.
42376 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42377 declaration.
42378
55a581dc 423792008-01-21 Robert Millan <rmh@aybabtu.com>
42380
42381 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42382 (pkglib_MODULES): Add `memdisk.mod'.
42383 (memdisk_mod_SOURCES): New variable.
42384 (memdisk_mod_CFLAGS): Likewise.
42385 (memdisk_mod_LDFLAGS): Likewise.
42386
42387 * disk/memdisk.c: New file.
42388
42389 * include/grub/disk.h (grub_disk_dev_id): Add
42390 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42391
42392 * include/grub/i386/pc/kernel.h
42393 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42394 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42395 (grub_kernel_image_size): New variable declaration.
42396 (grub_total_module_size): Likewise.
42397 (grub_memdisk_image_size): Likewise.
42398
42399 * include/grub/i386/pc/memory.h
42400 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42401
42402 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42403 (grub_arch_memdisk_addr): New variable declaration.
42404 (grub_arch_memdisk_size): Likewise.
42405
42406 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42407 (grub_arch_memdisk_size): Likewise.
42408
42409 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42410 (codestart): Replace hardcoded `0x100000' with
42411 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42412
42413 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42414 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42415 not NULL, append the contents of the file it refers to, at the end of
42416 the compressed kernel image. Initialize `grub_memdisk_image_size'
42417 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42418 (options): Add "memdisk"|'m' option.
42419 (main): Parse --memdisk|-m option, and pass user-provided path as
42420 parameter to generate_image().
42421
3d7f54c9 424222008-01-20 Robert Millan <rmh@aybabtu.com>
42423
42424 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42425 grub_dprintf() calls from here ...
42426 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42427
0bf74728 424282008-01-20 Robert Millan <rmh@aybabtu.com>
42429
42430 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42431
42432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42433 declaration.
42434 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42435 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42436 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42437 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42438 property).
42439 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42440 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42441
33bf70a7 424422008-01-19 Robert Millan <rmh@aybabtu.com>
42443
fe6b695a 42444 Get rid of confusing function (superseded by
33bf70a7 42445 `grub_ieee1275_get_integer_property')
42446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42447 prototype.
42448 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42449 function.
42450 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42451 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42452 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42453
e2da7d26 424542008-01-19 Robert Millan <rmh@aybabtu.com>
42455
42456 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42457 command after "shut-down", since implementations differ on which
42458 the command for halt is.
42459
59f1fd8d 424602008-01-19 Robert Millan <rmh@aybabtu.com>
42461
42462 * include/grub/i386/linuxbios/console.h: Add header protection.
42463 (grub_keyboard_controller_init): New function prototype.
42464 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42465 (KEYBOARD_COMMAND_READ): Likewise.
42466 (KEYBOARD_COMMAND_WRITE): Likewise.
42467 (KEYBOARD_SCANCODE_SET1): Likewise.
42468 (grub_keyboard_controller_write): New function.
42469 (grub_keyboard_controller_read): Likewise.
42470 (grub_keyboard_controller_init): Likewise.
42471
42472 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42473 (grub_console_init): On coreboot/LinuxBIOS, call
42474 grub_keyboard_controller_init().
42475
5f5a7c15 424762008-01-19 Robert Millan <rmh@aybabtu.com>
42477
42478 PowerPC changes provided by Pavel Roskin.
42479
42480 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42481 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42482 don't rely on cmain() doing it.
42483 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42484 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42485
1210e168 424862008-01-16 Robert Millan <rmh@aybabtu.com>
42487
42488 * include/grub/i386/linuxbios/memory.h
42489 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42490 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42491 receive `table_header' as argument. Instead, probe for it in the
42492 known memory ranges where it can be present.
42493 (grub_available_iterate): Do not pass a fixed `table_header' address
42494 to grub_linuxbios_table_iterate().
42495
3d04eab8 424962008-01-15 Robert Millan <rmh@aybabtu.com>
42497
42498 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42499 * conf/i386-ieee1275.rmk: New file.
42500 * include/grub/i386/ieee1275/console.h: Likewise.
42501 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42502 * include/grub/i386/ieee1275/kernel.h: Likewise.
42503 * include/grub/i386/ieee1275/time.h: Likewise.
42504 * kern/i386/ieee1275/init.c: Likewise.
42505 * kern/i386/ieee1275/startup.S: Likewise.
42506
d1bc1b73 425072008-01-15 Robert Millan <rmh@aybabtu.com>
42508
42509 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42510 when pointers are 32-bit (but still do set it to one when they are
42511 64-bit).
42512
66a65807 425132008-01-15 Robert Millan <rmh@aybabtu.com>
42514
42515 * include/grub/ieee1275/ieee1275.h
42516 (grub_ieee1275_get_integer_property): New function prototype.
42517
42518 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42519 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42520 grub_ieee1275_get_property() to handle endianness.
66a65807 42521
42522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42523 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42524 where appropriate.
66a65807 42525 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42526 (grub_map): Likewise.
42527 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42528
a83ccafd 425292008-01-15 Bean <bean123ch@gmail.com>
42530
42531 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42532 (grub_script_execute_cmdline): Reset grub_errno.
42533
42534 * normal/main.c (read_config_file): Reset grub_errno.
42535
42536 * normal/parse.y (script_init): New.
42537 (script): Move function and menuentry here.
42538 (delimiter): New.
42539 (command): Add delimiter at the end of command.
42540 (commands): Adjust to match the new command.
42541 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42542 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42543 (if): Use the new commands.
42544
42545 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42546
df6ecfc6 425472008-01-15 Robert Millan <rmh@aybabtu.com>
42548
42549 * normal/menu.c (run_menu): Move timeout message from here ...
42550 (print_timeout): ... to here.
42551 (run_menu): Use print_timeout() once during initial draw to print
42552 the whole message, and again in every clock tick to update only
42553 the number of seconds.
42554
87ae25eb 425552008-01-15 Robert Millan <rmh@aybabtu.com>
42556
42557 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42558 actual size of `available' from grub_ieee1275_get_property(), and
42559 restrict parsing to that bound.
42560
47bf09a4 425612008-01-15 Christian Franke <franke@computer.org>
42562
42563 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42564 (argp_program_version): Remove variable.
42565 (argp_program_bug_address): Likewise.
42566 (options): Convert from struct argp_option to struct option.
42567 (struct arguments): Remove.
42568 (parse_opt): Remove.
42569 (usage): New function.
42570 (main): Replace struct args members by simple variables.
42571 Replace argp_parse() by getopt_long().
42572 Add switch to evaluate options.
42573 Add missing "(...)" around root_dev in prefix string.
42574
c86f1469 425752008-01-14 Robert Millan <rmh@aybabtu.com>
42576
42577 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42578 for grub_ieee1275_exit(), in order to improve portability.
42579
e622c559 425802008-01-14 Robert Millan <rmh@aybabtu.com>
42581
42582 * util/grub.d/10_linux.in (prefix): Define.
42583 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42584
44cb1ec8 425852008-01-13 Pavel Roskin <proski@gnu.org>
42586
42587 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42588 grub_errno if no errors have been detected.
42589
1eb8c802 425902008-01-12 Robert Millan <rmh@aybabtu.com>
42591
42592 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42593 (grub_util_get_dev_abstraction): New function prototype.
42594
42595 * util/getroot.c: Include `<grub/util/getroot.h>'
42596 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42597 (grub_util_get_dev_abstraction): ... here (new function).
42598
42599 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42600 `PRINT_ABSTRACTION'.
42601 (probe): Probe for abstraction type when requested.
42602 (main): Understand `--target=abstraction'.
42603
42604 * util/i386/efi/grub-install.in: Add abstraction module to core
42605 image when it is found to be necessary.
42606 * util/i386/pc/grub-install.in: Likewise.
42607 * util/powerpc/ieee1275/grub-install.in: Likewise.
42608
42609 * util/update-grub_lib.in (font_path): Return system path without
42610 converting to GRUB path.
42611 * util/update-grub.in: Convert system path returned by font_path()
42612 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42613 abstraction module is needed for loading fonts (if any). Export
42614 that as `GRUB_PRELOAD_MODULES'.
42615 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42616 insmod commands).
42617
52bd3de9 426182008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42619
42620 Remove some unused code from reiserfs.
f19dbdb7 42621
52bd3de9 42622 * fs/reiserfs.c (struct grub_reiserfs_key)
42623 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42624 (struct grub_reiserfs_node_body): Removed.
42625 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42626 Likewise.
42627 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42628 Likewise.
42629 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42630 Likewise.
42631 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42632 Likewise.
42633 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42634 Likewise.
42635 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42636 Likewise.
42637 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42638 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42639 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42640
2f80039d 426412008-01-10 Robert Millan <rmh@aybabtu.com>
42642
42643 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42644 Determines if a file is garbage left by packaging systems, etc.
42645 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42646 for processing /etc/grub.d scripts.
42647 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42648 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42649 as a condition for processing Linux images.
42650
87888032 426512008-01-10 Pavel Roskin <proski@gnu.org>
42652
42653 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42654 to compile reiserfs.c on PowerPC.
42655
7e54fced 426562008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42657
42658 * kern/device.c (grub_device_iterate): Do not abort device iteration
42659 when one of the devices cannot be opened.
42660 * kern/disk.c (grub_disk_open): Do not account previous failures of
42661 unrelated functions when grub_errno is checked for.
42662
5aa541e6 426632008-01-08 Robert Millan <rmh@aybabtu.com>
42664
42665 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42666 `! grub_linux_is_bzimage', change order of address comparison to make
42667 it more intuitive, and improve "too big zImage" error message.
42668
7076340d 426692008-01-08 Robert Millan <rmh@aybabtu.com>
42670
42671 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42672 `$(update-grub_DATA)'.
42673 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42674 targets.
42675
9ca70333 426762008-01-07 Robert Millan <rmh@aybabtu.com>
42677
42678 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42679 which instruction is modified by grub-setup during installation
42680 (since it wasn't obvious by only looking at this file).
42681
38ccf575 426822008-01-07 Robert Millan <rmh@aybabtu.com>
42683
42684 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42685 listing actual TODO items.
42686
f5db4291 426872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42688
868967cf 42689 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42690 correctly.
42691 (grub_reiserfs_get_key_offset): Likewise.
42692 (grub_reiserfs_set_key_offset): Likewise.
42693 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42694 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42695
42696 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42697 better to remove the bitfield version completely.
f19dbdb7 42698
868967cf 426992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42700
f5db4291 42701 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42702 allocated from the heap, due to the fshelp implementation.
42703 (grub_reiserfs_dir): Free NODE, due to the same reason.
42704
492e6d9d 427052008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42706
42707 Mostly from Vincent Pelletier:
f19dbdb7 42708
492e6d9d 42709 * fs/reiserfs.c: New file.
f19dbdb7 42710
492e6d9d 42711 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42712 (reiserfs_mod_SOURCES): New variable.
42713 (reiserfs_mod_CFLAGS): Likewise.
42714 (reiserfs_mod_LDFLAGS): Likewise.
42715
42716 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42717 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42718 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42719 normal/color.c.
42720
9ce3e7c1 427212008-01-06 Robert Millan <rmh@aybabtu.com>
42722
42723 * normal/color.c: Remove `<grub/env.h>'.
42724
f3b58148 427252008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42726
42727 * include/grub/normal.h: Include <grub/env.h>.
42728
7ac3bcfa 427292008-01-05 Robert Millan <rmh@aybabtu.com>
42730
42731 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42732 usage example with `(hd0,1)'.
fb358190 42733 Reported by Samuel Thibault.
7ac3bcfa 42734
c8ee99d7 427352008-01-05 Robert Millan <rmh@aybabtu.com>
42736
42737 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42738 (grub_linux_boot_zimage): Rename to ...
42739 (grub_linux_boot): ... this.
42740 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42741 (grub_linux_boot_zimage): Conditionalize zImage copy.
42742
42743 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42744 (grub_linux_boot_bzimage): Remove prototype.
42745 (grub_linux_boot_zimage): Rename to ...
42746 (grub_linux_boot): ... this.
42747
42748 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42749 (grub_linux_boot): Remove function.
42750
0ece25b1 427512008-01-05 Robert Millan <rmh@aybabtu.com>
42752
42753 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42754 (grub_env_write_color_highlight): Likewise.
42755 (grub_wait_after_message): Likewise.
42756
42757 * normal/color.c: New file.
42758
42759 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42760 (normal_mod_DEPENDENCIES): Likewise.
42761
42762 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42763 (normal_mod_DEPENDENCIES): Likewise.
42764
42765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42766 (normal_mod_DEPENDENCIES): Likewise.
42767
42768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42769 (normal_mod_DEPENDENCIES): Likewise.
42770
42771 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42772 for waiting after a message is printed.
42773 * normal/main.c (read_config_file): Likewise.
42774 (grub_normal_init): Register grub_env_write_color_normal() and
42775 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42776 `color_highlight' variables as global.
42777
42778 * normal/menu.c (grub_wait_after_message): New function.
42779 (grub_color_menu_normal): New variable. Replaces ...
42780 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42781 (grub_color_menu_highlight): New variable. Replaces ...
42782 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42783 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42784 `GRUB_TERM_COLOR_STANDARD'.
42785 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42786 `normal_code' and `highlight_code' to `old_color_normal' and
42787 `old_color_highlight', respectively.
42788 (grub_menu_init_page): Update colors when drawing the menu, based on
42789 `menu_color_normal' and `menu_color_highlight' variables.
42790 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42791 a message is printed.
42792
182dd4e5 427932008-01-05 Robert Millan <rmh@aybabtu.com>
42794
42795 * kern/env.c (grub_env_context_open): Propagate hooks for global
42796 variables to new context.
42797
42798 * kern/main.c (grub_set_root_dev): Export `root' variable.
42799
ddf8f6ad 428002008-01-05 Robert Millan <rmh@aybabtu.com>
42801
42802 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42803 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42804 them.
42805
d8b43d9b 428062008-01-05 Robert Millan <rmh@aybabtu.com>
42807
42808 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42809
2bff2de3 428102008-01-04 Christian Franke <franke@computer.org>
42811
42812 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42813 of eisa_mmap.
42814
97eab917 428152008-01-03 Pavel Roskin <proski@gnu.org>
42816
42817 * kern/i386/linuxbios/init.c: Put "void" to all function
42818 declarations with no arguments.
42819 * kern/powerpc/ieee1275/init.c: Likewise.
42820 * term/i386/pc/at_keyboard.c: Likewise.
42821 * term/i386/pc/vga_text.c: Likewise.
42822 * util/grub-mkdevicemap.c: Likewise.
42823
b9416d00 428242008-01-02 Robert Millan <rmh@aybabtu.com>
42825
42826 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42827 message when loaded image is out of bounds.
42828 (grub_multiboot_load_elf64): Likewise.
42829
92695df9 428302008-01-02 Pavel Roskin <proski@gnu.org>
42831
42832 * util/grub.d/10_linux.in: Try version without ".old" when
42833 looking for initrd. It's better to use initrd from the newer
42834 kernel of the same version than no initrd at all.
42835
d98d9cad 428362008-01-01 Robert Millan <rmh@aybabtu.com>
42837
42838 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42839
dbfdce36 428402008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42841
f19dbdb7 42842 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42843 grub_video_get_active_render_target.
42844 (grub_video_adapter): Added unmap_color and get_active_render_target.
42845
f19dbdb7 42846 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42847 grub_video_get_active_render_target.
42848 (grub_video_get_info): Changed method to accept NULL pointer as an
42849 argument to allow detection of active video adapter.
42850
42851 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42852 grub_video_vbe_unmap_color_int.
42853 Added grub_video_vbe_unmap_color and
42854 grub_video_vbe_get_active_render_target.
42855 (grub_video_vbe_adapter): Added unmap_color and
42856 get_active_render_target.
42857
f19dbdb7 42858 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42859 with grub_video_vbe_unmap_color_int.
42860
42861 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42862 (DEFAULT_NORMAL_COLOR): Likewise.
42863 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42864 (DEFAULT_FG_COLOR): Removed.
42865 (DEFAULT_BG_COLOR): Likewise.
42866 (DEFAULT_CURSOR_COLOR): Changed value.
42867 (grub_virtual_screen): Added standard_color_setting,
42868 normal_color_setting, highlight_color_setting and term_color.
42869 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42870 (bitmap_width): Added.
42871 (bitmap_height): Likewise.
42872 (bitmap): Likewise.
42873 (set_term_color): Likewise.
42874 (grub_virtual_screen_setup): Changed to use new terminal coloring
42875 settings.
42876 (grub_gfxterm_init): Added init for bitmap.
42877 (grub_gfxterm_fini): Added destroy for bitmap.
42878 (redraw_screen_rect): Updated to use background bitmap and new
42879 terminal coloring.
42880 (scroll_up): Added optimization for case when there is no bitmap.
42881 (grub_gfxterm_cls): Fixed to use correct background color.
42882 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42883 coloring.
42884 (grub_virtual_screen_setcolor): Likewise.
42885 (grub_virtual_screen_getcolor): Added.
42886 (grub_gfxterm_background_image_cmd): Likewise.
42887 (grub_video_term): Added setcolor and getcolor.
42888 (MOD_INIT): Added registration of background_image command.
42889 (MOD_TERM): Added unregistration for background_image command.
42890
c3c20931 428912007-12-30 Pavel Roskin <proski@gnu.org>
42892
42893 * loader/multiboot_loader.c: Fix multiboot command
42894 unregistration. Fix all typos in the word "multiboot".
42895
df266716 428962007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42897
42898 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42899 support for initrd names used in Fedora.
42900
fc6e896c 429012007-12-26 Bean <bean123ch@gmail.com>
42902
42903 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42904 (cpio_mod_SOURCES): New variable.
42905 (cpio_mod_CFLAGS): Likewise.
42906 (cpio_mod_LDFLAGS): Likewise.
42907
42908 * fs/cpio.c: New file.
42909
42910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42911
42912 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42913
42914 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42915
42916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42917
533110ad 429182007-12-25 Robert Millan <rmh@aybabtu.com>
42919
42920 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42921 (grub_getcolor): New function.
42922
42923 * kern/term.c (grub_getcolor): New function.
42924 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42925 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42926 (print_entry): Set normal and highlight colors to
42927 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42928 respectively, before printing and restore them to old
42929 values afterwards.
42930 (grub_menu_init_page): Likewise. Fill an additional colored space
42931 that would otherwise be left blank.
42932
42933 * term/efi/console.c (grub_console_getcolor): New function.
42934 (struct grub_console_term.getcolor): New variable.
42935 * term/i386/pc/console.c (grub_console_getcolor): New function.
42936 (struct grub_console_term.getcolor): New variable.
42937 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42938 (struct grub_console_term.getcolor): New variable.
42939
42940 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42941 (struct grub_console_term.setcolor): Remove variable.
42942 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42943 (struct grub_console_term.setcolor): Remove variable.
42944 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42945 (struct grub_console_term.setcolor): Remove variable.
42946 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42947 (struct grub_console_term.setcolor): Remove variable.
42948
4931827f 429492007-12-25 Robert Millan <rmh@aybabtu.com>
42950
42951 * configure.ac: Search for possible unifont.hex locations, and
42952 define UNIFONT_HEX if found.
42953
42954 * Makefile.in (UNIFONT_HEX): Define variable.
42955 (DATA): Rename to ...
42956 (PKGLIB): ... this. Update all users.
42957 (PKGDATA): New variable.
42958 (pkgdata_IMAGES): Rename to ...
42959 (pkglib_IMAGES): ... this. Update all users.
42960 (pkgdata_MODULES): Rename to ...
42961 (pkglib_MODULES): ... this. Update all users.
42962 (pkgdata_PROGRAMS): Rename to ...
42963 (pkglib_PROGRAMS): ... this. Update all users.
42964 (pkgdata_DATA): Rename to ...
42965 (pkglib_DATA): ... this. Update all users.
42966 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42967 (unicode.pff, ascii.pff): New rules.
42968 (all-local): Add `$(PKGDATA)' dependency.
42969 (install-local): Process `$(PKGDATA)'.
42970
42971 * util/update-grub_lib.in (font_path): Search for *.pff files in
42972 a few more locations, including `${pkgdata}'.
42973
57e57e31 429742007-12-23 Robert Millan <rmh@aybabtu.com>
42975
42976 Patch from Bean <bean123ch@gmail.com>:
42977 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42978 `size'.
42979
4bc72aa9 429802007-12-21 Bean <bean123ch@gmail.com>
42981
42982 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42983 (ntfscomp_mod_SOURCES): New variable.
42984 (ntfscomp_mod_CFLAGS): Likewise.
42985 (ntfscomp_mod_LDFLAGS): Likewise.
42986
42987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42988 (grub_probe_SOURCES): Likewise.
42989 (grub_emu_SOURCES): Likewise.
42990
42991 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42992 (grub_emu_SOURCES): Likewise.
42993
42994 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42995 (grub_emu_SOURCES): Likewise.
42996
42997 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42998 (grub_emu_SOURCES): Likewise.
42999
43000 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43001 (read_run_list): Renamed to grub_ntfs_read_run_list.
43002 (decomp_nextvcn): Moved to ntfscomp.c.
43003 (decomp_getch): Likewise.
43004 (decomp_get16): Likewise.
43005 (decomp_block): Likewise.
43006 (read_block): Likewise.
43007 (read_data): Partially moved to ntfscomp.c.
43008 (fixup): Change unsigned to grub_uint16_t.
43009 (read_mft): Change unsigned long to grub_uint32_t.
43010 (read_attr): Likewise.
43011 (read_data): Likewise.
43012 (read_run_data): Likewise.
43013 (read_run_list): Likewise.
43014 (read_mft): Likewise.
43015
43016 * fs/ntfscomp.c: New file.
43017
43018 * include/grub/ntfs.h: New file.
43019
af680a87 430202007-12-16 Robert Millan <rmh@aybabtu.com>
43021
43022 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43023 IDE disk check, since Linux is known to support 20 IDE disks.
43024 Reported by Colin Watson.
43025
84be7599 430262007-12-15 Bean <bean123ch@gmail.com>
43027
43028 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43029 (lnxboot_img_SOURCES): New variable.
43030 (lnxboot_img_ASFLAGS): Likewise.
43031 (lnxboot_img_LDFLAGS): Likewise.
43032
43033 * boot/i386/pc/lnxboot.S: New file.
43034
6af9db01 430352007-11-24 Pavel Roskin <proski@gnu.org>
43036
43037 * configure.ac: Test if '--build-id=none' is supported by the
43038 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43039 objcopy to generate incorrect binary files (binutils
43040 2.17.50.0.18-1 as shipped by Fedora 8).
43041 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43042 linking, so that build ID doesn't break the test.
43043
7361cfe6 430442007-11-24 Pavel Roskin <proski@gnu.org>
43045
43046 * include/grub/i386/time.h: use "void" in the argument list
43047 of grub_cpu_idle().
43048 * include/grub/powerpc/time.h: Likewise.
43049 * include/grub/sparc64/time.h: Likewise.
43050
1593e10c 430512007-11-18 Christian Franke <franke@computer.org>
43052
43053 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43054 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43055 This fixes the problem that function keys did not work in grub-emu.
43056
3b8db1a8 430572007-11-18 Christian Franke <franke@computer.org>
43058
43059 * disk/host.c (grub_host_open): Remove attribute unused from
43060 name parameter. Add check for "host". This fixes the problem
43061 that grub-emu does not find partitions.
43062
2e29408d 430632007-11-18 Christian Franke <franke@computer.org>
43064
43065 * util/hostfs.c (is_dir): New function.
43066 (grub_hostfs_dir): Handle missing dirent.d_type case.
43067 (grub_hostfs_read): Add missing fseek().
43068 (grub_hostfs_label): Clear label pointer. This fixes a crash
43069 of grub-emu on "ls (host)".
43070
398cd047 430712007-11-18 Christian Franke <franke@computer.org>
43072
43073 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43074 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43075 to 64 bit boundary by default.
43076
c405c391 430772007-11-18 Bean <bean123ch@gmail.com>
43078
43079 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43080 (hexdump_mod_SOURCES): New variable.
43081 (hexdump_mod_CFLAGS): Likewise.
43082 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43083
c405c391 43084 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43085
43086 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43087
43088 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43089
43090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43091
43092 * include/grub/hexdump.h: New file.
43093
43094 * commands/hexdump.c: New file.
43095
5cced7fd 430962007-11-10 Robert Millan <rmh@aybabtu.com>
43097
43098 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43099 in grub_outb() calls.
43100 (beep_on): Likewise.
43101
8b714eb0 431022007-11-10 Christian Franke <franke@computer.org>
43103
43104 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43105 (grub_menu_run): Likewise.
43106
ce0f1839 431072007-11-10 Robert Millan <rmh@aybabtu.com>
43108
43109 * include/grub/i386/efi/machine.h: New file.
43110 * include/grub/i386/linuxbios/machine.h: Likewise.
43111 * include/grub/i386/pc/machine.h: Likewise.
43112 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43113 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43114
43115 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43116 (serial_hw_io_addr): New variable.
43117 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43118 instead of `(unsigned short *) 0x400'.
43119
270c237d 431202007-11-10 Bean <bean123ch@gmail.com>
43121
43122 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43123
a87783bf 431242007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43125
43126 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43127 (vga_mod_SOURCES): Added.
43128 (vga_mod_CFLAGS): Likewise.
43129 (vga_mod_LDFLAGS): Likewise.
43130
43131 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43132 grub_outb() calls.
43133 (set_map_mask): Likewise.
43134 (set_read_map): Likewise.
43135 (set_read_address): Likewise.
43136 (vga_font): Removed variable.
43137 (get_vga_glyph): Removed function.
43138 (invalidate_char): Likewise.
43139 (write_char): Changed to use grub_font_get_glyph() for font
43140 information.
43141 (grub_vga_putchar): Likewise.
43142 (grub_vga_getcharwidth): Likewise.
43143
6433b448 431442007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43145
43146 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43147 flags.
43148 (pxeboot_img_LDFLAGS): Likewise.
43149 (diskboot_img_LDFLAGS): Likewise.
43150 (kernel_img_LDFLAGS): Likewise.
43151
49178511 431522007-11-06 Robert Millan <rmh@aybabtu.com>
43153
43154 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43155 in grub_outb() calls.
43156 (serial_hw_init): Likewise.
43157
53b052de 431582007-11-05 Robert Millan <rmh@aybabtu.com>
43159
43160 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43161 spaces. Skip non-regular files.
43162
5ab33bba 431632007-11-05 Robert Millan <rmh@aybabtu.com>
43164
43165 * kern/disk.c (grub_disk_firmware_fini)
43166 (grub_disk_firmware_is_tainted): New variables.
43167
43168 * include/grub/disk.h (grub_disk_firmware_fini)
43169 (grub_disk_firmware_is_tainted): Likewise.
43170
43171 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43172 (grub_disk_biosdisk_fini): ... to here.
43173 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43174 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43175 is set. Register grub_disk_biosdisk_fini() in
43176 `grub_disk_firmware_fini'.
43177
43178 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43179 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43180 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43181 to finish existing firmware disk interface.
43182
43183 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43184 (ata_mod_SOURCES): New variable.
43185 (ata_mod_CFLAGS): Likewise.
43186 (ata_mod_LDFLAGS): Likewise.
43187
0149ab7c 431882007-11-05 Robert Millan <rmh@aybabtu.com>
43189
43190 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43191 (grub_ata_wait): Reimplement using grub_millisleep().
43192
43193 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43194 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43195
be7ac41e 431962007-11-03 Marco Gerards <marco@gnu.org>
43197
43198 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43199 (CRTC_ADDR_PORT): New macro.
43200 (CRTC_DATA_PORT): Likewise.
43201 (CRTC_CURSOR): Likewise.
43202 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43203 (CRTC_CURSOR_ADDR_LOW): Likewise.
43204 (update_cursor): New function.
43205 (grub_console_real_putchar): Call `update_cursor'.
43206 (grub_console_gotoxy): Likewise.
43207 (grub_console_cls): Set the default color when clearing the
43208 screen.
43209 (grub_console_setcursor): Implemented.
43210
bb06ab2e 432112007-11-03 Marco Gerards <marco@gnu.org>
43212
43213 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43214 become activate.
43215 (grub_ata_pio_write): Likewise.
43216
43217 (grub_atapi_identify): Wait after issuing an ATA command.
43218 (grub_atapi_packet): Likewise.
43219 (grub_ata_identify): Likewise.
43220 (grub_ata_readwrite): Likewise.
43221
cf8f780b 432222007-11-03 Marco Gerards <marco@gnu.org>
43223
43224 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43225 (grub_ata_pio_write): Likewise.
43226 (grub_ata_readwrite): Use `grub_error', instead of
43227 returning `grub_errno'.
43228
ed649e54 432292007-11-03 Marco Gerards <marco@gnu.org>
43230
43231 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43232 grub_ata_pio_write once for every single sector, instead of for
43233 multiple sectors.
43234
ca25d8f0 432352007-10-31 Robert Millan <rmh@aybabtu.com>
43236
43237 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43238
43239 * conf/i386-linuxbios.rmk: New file.
43240
43241 * kern/i386/pc/hardware.c: Likewise.
43242 * term/i386/pc/at_keyboard.c: Likewise.
43243 * term/i386/pc/vga_text.c: Likewise.
43244
43245 * include/grub/i386/linuxbios/boot.h: Likewise.
43246 * include/grub/i386/linuxbios/console.h: Likewise.
43247 * include/grub/i386/linuxbios/init.h: Likewise.
43248 * include/grub/i386/linuxbios/kernel.h: Likewise.
43249 * include/grub/i386/linuxbios/loader.h: Likewise.
43250 * include/grub/i386/linuxbios/memory.h: Likewise.
43251 * include/grub/i386/linuxbios/serial.h: Likewise.
43252 * include/grub/i386/linuxbios/time.h: Likewise.
43253
43254 * kern/i386/linuxbios/init.c: Likewise.
43255 * kern/i386/linuxbios/startup.S: Likewise.
43256 * kern/i386/linuxbios/table.c: Likewise.
43257
e911ecc1 432582007-10-31 Marco Gerards <marco@gnu.org>
43259
43260 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43261 (ata_mod_SOURCES): New variable.
43262 (ata_mod_CFLAGS): Likewise.
43263 (ata_mod_LDFLAGS): Likewise.
43264
43265 * disk/ata.c: New file.
43266
43267 * include/grub/disk.h (grub_disk_dev_id): Add
43268 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43269
7f66d0e0 432702007-10-31 Robert Millan <rmh@aybabtu.com>
43271
43272 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43273 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43274
43275 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43276 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43277
43278 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43279 `<grub/types.h>'.
43280
43281 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43282
5cd7dd46 432832007-10-27 Robert Millan <rmh@aybabtu.com>
43284
3236ca65 43285 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43286
2ebfc90f 432872007-10-22 Robert Millan <rmh@aybabtu.com>
43288
43289 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43290 `"../realmode.S"'.
43291 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43292
73fcb0f3 432932007-10-22 Robert Millan <rmh@aybabtu.com>
43294
43295 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43296 (pkgdata_MODULES): Add `biosdisk.mod'.
43297 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43298 variables.
43299
43300 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43301 (grub_biosdisk_init): Replace with ...
43302 (GRUB_MOD_INIT(biosdisk)): ... this.
43303 (grub_biosdisk_fini): Replace with ...
43304 (GRUB_MOD_FINI(biosdisk)): ... this.
43305
43306 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43307 (grub_machine_init): Remove call to grub_biosdisk_init().
43308 (grub_machine_fini): Remove call to grub_machine_fini().
43309
43310 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43311
3381d274 433122007-10-22 Robert Millan <rmh@aybabtu.com>
43313
43314 * include/grub/time.h: New file.
43315 * include/grub/i386/time.h: Likewise.
43316 * include/grub/powerpc/time.h: Likewise.
43317 * include/grub/sparc64/time.h: Likewise.
43318
43319 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43320 instances to ...
43321 (KERNEL_MACHINE_TIME_HEADER): ... this.
43322 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43323 instances to ...
43324 (KERNEL_MACHINE_TIME_HEADER): ... this.
43325 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43326 instances to ...
43327 (KERNEL_MACHINE_TIME_HEADER): ... this.
43328
43329 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43330 (grub_millisleep): New function.
43331 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43332 (grub_millisleep): New function.
43333 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43334 Remove `grub/machine/time.h' include.
43335 (grub_millisleep): New function.
43336 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43337 Remove `grub/machine/time.h' include.
43338 (grub_millisleep): New function.
43339
43340 * include/grub/misc.h (grub_div_roundup): New function.
43341
43342 * kern/misc.c: Include `<grub/time.h>'.
43343 (grub_millisleep_generic): New function.
43344
43345 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43346 Add `time.h'.
43347 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43348 Add `time.h'.
43349 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43350 `machine/time.h'. Add `time.h'.
43351 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43352
a39a0312 433532007-10-21 Robert Millan <rmh@aybabtu.com>
43354
43355 * include/grub/misc.h (grub_max): New function.
43356
2aad70e2 433572007-10-21 Robert Millan <rmh@aybabtu.com>
43358
43359 * util/misc.c (grub_util_info): Call fflush() before returning.
43360
54b71c4b 433612007-10-20 Robert Millan <rmh@aybabtu.com>
43362
43363 * genmk.rb (Image): Copy `extra_flags' from here ...
43364 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43365
43366 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43367 to `argc' and `args' arguments.
43368
a979f513 433692007-10-17 Robert Millan <rmh@aybabtu.com>
43370
43371 * kern/i386/loader.S: New file.
43372
43373 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43374 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43375 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43376 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43377 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43378 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43379 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43380 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43381 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43382 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43383 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43384 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43385 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43386 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43387
43388 * kern/i386/realmode.S: New file.
43389
43390 * kern/i386/pc/startup.S (protstack): Moved from here ...
43391 * kern/i386/realmode.S (protstack)... to here.
43392 * kern/i386/pc/startup.S (gdt): Moved from here ...
43393 * kern/i386/realmode.S (gdt)... to here.
43394 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43395 * kern/i386/realmode.S (prot_to_real)... to here.
43396
43397 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43398 `kern/i386/realmode.S'.
43399
825fc8fd 434002007-10-17 Robert Millan <rmh@aybabtu.com>
43401
43402 * include/grub/i386/loader.h: New file.
43403
43404 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43405 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43406 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43407 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43408 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43409 * include/grub/i386/loader.h (grub_linux_prot_size)
43410 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43411 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43412 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43413 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43414
43415 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43416
e179b2f4 434172007-10-15 Robert Millan <rmh@aybabtu.com>
43418
43419 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43420 filesystem when dev->disk is unset.
43421 Do probe for filesystem even when dev->disk->has_partitions is set.
43422 In case a filesystem is found, always report it.
43423 In case it isn't, if dev->disk->has_partitions is set, report that
43424 a partition table was found instead of reporting that no filesystem
43425 could be identified.
43426
5db82af6 434272007-10-12 Robert Millan <rmh@aybabtu.com>
43428
43429 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43430 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43431
68f6ac74 43432 * include/grub/types.h (grub_host_to_target16): New macro.
43433 (grub_host_to_target32): Likewise.
43434 (grub_host_to_target64): Likewise.
43435 (grub_target_to_host16): Likewise.
43436 (grub_target_to_host32): Likewise.
43437 (grub_target_to_host64): Likewise.
5db82af6 43438
43439 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43440 Renamed from to ...
43441 (GRUB_MOD_ALIGN): ...this. Update all users.
43442
68f6ac74 43443 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43444 grub_host_to_target32.
43445 Replace grub_be_to_cpu32 with grub_target_to_host32.
43446 (load_modules): Likewise.
43447 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43448 Replace grub_be_to_cpu32 with grub_target_to_host32.
43449 Replace grub_cpu_to_be16 with grub_host_to_target16.
43450 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43451
3cf497cc 434522007-10-12 Robert Millan <rmh@aybabtu.com>
43453
43454 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43455 * util/elf/grub-mkimage.c: ... here.
43456
43457 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43458 `util/powerpc/ieee1275/grub-mkimage.c'.
43459
c8cc3692 434602007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43461
c8cc3692 43462 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43463 and make it easier to figure out.
43464 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43465 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43466 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43467 leave us with less than HEAP_MIN_SIZE total heap.
43468 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43469
5c58b791 434702007-10-03 Robert Millan <rmh@aybabtu.com>
43471
43472 * include/grub/i386/io.h: New file.
43473 * commands/i386/pc/play.c (inb): Removed.
43474 (outb): Removed.
43475 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43476 with grub_outb().
afcd2ef8 43477 * term/i386/pc/serial.c (inb): Removed.
43478 (outb): Removed.
43479 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43480 with grub_outb().
43481 * term/i386/pc/vga.c (inb): Removed.
43482 (outb): Removed.
43483 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43484 with grub_outb().
5c58b791 43485
1a477ed6 434862007-10-02 Robert Millan <rmh@aybabtu.com>
43487
43488 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43490 Reported by Marcin Kurek.
43491
6b5d80fa 434922007-09-07 Robert Millan <rmh@aybabtu.com>
43493
43494 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43495 SmartFirmware version updates (as released by Sven Luther), and avoid
43496 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43497 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43498 known broken.
43499
5618afbf 435002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43501
43502 From Hitoshi Ozeki:
43503 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43504 when merging two regions.
43505
6139dcd9 435062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43507
508e39ee 43508 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43509 * normal/completion.c (grub_normal_do_completion): Likewise.
43510 Reported by Hitoshi Ozeki.
43511
435122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43513
6139dcd9 43514 Do not use devices at boot in chainloading.
f19dbdb7 43515
6139dcd9 43516 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43517 (boot_part_addr): Likewise.
43518 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43519 with BOOT_DRIVE and BOOT_PART_ADDR.
43520 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43521 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43522
38da6516 435232007-08-29 Robert Millan <rmh@aybabtu.com>
43524
43525 Patch from Simon Peter <dn.tlp@gmx.net>:
43526 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43527 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43528 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43529 util/i386/pc/grub-setup.c_DEPENDENCIES.
43530 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43531 util/grub-probe.c_DEPENDENCIES.
43532 * conf/powerpc-ieee1275.rmk: Likewise.
43533
29d0928c 435342007-08-28 Robert Millan <rmh@aybabtu.com>
43535
43536 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43537 to tell grub-mkdevicemap how to name devices.
43538 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43539 feature).
43540
43541 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43542 util/i386/get_disk_name.c.
43543 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43544 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43545 util/ieee1275/get_disk_name.c.
43546
43547 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43548
43549 * DISTLIST: Add util/i386/get_disk_name.c and
43550 util/ieee1275/get_disk_name.c.
43551
43552 * util/grub-mkdevicemap.c: Replace device naming logic with
43553 grub_util_get_disk_name() calls.
43554
5a0d3cca 435552007-08-20 Robert Millan <rmh@aybabtu.com>
43556
43557 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43558 (so that it works for both plural and singular quantities).
43559
8b72db2f 435602007-08-05 Robert Millan <rmh@aybabtu.com>
43561
43562 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43563 so that [xz] isn't taken into account when determining order.
43564
352466bf 435652007-08-02 Marco Gerards <marco@gnu.org>
43566
43567 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43568 `include/multiboot2.h', `include/grub/elfload.h',
43569 `include/multiboot.h', `include/grub/multiboot.h',
43570 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43571 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43572 `kern/elf.c', `loader/multiboot_loader.c',
43573 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43574 `loader/i386/pc/multiboot2.c',
43575 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43576 `util/i386/pc/grub-mkrescue.in'. Remove
43577 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43578 `include/grub/i386/pc/util/biosdisk.h' and
43579 `include/grub/powerpc/ieee1275/multiboot.h'.
43580
8f096014 435812007-08-02 Bean <bean123ch@gmail.com>
43582
43583 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43584 (ntfs_mod_SOURCES): New variable.
43585 (ntfs_mod_CFLAGS): Likewise.
43586 (ntfs_mod_LDFLAGS): Likewise.
43587
43588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43589 (grub_probe_SOURCES): Likewise.
43590 (grub_emu_SOURCES): Likewise.
43591
43592 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43593 (grub_emu_SOURCES): Likewise.
43594
43595 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43596 (grub_emu_SOURCES): Likewise.
f19dbdb7 43597
8f096014 43598 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43599
43600 * fs/ntfs.c: New file.
43601
9959f7db 436022007-08-02 Bean <bean123ch@gmail.com>
43603
43604 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43605
43606 * file.h (grub_file): Likewise.
43607
43608 * fshelp.h (grub_fshelp_read_file): Likewise.
43609
43610 * util/i386/pc/grub-setup.c (setup): Likewise.
43611 (save_first_sector): Likewise.
43612 (save_blocklists): Likewise.
f19dbdb7 43613
9959f7db 43614 * fs/affs.c (grub_affs_read_file): Likewise.
43615
43616 * fs/ext2.c (grub_ext2_read_file): Likewise.
43617
43618 * fs/fat.c (grub_fat_read_data): Likewise.
43619
43620 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43621
43622 * fs/hfs.c (grub_hfs_read_file): Likewise.
43623
43624 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43625
43626 * fs/jfs.c (grub_jfs_read_file): Likewise.
43627
43628 * fs/minix.c (grub_minix_read_file): Likewise.
43629
43630 * fs/sfs.c (grub_sfs_read_file): Likewise.
43631
43632 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43633
9959f7db 43634 * fs/xfs.c (grub_xfs_read_file): Likewise.
43635
43636 * command/blocklist.c (read_blocklist): Likewise.
43637 (print_blocklist): Likewise.
43638
0a203f83 436392007-08-02 Marco Gerards <marco@gnu.org>
43640
43641 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43642 `util/hostfs.c'.
43643
43644 * disk/host.c: New file.
43645
43646 * util/hostfs.c: Likewise.
43647
43648 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43649 return `GRUB_ERR_BAD_FS'.
43650 * fs/sfs.c (grub_sfs_mount): Likewise.
43651 * fs/xfs.c (grub_xfs_mount): Likewise.
43652
43653 * include/grub/disk.h (enum grub_disk_dev_id): Add
43654 `GRUB_DISK_DEVICE_HOST_ID'.
43655
43656 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43657
e5dfe777 436582007-07-24 Jerone Young <jerone@gmail.com>
43659
f19dbdb7 43660 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43661 modules for compilation.
43662 * conf/powerpc-ieee1275.rmk: Likewise.
43663
43664 * include/multiboot.h: Move multiboot definitions to one file. Rename
43665 many definitions to not get grub specific.
43666 * include/multiboot2.h: Create header with multiboot 2 definitions.
43667 * include/grub/multiboot.h: Header for grub specific function
43668 prototypes and definitions.
43669 * include/grub/multiboot2.h: Likewise.
43670 * include/grub/multiboot_loader.h: Likewise.
43671 * include/grub/i386/pc/multiboot.h: Removed.
43672 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43673
43674 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43675 and 2 to allow for one multiboot and module commands.
43676 * loader/multiboot2.c: Add multiboot2 functionality.
43677 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43678 and definition names.
43679 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43680 2 functions.
43681 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43682 ieee1275 specific multiboot2 code.
43683
43684 * kern/i386/pc/startup.S: Change headers and definition names for
43685 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43686
daf0f0ba 436872007-07-22 Robert Millan <rmh@aybabtu.com>
43688
43689 * geninitheader.sh: Process file specified in first parameter rather
43690 than hardcoding grub_modules_init.lst.
fe6b695a 43691 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43692 than hardcoding grub_modules_init.h.
43693
43694 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43695 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43696 grub_probe_init.[ch] and grub_setup_init.[ch].
43697
43698 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43699 grub_modules_init.h with grub_emu_init.h.
43700 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43701 grub_probe_init.[ch] files.
43702 * conf/i386-efi.rmk: Likewise.
43703 * conf/i386-pc.rmk: Likewise.
43704 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43705 grub_setup_init.[ch] files.
43706
43707 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43708 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43709 to initialize modules rather than a list of hardcoded functions.
43710 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43711 grub_init_all() to initialize modules rather than a list of hardcoded
43712 functions.
43713
54cdc1cc 437142007-07-22 Robert Millan <rmh@aybabtu.com>
43715
43716 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43717 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43718
ad0686cc 437192007-07-22 Robert Millan <rmh@aybabtu.com>
43720
43721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43722 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43723 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43724 flag when running on SmartFirmware.
43725 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43726 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43727 was set.
43728
43729 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43730 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43731 rather than decreasing it.
43732
43733 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43734 there's not enough space to do it, fail in the same way as when it
43735 can't be done because there are no partitions.
43736
43737 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43738 when nvsetenv failed.
43739
969c02ec 437402007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43741
43742 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43743 because this rule is automatically generated.
43744 (grub-mkrescue): Removed for the same reason as above.
43745
5a79f472 437462007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43747
43748 Migrate to GNU General Public License Version 3.
f19dbdb7 43749
5a79f472 43750 * COPYING: Replaced with the plain text version of GPLv3.
43751
43752 * config.guess: Updated from gnulib.
43753 * config.sub: Likewise.
43754
43755 * geninit.sh: Output a GPLv3 copyright notice.
43756 * geninitheader.sh: Likewise.
43757 * genmodsrc.sh: Likewise.
43758 * gensymlist.sh.in: Likewise.
43759
43760 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43761 * boot/i386/pc/diskboot.S: Likewise.
43762 * boot/i386/pc/pxeboot.S: Likewise.
43763 * commands/blocklist.c: Likewise.
43764 * commands/boot.c: Likewise.
43765 * commands/cat.c: Likewise.
43766 * commands/cmp.c: Likewise.
43767 * commands/configfile.c: Likewise.
43768 * commands/echo.c: Likewise.
43769 * commands/help.c: Likewise.
43770 * commands/ls.c: Likewise.
43771 * commands/search.c: Likewise.
43772 * commands/terminal.c: Likewise.
43773 * commands/test.c: Likewise.
43774 * commands/videotest.c: Likewise.
43775 * commands/i386/cpuid.c: Likewise.
43776 * commands/i386/pc/halt.c: Likewise.
43777 * commands/i386/pc/play.c: Likewise.
43778 * commands/i386/pc/reboot.c: Likewise.
43779 * commands/i386/pc/vbeinfo.c: Likewise.
43780 * commands/i386/pc/vbetest.c: Likewise.
43781 * commands/ieee1275/halt.c: Likewise.
43782 * commands/ieee1275/reboot.c: Likewise.
43783 * commands/ieee1275/suspend.c: Likewise.
43784 * disk/loopback.c: Likewise.
43785 * disk/lvm.c: Likewise.
43786 * disk/raid.c: Likewise.
43787 * disk/efi/efidisk.c: Likewise.
43788 * disk/i386/pc/biosdisk.c: Likewise.
43789 * disk/ieee1275/ofdisk.c: Likewise.
43790 * font/manager.c: Likewise.
43791 * fs/affs.c: Likewise.
43792 * fs/ext2.c: Likewise.
43793 * fs/fat.c: Likewise.
43794 * fs/fshelp.c: Likewise.
43795 * fs/hfs.c: Likewise.
43796 * fs/hfsplus.c: Likewise.
43797 * fs/iso9660.c: Likewise.
43798 * fs/jfs.c: Likewise.
43799 * fs/minix.c: Likewise.
43800 * fs/sfs.c: Likewise.
43801 * fs/ufs.c: Likewise.
43802 * fs/xfs.c: Likewise.
43803 * hello/hello.c: Likewise.
43804 * include/grub/acorn_filecore.h: Likewise.
43805 * include/grub/arg.h: Likewise.
43806 * include/grub/bitmap.h: Likewise.
43807 * include/grub/boot.h: Likewise.
43808 * include/grub/cache.h: Likewise.
43809 * include/grub/device.h: Likewise.
43810 * include/grub/disk.h: Likewise.
43811 * include/grub/dl.h: Likewise.
43812 * include/grub/elfload.h: Likewise.
43813 * include/grub/env.h: Likewise.
43814 * include/grub/err.h: Likewise.
43815 * include/grub/file.h: Likewise.
43816 * include/grub/font.h: Likewise.
43817 * include/grub/fs.h: Likewise.
43818 * include/grub/fshelp.h: Likewise.
43819 * include/grub/gzio.h: Likewise.
43820 * include/grub/hfs.h: Likewise.
43821 * include/grub/kernel.h: Likewise.
43822 * include/grub/loader.h: Likewise.
43823 * include/grub/lvm.h: Likewise.
43824 * include/grub/misc.h: Likewise.
43825 * include/grub/mm.h: Likewise.
43826 * include/grub/net.h: Likewise.
43827 * include/grub/normal.h: Likewise.
43828 * include/grub/parser.h: Likewise.
43829 * include/grub/partition.h: Likewise.
43830 * include/grub/pc_partition.h: Likewise.
43831 * include/grub/raid.h: Likewise.
43832 * include/grub/rescue.h: Likewise.
43833 * include/grub/script.h: Likewise.
43834 * include/grub/setjmp.h: Likewise.
43835 * include/grub/symbol.h: Likewise.
43836 * include/grub/term.h: Likewise.
43837 * include/grub/terminfo.h: Likewise.
43838 * include/grub/tparm.h: Likewise.
43839 * include/grub/types.h: Likewise.
43840 * include/grub/video.h: Likewise.
43841 * include/grub/efi/api.h: Likewise.
43842 * include/grub/efi/chainloader.h: Likewise.
43843 * include/grub/efi/console.h: Likewise.
43844 * include/grub/efi/console_control.h: Likewise.
43845 * include/grub/efi/disk.h: Likewise.
43846 * include/grub/efi/efi.h: Likewise.
43847 * include/grub/efi/pe32.h: Likewise.
43848 * include/grub/efi/time.h: Likewise.
43849 * include/grub/i386/linux.h: Likewise.
43850 * include/grub/i386/setjmp.h: Likewise.
43851 * include/grub/i386/types.h: Likewise.
43852 * include/grub/i386/efi/kernel.h: Likewise.
43853 * include/grub/i386/efi/loader.h: Likewise.
43854 * include/grub/i386/efi/time.h: Likewise.
43855 * include/grub/i386/pc/biosdisk.h: Likewise.
43856 * include/grub/i386/pc/boot.h: Likewise.
43857 * include/grub/i386/pc/chainloader.h: Likewise.
43858 * include/grub/i386/pc/console.h: Likewise.
43859 * include/grub/i386/pc/init.h: Likewise.
43860 * include/grub/i386/pc/kernel.h: Likewise.
43861 * include/grub/i386/pc/loader.h: Likewise.
43862 * include/grub/i386/pc/memory.h: Likewise.
43863 * include/grub/i386/pc/multiboot.h: Likewise.
43864 * include/grub/i386/pc/serial.h: Likewise.
43865 * include/grub/i386/pc/time.h: Likewise.
43866 * include/grub/i386/pc/vbe.h: Likewise.
43867 * include/grub/i386/pc/vbeblit.h: Likewise.
43868 * include/grub/i386/pc/vbefill.h: Likewise.
43869 * include/grub/i386/pc/vbeutil.h: Likewise.
43870 * include/grub/i386/pc/vga.h: Likewise.
43871 * include/grub/ieee1275/ieee1275.h: Likewise.
43872 * include/grub/ieee1275/ofdisk.h: Likewise.
43873 * include/grub/powerpc/libgcc.h: Likewise.
43874 * include/grub/powerpc/setjmp.h: Likewise.
43875 * include/grub/powerpc/types.h: Likewise.
43876 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43877 * include/grub/powerpc/ieee1275/console.h: Likewise.
43878 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43879 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43880 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43881 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43882 * include/grub/powerpc/ieee1275/time.h: Likewise.
43883 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43884 * include/grub/sparc64/libgcc.h: Likewise.
43885 * include/grub/sparc64/setjmp.h: Likewise.
43886 * include/grub/sparc64/types.h: Likewise.
43887 * include/grub/sparc64/ieee1275/console.h: Likewise.
43888 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43889 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43890 * include/grub/sparc64/ieee1275/time.h: Likewise.
43891 * include/grub/util/biosdisk.h: Likewise.
43892 * include/grub/util/getroot.h: Likewise.
43893 * include/grub/util/lvm.h: Likewise.
43894 * include/grub/util/misc.h: Likewise.
43895 * include/grub/util/raid.h: Likewise.
43896 * include/grub/util/resolve.h: Likewise.
43897 * io/gzio.c: Likewise.
43898 * kern/device.c: Likewise.
43899 * kern/disk.c: Likewise.
43900 * kern/dl.c: Likewise.
43901 * kern/elf.c: Likewise.
43902 * kern/env.c: Likewise.
43903 * kern/err.c: Likewise.
43904 * kern/file.c: Likewise.
43905 * kern/fs.c: Likewise.
43906 * kern/loader.c: Likewise.
43907 * kern/main.c: Likewise.
43908 * kern/misc.c: Likewise.
43909 * kern/mm.c: Likewise.
43910 * kern/parser.c: Likewise.
43911 * kern/partition.c: Likewise.
43912 * kern/rescue.c: Likewise.
43913 * kern/term.c: Likewise.
43914 * kern/efi/efi.c: Likewise.
43915 * kern/efi/init.c: Likewise.
43916 * kern/efi/mm.c: Likewise.
43917 * kern/i386/dl.c: Likewise.
43918 * kern/i386/efi/init.c: Likewise.
43919 * kern/i386/efi/startup.S: Likewise.
43920 * kern/i386/pc/init.c: Likewise.
43921 * kern/i386/pc/lzo1x.S: Likewise.
43922 * kern/i386/pc/startup.S: Likewise.
43923 * kern/ieee1275/ieee1275.c: Likewise.
43924 * kern/powerpc/cache.S: Likewise.
43925 * kern/powerpc/dl.c: Likewise.
43926 * kern/powerpc/ieee1275/cmain.c: Likewise.
43927 * kern/powerpc/ieee1275/crt0.S: Likewise.
43928 * kern/powerpc/ieee1275/init.c: Likewise.
43929 * kern/powerpc/ieee1275/openfw.c: Likewise.
43930 * kern/sparc64/cache.S: Likewise.
43931 * kern/sparc64/dl.c: Likewise.
43932 * kern/sparc64/ieee1275/init.c: Likewise.
43933 * kern/sparc64/ieee1275/openfw.c: Likewise.
43934 * loader/efi/chainloader.c: Likewise.
43935 * loader/efi/chainloader_normal.c: Likewise.
43936 * loader/i386/efi/linux.c: Likewise.
43937 * loader/i386/efi/linux_normal.c: Likewise.
43938 * loader/i386/pc/chainloader.c: Likewise.
43939 * loader/i386/pc/chainloader_normal.c: Likewise.
43940 * loader/i386/pc/linux.c: Likewise.
43941 * loader/i386/pc/linux_normal.c: Likewise.
43942 * loader/i386/pc/multiboot.c: Likewise.
43943 * loader/i386/pc/multiboot_normal.c: Likewise.
43944 * loader/powerpc/ieee1275/linux.c: Likewise.
43945 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43946 * normal/arg.c: Likewise.
43947 * normal/cmdline.c: Likewise.
43948 * normal/command.c: Likewise.
43949 * normal/completion.c: Likewise.
43950 * normal/execute.c: Likewise.
43951 * normal/function.c: Likewise.
43952 * normal/lexer.c: Likewise.
43953 * normal/main.c: Likewise.
43954 * normal/menu.c: Likewise.
43955 * normal/menu_entry.c: Likewise.
43956 * normal/misc.c: Likewise.
43957 * normal/parser.y: Likewise.
43958 * normal/script.c: Likewise.
43959 * normal/i386/setjmp.S: Likewise.
43960 * normal/powerpc/setjmp.S: Likewise.
43961 * normal/sparc64/setjmp.S: Likewise.
43962 * partmap/acorn.c: Likewise.
43963 * partmap/amiga.c: Likewise.
43964 * partmap/apple.c: Likewise.
43965 * partmap/gpt.c: Likewise.
43966 * partmap/pc.c: Likewise.
43967 * partmap/sun.c: Likewise.
43968 * term/gfxterm.c: Likewise.
43969 * term/terminfo.c: Likewise.
43970 * term/efi/console.c: Likewise.
43971 * term/i386/pc/console.c: Likewise.
43972 * term/i386/pc/serial.c: Likewise.
43973 * term/i386/pc/vesafb.c: Likewise.
43974 * term/i386/pc/vga.c: Likewise.
43975 * term/ieee1275/ofconsole.c: Likewise.
43976 * util/biosdisk.c: Likewise.
43977 * util/console.c: Likewise.
43978 * util/genmoddep.c: Likewise.
43979 * util/getroot.c: Likewise.
43980 * util/grub-emu.c: Likewise.
43981 * util/grub-mkdevicemap.c: Likewise.
43982 * util/grub-probe.c: Likewise.
43983 * util/lvm.c: Likewise.
43984 * util/misc.c: Likewise.
43985 * util/raid.c: Likewise.
43986 * util/resolve.c: Likewise.
43987 * util/update-grub.in: Likewise.
43988 * util/update-grub_lib.in: Likewise.
43989 * util/grub.d/00_header.in: Likewise.
43990 * util/grub.d/10_hurd.in: Likewise.
43991 * util/grub.d/10_linux.in: Likewise.
43992 * util/i386/efi/grub-install.in: Likewise.
43993 * util/i386/efi/grub-mkimage.c: Likewise.
43994 * util/i386/pc/grub-install.in: Likewise.
43995 * util/i386/pc/grub-mkimage.c: Likewise.
43996 * util/i386/pc/grub-mkrescue.in: Likewise.
43997 * util/i386/pc/grub-setup.c: Likewise.
43998 * util/i386/pc/misc.c: Likewise.
43999 * util/powerpc/ieee1275/grub-install.in: Likewise.
44000 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44001 * util/powerpc/ieee1275/misc.c: Likewise.
44002 * video/bitmap.c: Likewise.
44003 * video/video.c: Likewise.
44004 * video/i386/pc/vbe.c: Likewise.
44005 * video/i386/pc/vbeblit.c: Likewise.
44006 * video/i386/pc/vbefill.c: Likewise.
44007 * video/i386/pc/vbeutil.c: Likewise.
44008 * video/readers/tga.c: Likewise.
44009
3572d015 440102007-07-02 Robert Millan <rmh@aybabtu.com>
44011
44012 * conf/i386-efi.rmk: Replace obsolete reference to
44013 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44014 with util/getroot.c.
44015 * conf/powerpc-ieee1275.rmk: Likewise.
44016 * conf/sparc64-ieee1275.rmk: Likewise.
44017
44018 * util/grub-emu.c (main): Fix unchecked pointer handling.
44019
2c2a681b 440202007-07-02 Robert Millan <rmh@aybabtu.com>
44021
44022 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44023 invocation to fail, in order to support partition-less media.
44024
44025 * util/i386/pc/grub-install.in: Likewise.
44026
44027 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44028 which fs or partmap modules are needed (akin to its sister scripts).
44029
44030 Also use grub-probe to get rid of unportable /proc/mounts check.
44031
44032 Print the same informational message that the other scripts do, before
fe6b695a 44033 exiting.
2c2a681b 44034
6193defe 440352007-06-23 Robert Millan <rmh@aybabtu.com>
44036
fe6b695a 44037 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44038 a font file can be found and, if so, echo the GRUB path to it.
44039
44040 * util/update-grub.in: Handle multiple terminals depending on user
44041 input, platform availability and font file presence. Propagate
44042 variables of our findings to /etc/grub.d/ children.
44043
44044 * util/grub.d/00_header.in: Handle multiple terminals, based on
44045 environment setup by update-grub.
44046
eface1dc 440472007-06-23 Robert Millan <rmh@aybabtu.com>
44048
ba50d28f 44049 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44050
bf697e28 440512007-06-21 Robert Millan <rmh@aybabtu.com>
44052
44053 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44054 indicate end of data section in kernel image.
44055 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44056 GRUB_KERNEL_MACHINE_DATA_END.
44057
44058 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44059 space for it.
44060 * kern/i386/efi/startup.S: Likewise.
44061
44062 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44063 during image generation. Implement --prefix option to override this
44064 patch.
44065 * util/i386/efi/grub-mkimage.c: Likewise.
44066
44067 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44068 code to make path relative to its root into a separate function.
44069
44070 * util/i386/pc/grub-install.in: Use newly provided
44071 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44072 pass the result to grub-install --prefix.
44073
baa574b4 440742007-06-13 Robert Millan <rmh@aybabtu.com>
44075
44076 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44077 DEFAULT_DEVICE_MAP.
44078 * util/grub-emu.c: Use above definitions from misc.h instead of
44079 defining them.
44080 * util/grub-mkdevicemap.c: Likewise.
44081 * util/i386/pc/grub-setup.c: Likewise.
44082 * util/grub-probe.c: Likewise.
44083 (probe): Abort with grub_util_error() when either
44084 grub_guess_root_device or grub_util_get_grub_dev fails.
44085
0215dcbf 440862007-06-12 Robert Millan <rmh@aybabtu.com>
44087
44088 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44089 "pager" assignment.
44090 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44091 "pcdata".
44092 * util/grub-probe.c (probe): Likewise for "drive_name".
44093
8af2ab7b 440942007-06-11 Robert Millan <rmh@aybabtu.com>
44095
44096 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44097 not just the cdrom one.
44098
59d31694 440992007-06-11 Robert Millan <rmh@aybabtu.com>
44100
44101 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44102 Add --pkglibdir=DIR option to override pkglibdir.
44103 Mention --image-type=TYPE in help output.
44104 Fix --grub-mkimage (it was a no-op).
fe6b695a 44105 Abort gracefully when no parameter is given.
59d31694 44106
7ee367e4 441072007-06-11 Robert Millan <rmh@aybabtu.com>
44108
44109 * util/i386/pc/grub-mkrescue.in: New file.
44110 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44111 * Makefile.in: Handle bin_SCRIPTS.
44112
29b0ed46 441132007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44114
44115 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44116 list of video modes.
44117
c0f90770 441182007-06-06 Robert Millan <rmh@aybabtu.com>
44119
44120 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44121 file doesn't exist, or if it is in a filesystem grub can't read.
44122
44123 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44124 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44125 header comment to fit in 80 columns when the variables are resolved.
44126
44127 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44128 could be identified by update-grub. Remove redundant check for
fe6b695a 44129 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44130 handles that).
44131
fb36dc26 441322007-06-04 Robert Millan <rmh@aybabtu.com>
44133
44134 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44135
44136 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44137
44138 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44139
0c68c93e 441402007-06-04 Robert Millan <rmh@aybabtu.com>
44141
44142 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44143
44144 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44145 grub_apple_partition_map_fini.
44146
44147 * util/biosdisk.c
44148 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44149 to access >2 TiB disks).
44150
44151 Print disk->total_sectors with %llu instead of %lu, since this
44152 variable is always 64-bit (prevents wrong disk size from being displayed
44153 on either >2 TiB disk or big-endian CPU).
44154
44155 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44156 into a generic case that supports all (sane) partition maps.
44157
44158 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44159 breaks big-endian.
44160
44161 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44162 and grub_apple_partition_map_fini() after that.
44163
0f23eb74 441642007-06-01 Robert Millan <rmh@aybabtu.com>
44165
44166 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44167
44168 * util/grub.d/00_header.in: Only enable gfxterm when
44169 convert_system_path_to_grub_path() succeeds.
44170
42c71976 441712007-05-20 Robert Millan <rmh@aybabtu.com>
44172
44173 * util/update-grub_lib.in: New file.
44174 * DISTLIST: Add update-grub_lib.in.
44175 * conf/common.rmk: Generate update-grub_lib and install it in
44176 $(lib_DATA).
44177 * Makefile.in: Add install routine for $(lib_DATA).
44178
44179 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44180 function provided by update-grub_lib to support arbitrary paths of
44181 unifont.pff.
44182 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44183 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44184
5beb2291 441852007-05-19 Robert Millan <rmh@aybabtu.com>
44186
44187 * commands/i386/cpuid.c: New module.
44188 * DISTLIST: Add it.
44189 * conf/i386-efi.rmk: Enable cpuid.mod.
44190 * conf/i386-pc.rmk: Likewise.
44191
7262eca1 441922007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44193
44194 * kern/disk.c (grub_disk_read): Check return value of
44195 grub_realloc().
44196
260ba823 441972007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44198
44199 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44200 arrays.
44201 * disk/raid.c (grub_raid_open): Likewise.
44202
1ecb6cf2 442032007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44204
44205 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44206 stack instead of on the heap.
44207
44208 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44209 before doing a read on it.
44210
44211 * configure.ac: Only use -fno-stack-protector for the target
44212 environment.
f19dbdb7 44213
21c8cbb1 442142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44215
44216 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44217 __attribute_ ((unused)) to mode_type argument.
44218
44219 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44220
21c8cbb1 44221 * kern/misc.c (memcmp): Fix prototype.
44222
44223 * include/grub/partition.h [GRUB_UTIL]
44224 (grub_gpt_partition_map_init): Add prototype.
44225 (grub_gpt_partition_map_fini): Likewise.
44226
44227 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44228 at the right place.
44229
44230 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44231 (grub_fat_read_data): Likewise.
44232 (grub_fat_find_dir): Likewise.
44233
44234 * font/manager.c (find_glyph): Make table a const.
44235 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44236
849d55d3 442372007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44238
44239 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44240 code, first search for device in /dev/mapper, then in /dev.
44241 (grub_util_get_grub_dev): New function.
44242 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44243 prototype.
44244 * util/grub-probe.c (probe): Remove check for RAID, call
44245 grub_util_get_grub_dev() instead of
44246 grub_util_biosdisk_get_grub_dev().
44247 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44248 grub_util_biosdisk_get_grub_dev().
44249 * util/i386/pc/grub-setup.c (main): Likewise.
44250
8fff7c2f 442512007-05-16 Robert Millan <rmh@aybabtu.com>
44252
44253 * DISTLIST: Update for the latest changes.
44254 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44255 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44256 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44257 grub/util/biosdisk.h.
44258 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44259 grub/util/biosdisk.h.
44260
48e12b52 442612007-05-16 Robert Millan <rmh@aybabtu.com>
44262
44263 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44264
46b9d128 442652007-05-16 Robert Millan <rmh@aybabtu.com>
44266
44267 * util/i386/efi/grub-install.in: New.
44268 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44269 newly added grub-install.
44270 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44271 include.
44272 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44273 grub/util/biosdisk.h.
44274 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44275 grub/util/biosdisk.h.
44276
2d1a40a9 442772007-05-16 Robert Millan <rmh@aybabtu.com>
44278
44279 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44280 * include/grub/util/biosdisk.h: ... here.
44281 * util/i386/pc/biosdisk.c: Moved to ...
44282 * util/biosdisk.c: ... here.
44283 * util/i386/pc/getroot.c: Moved to ...
44284 * util/getroot.c: ... here.
44285 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44286 * util/grub-mkdevicemap.c: ... here.
44287 * util/i386/pc/grub-probe.c: Moved to ...
44288 * util/grub-probe.c: ... here.
44289
9e26e3bc 442902007-05-15 Robert Millan <rmh@aybabtu.com>
44291
44292 * util/update-grub.in: Remove duplicated line in grub.cfg header
44293 message.
44294
57f96397 442952007-05-13 Robert Millan <rmh@aybabtu.com>
44296
44297 * util/update-grub.in: Fix a few assumptions about the devices holding
44298 /, /boot and /boot/grub being the same.
44299 * util/grub.d/00_header.in: Likewise.
44300 * util/grub.d/10_hurd.in: Likewise.
44301 * util/grub.d/10_linux.in: Likewise.
44302
44303 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44304 patterns. Use that to define the `.old' suffix as older than `'.
44305
44306 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44307
44308 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44309 the grub.cfg header message.
44310
2e610d62 443112007-05-11 Robert Millan <rmh@aybabtu.com>
44312
44313 * util/update-grub.in: Create device.map if it doesn't already exist,
44314 before attempting to run grub-probe.
44315 Check for grub-probe and grub-mkdevicemap with the same code
44316 grub-install is using.
44317 Remove test mode.
44318
3f6a10ef 443192007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44320
44321 * Makefile.in: Add the datarootdir autoconf variable.
44322
02e7b75e 443232007-05-09 Robert Millan <rmh@aybabtu.com>
44324
44325 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44326 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44327
75f396cc 443282007-05-07 Robert Millan <rmh@aybabtu.com>
44329
44330 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44331 determine partition map module.
44332 * util/i386/pc/grub-install.in: Use this feature to decide which
44333 partition module to load, instead of hardcoding pc and gpt.
44334
da65cb36 443352007-05-07 Robert Millan <rmh@aybabtu.com>
44336
44337 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44338 source directory differs from build directory.
44339
b57d6a91 443402007-05-05 Robert Millan <rmh@aybabtu.com>
44341
44342 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44343 initialisation.
44344
509d00f1 443452007-05-05 Robert Millan <rmh@aybabtu.com>
44346
44347 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44348
c48f23ef 443492007-05-05 Robert Millan <rmh@aybabtu.com>
44350
44351 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44352 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44353
20b97658 443542007-05-05 Robert Millan <rmh@aybabtu.com>
44355
44356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44357 (grub_probe_SOURCES): Likewise.
44358 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44359 GPT and initialize dos_part and bsd_part accordingly.
44360 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44361 install_bsd_part.
44362 (main): Activate gpt module for use during partition identification,
44363 and deactivate it afterwards.
44364 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44365 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44366 partition identification, and deactivate it afterwards.
44367
99123174 443682007-05-05 Robert Millan <rmh@aybabtu.com>
44369
44370 * term/i386/pc/console.c (grub_console_fini): Call
44371 grub_term_set_current() before grub_term_unregister().
44372
ebd97f6e 443732007-05-04 Robert Millan <rmh@aybabtu.com>
44374
44375 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44376 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44377 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44378 and update-grub_DATA.
44379 * conf/common.rmk: Build and install update-grub components.
44380 * conf/common.mk: Regenerate.
44381 * util/update-grub.in: New. Core of update-grub.
44382 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44383 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44384 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44385 * util/grub.d/README: New. Document grub.d directory layout.
44386
b06a264d 443872007-05-01 Robert Millan <rmh@aybabtu.com>
44388
44389 * util/grub-emu.c: Move initialization functions
44390 grub_util_biosdisk_init() and grub_init_all() before
44391 grub_util_biosdisk_get_grub_dev(), which relies on them.
44392
41f0050e 443932007-04-19 Robert Millan <rmh@aybabtu.com>
44394
44395 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44396 it is used later.
44397
04582bb3 443982007-04-18 Jerone Young <jerone@gmail.com>
44399
f19dbdb7 44400 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44401 stanza.
44402
08db4632 444032007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44404
08db4632 44405 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44406 continue on and look for device node with real device name.
44407
801b76be 444082007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44409
fe6b695a 44410 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44411 ability.
44412 * Makefile.in: Add autoconf package transformation code.
44413 * util/i386/pc/grub-install.in: Likewise.
44414 * util/powerpc/ieee1275/grub-install.in: Likewise.
44415
6795c4e1 444162007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44417
44418 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44419 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44420 (EXT2_REVISION): Likewise.
44421 (EXT2_INODE_SIZE): Likewise.
44422 (struct grub_ext2_block_group): Added a missing member
44423 "used_dirs".
44424 (grub_ext2_read_inode): Divide by the inode size in a superblock
44425 instead of 128 to obtain INODES_PER_BLOCK.
44426 Use the macro EXT2_INODE_SIZE instead of directly using
44427 SBLOCK->INODE_SIZE.
44428
d70af616 444292007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44430
44431 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44432 superblock instead of the structure size to compute an
44433 offset. This fixes the problem that GRUB could not read a
44434 filesystem when inode size is different from 128-byte.
44435
3b801603 444362007-03-05 Marco Gerards <marco@gnu.org>
44437
44438 * normal/main.c (read_config_file): When "menu" is not set, create
44439 an initial context.
44440
4785bfe4 444412007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44442
44443 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44444 (HEAP_LIMIT): New macro.
44445 (grub_claim_heap): Claim memory up to `heaplimit'.
44446
a0cbb023 444472007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44448
44449 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44450 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44451 (_start): Likewise.
44452 (grub_arch_modules_addr): Return address after `_end'.
44453 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44454 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44455 (add_segments): Calculate `_end' from phdr size and location.
44456 (ALIGN_UP): Moved to ...
44457 * include/grub/misc.h: here.
44458 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44459 New macro.
44460 (GRUB_IEEE1275_MODULE_BASE): Removed.
44461
fd7d8eba 444622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44463
44464 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44465 loop boundary.
44466
9b09e6fc 444672007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44468
44469 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44470 All users updated.
44471 (grub_elf64_load_hook_t): Likewise.
44472 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44473 debug output.
44474
3ce27299 444752007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44476
44477 * kern/mm.c: Update copyright.
44478 (grub_mm_debug): Correct syntax error.
44479 (grub_mm_dump_free): New function.
44480 (grub_debug_free): Call `grub_free'.
44481 * include/grub/mm.h: Update copyright.
44482 (grub_mm_dump_free): Add declaration.
44483
077d5fee 444842007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44485
44486 * include/grub/ieee1275/ieee1275.h: Update copyright.
44487 * kern/powerpc/ieee1275/init.c: Likewise.
44488 * kern/powerpc/ieee1275/openfw.c: Likewise.
44489
44490 * loader/powerpc/ieee1275/linux.c: Likewise.
44491 * include/grub/elfload.h: Likewise.
44492 * kern/elf.c: Likewise.
44493 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44494 callers.
44495 (grub_elf64_load): Likewise.
44496 (grub_elf32_load_segment): Move to a nested function.
44497 (grub_elf64_load_segment): Likewise.
44498
dc946850 444992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44500
44501 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44502 prototype.
44503 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44504 (grub_heap_len): Likewise.
44505 (HEAP_SIZE): New macro.
44506 (grub_claim_heap): New function.
44507 (grub_machine_init): Don't claim heap directly. Call
44508 `grub_claim_heap'.
44509 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44510 (grub_available_iterate): New function.
44511
baa2a121 445122007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44513
44514 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44515 * configure.ac: Use it for testing the HOST and TARGET compilers.
44516
4fe9862e 445172006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44518
44519 * Makefile.in (enable_grub_emu): New variable.
44520 * configure.ac (--enable-grub-emu): New option.
44521 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44522 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44523 * conf/i386-pc.rmk: Likewise.
44524 * conf/powerpc-ieee1275.rmk: Likewise.
44525 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44526
a8aa5762 445272006-12-12 Marco Gerards <marco@gnu.org>
44528
44529 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44530
44531 * kern/env.c (grub_env_unset): Don't free the member `value' when
44532 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44533 pointer.
44534
44535 * normal/main.c (current_menu): Removed.
44536 (free_menu): Unset the `menu' environment variable.
44537 (grub_normal_menu_addentry): Make use of the environment variable
44538 `menu', instead of using the global `current_menu'. Allocate
44539 memory for the sourcecode of this entry.
44540 (read_config_file): New argument `nested', changed all callers.
44541 Only in the case of a new context, initialize a new menu. Set the
44542 `menu' environment variable.
44543 (grub_normal_execute): Don't set and unset the environment
44544 variable `menu' here anymore. Only free the menu when leaving the
44545 context.
44546
44547 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44548 leak.
44549
957b3a3e 445502006-12-11 Marco Gerards <marco@gnu.org>
44551
44552 * normal/menu_entry.c (run): Fix off by one bug so the last line
44553 is executed. Move the loader check to outside the loop.
44554
ef875714 445552006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44556
44557 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44558
4e739985 445592006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44560
44561 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44562 the number of sectors. Reported by Andrey Shuvikov
44563 <mr_hyro@yahoo.com>.
f19dbdb7 44564
790707f2 445652006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44566
44567 * kern/disk.c (grub_disk_read): When there is a read error, always
44568 try to read only the necessary data.
f19dbdb7 44569
790707f2 44570 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44571 disk/raid.c.
44572 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44573 prototype.
44574 [GRUB_UTIL] (grub_raid_fini): Likewise.
44575 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44576 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44577 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44578 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44579 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44580 and grub_raid_fini().
f19dbdb7 44581
03e58196 445822006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44583
44584 * include/grub/types.h (__unused): Rename to UNUSED.
44585 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44586 (grub_elf64_size): Likewise.
f19dbdb7 44587
ae4f23bf 445882006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44589
44590 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44591 grub_error_push and grub_error_pop in the error-handling path.
44592 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44593 length.
44594
2166cc83 445952006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44596
44597 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44600 (kernel_elf_SOURCES): Likewise.
44601 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44602 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44603 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44604 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44605 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44606 (elf_mod_SOURCES): New variable.
44607 (elf_mod_CFLAGS): Likewise.
44608 (elf_mod_LDFLAGS): Likewise.
44609 * include/grub/types.h (__unused): New macro.
44610 * include/grub/elfload.h: New file.
44611 * kern/elf.c: Likewise.
44612 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44613 (ELF32_LOADMASK): New macro.
44614 (ELF64_LOADMASK): Likewise.
44615 (vmlinux): Removed.
44616 (grub_linux_load32): New function.
44617 (grub_linux_load64): Likewise.
44618 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44619 Use grub_elf_t instead of grub_file_t.
44620
a09d5aa5 446212006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44622
44623 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44624 `catch_result' to struct set_color_args.
44625
d976fc51 446262006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44627
44628 * normal/menu.c: Include grub/script.h.
44629 * normal/menu_entry.c: Likewise.
44630 * include/grub/normal.h: Do not include grub/script.h.
44631
67507549 446322006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44633
44634 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44635
69203a99 446362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44637
44638 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44639 disk.
44640 (grub_disk_close): Print debug messages when closing a disk.
44641 (grub_disk_read): Print debug messages when disk read fails.
44642 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44643 filesystem type.
44644 * kern/partition.c: Include misc.h.
44645 (grub_partition_iterate): Print debug messages when detecting
44646 partition type.
44647
e2b8278c 446482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44649
44650 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44651 is negative.
44652 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44653
97b2f2ff 446542006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44655
44656 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44657 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44658
6555d655 446592006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44660
44661 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44662 instead of sizeof(lv). Patch by Michael Guntsche.
44663
4d42b77f 446642006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44665
44666 * disk/lvm.c: Rename VGS to VG_LIST.
44667 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44668 (grub_lvm_open): Likewise.
44669 Thanks to Michael Guntsche for finding this bug.
44670
5d74d927 446712006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44672
44673 * configure.ac (AC_INIT): Bumped to 1.95.
44674
a1bb27e4 446752006-10-14 Robert Millan <rmh@aybabtu.com>
44676
44677 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44678 with "/dev/.static/dev/md".
44679
e0994b8b 446802006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44681
44682 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44683 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44684 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44685 DRIVE_NAME are always freed.
44686
44687 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44688 DOS_PART, as a DOS partition is counted from one instead of zero
44689 now. Reported by Robert Millan.
44690
ddd5cee9 446912006-10-14 Robert Millan <rmh@aybabtu.com>
44692
44693 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44694 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44695 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44696 string returned by grub_guess_root_device.
44697 * util/i386/pc/grub-setup.c: Likewise.
44698 * util/i386/pc/grub-probefs.c: Likewise.
44699
44700 * util/i386/pc/grub-probefs.c: Rename to ...
44701 * util/i386/pc/grub-probe.c: ... this.
44702 * DISTLIST: Remove grub-probefs, add grub-probe.
44703 * conf/i386-efi.rmk: Likewise.
44704 * conf/i386-pc.rmk: Likewise.
44705 * util/i386/pc/grub-install.in: Likewise.
44706
44707 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44708 choose which information we want to print.
44709
2b002173 447102006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44711
44712 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44713 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44714 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44715 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44716 video/readers/tga.c and video/i386/pc/vbeutil.c.
44717
447182006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44719
44720 Added support for RAID and LVM.
f19dbdb7 44721
2b002173 44722 * disk/lvm.c: New file.
44723 * disk/raid.c: Likewise.
44724 * include/grub/lvm.h: Likewise.
f19dbdb7 44725 * include/grub/raid.h: Likewise.
2b002173 44726 * include/grub/util/lvm.h: Likewise.
44727 * include/grub/util/raid.h: Likewise.
44728 * util/lvm.c: Likewise.
44729 * util/raid.c: Likewise.
44730
44731 * include/grub/disk.h (grub_disk_dev_id): Add
44732 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44733 (grub_disk_get_size): New prototype.
44734 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44735 returns a partition.
44736 (grub_disk_get_size): New function.
f19dbdb7 44737
2b002173 44738 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44739 verbatim if grub_install_dos_part is -2.
44740
44741 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44742 and LVM devices.
44743
44744 * util/i386/pc/grub-setup.c (setup): New argument
44745 MUST_EMBED. Force embedding of GRUB when the argument is
44746 true. Close FILE before returning.
44747 (main): Add support for RAID and LVM.
f19dbdb7 44748
2b002173 44749 * conf/common.rmk: Add RAID and LVM modules.
44750 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44751 util/lvm.c.
44752 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44753
44754 * kern/misc.c (grub_strstr): New function.
44755 * include/grub/misc.h (grub_strstr): New prototype.
44756
050548d0 447572006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44758
44759 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44760
da849d2d 447612006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44762
44763 * kern/misc.c (grub_strtoull): Guess the base only if not
44764 specified.
44765
97b2f2ff 447662006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44767
44768 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44769 PowerMac support.
44770
97b2f2ff 447712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44772
44773 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44774
44775 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44776 Remove `flags' argument. All callers changed.
44777 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44778 (IEEE1275_IHANDLE_INVALID): New variable.
44779 (IEEE1275_CELL_INVALID): New variable.
44780 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44781 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44782 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44783 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44784 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44785 codes from Open Firmware. All callers updated.
44786 (grub_ieee1275_next_property): Directly return Open Firmware return
44787 code.
44788 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44789 Standardize error checking from `grub_ieee1275_get_property'.
44790 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44791 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44792
97b2f2ff 447932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44794
44795 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44796 `instance_to_package_args' to `instance_to_path_args'.
44797
44798 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44799 `grub_ieee1275_chosen'.
44800
44801 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44802 `grub_ieee1275_interpret'.
44803
97b2f2ff 448042006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44805
44806 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44807
97b2f2ff 448082006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44809
44810 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44811 (__cmpdi): Likewise.
44812
44813 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44814 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44815 `grub_ssize_t'.
44816
02bb8acc 44817 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44818
44819 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44820 to type `grub_ssize_t'.
44821 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44822
7f9a8531 448232006-09-22 Marco Gerards <marco@gnu.org>
44824
44825 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44826 newlines.
44827
b5ef1102 448282006-09-22 Marco Gerards <marco@gnu.org>
44829
44830 * commands/echo.c: New file.
44831
44832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44833
44834 * conf/common.rmk (echo_mod_SOURCES): New variable.
44835 (echo_mod_CFLAGS): Likewise.
44836 (echo_mod_LDFLAGS): Likewise.
44837
2cff3677 448382006-09-22 Marco Gerards <marco@gnu.org>
44839
44840 * normal/main.c (get_line): Malloc memory instead of using
44841 preallocated memory. Removed the arguments `cmdline' and
44842 `max_len'. Updated all callers.
44843
6ba4688b 448442006-09-22 Marco Gerards <marco@gnu.org>
44845
44846 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44847 (normal_mod_DEPENDENCIES): Likewise.
44848
44849 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44850 (normal_mod_DEPENDENCIES): Likewise.
44851
44852 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44853
e02ac02c 448542006-09-22 Johan Rydberg <jrydberg@gnu.org>
44855
44856 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44857 programs.
44858 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44859 (normal_mod_DEPENDENCIES): Likewise.
44860 * conf/i386-pc.mk: Regenerate.
44861 * conf/i386-efi.mk: Likewise
44862 * conf/common.mk: Likewise.
44863 * conf/powerpc-ieee1275.mk: Likewise.
44864 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44865
8d252e44 448662006-09-22 Robert Millan <rmh@aybabtu.com>
44867
44868 Sync with i386 version.
44869 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44870 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44871
209bf7ac 448722006-09-21 Robert Millan <rmh@aybabtu.com>
44873
44874 Import from GRUB Legacy (lib/device.c):
44875 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44876 (init_device_map) [__linux__]: Add support for I2O devices.
44877
6b146090 448782006-09-14 Marco Gerards <marco@gnu.org>
44879
44880 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44881 `-melf_i386'.
44882
e38600a8 448832006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44884
44885 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44886 /boot/grub/*.lst.
78fa1790 44887
2952da5d 44888 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44889
2952da5d 44890 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44891 before adding it to device.map.
44892
01b82a64 448932006-08-15 Johan Rydberg <jrydberg@gnu.org>
44894
fe6b695a 44895 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44896 compiles a file; using the -MD option.
44897 * conf/common.mk: Regenerate.
44898 * conf/i386-pc.mk: Likewise.
44899 * conf/i386-efi.mk: Likewise.
44900 * conf/powerpc-ieee1275.mk: Likewise.
44901 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44902
1064790d 449032006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44904
44905 Move the prototypes of grub_setjmp and grub_longjmp to
44906 cpu/setjmp.h, so that each architecture may specify different
44907 attributes.
f19dbdb7 44908
1064790d 44909 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44910 (grub_longjmp): Likewise.
44911 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44912 (grub_longjmp): Likewise.
44913 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44914 (grub_longjmp): Likewise.
44915
44916 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44917 [!GRUB_UTIL] (grub_longjmp): Removed.
44918
29dda3ed 449192006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44920
44921 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44922 "color!" method does not return any value.
44923
ad2a06ed 449242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44925
44926 * include/grub/bitmap.h: New file.
44927
44928 * include/grub/i386/pc/vbeutil.h: Likewise.
44929
44930 * video/bitmap.c: Likewise.
44931
44932 * video/readers/tga.c: Likewise.
44933
44934 * video/i386/pc/vbeutil.c: Likewise.
44935
44936 * commands/videotest.c: Code cleanup and updated to reflect to new
44937 video API.
44938
44939 * term/gfxterm.c: Likewise.
44940
44941 * video/video.c: Likewise.
44942
44943 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44944 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44945 (bitmap_mod_SOURCES): New entry.
44946 (bitmap_mod_CFLAGS): Likewise.
44947 (bitmap_mod_LDFLAGS): Likewise.
44948 (tga_mod_SOURCES): Likewise.
44949 (tga_mod_CFLAGS): Likewise.
44950 (tga_mod_LDFLAGS): Likewise.
44951
44952 * include/grub/video.h (grub_video_blit_operators): New enum type.
44953 (grub_video_render_target): Changed as forward declaration and moved
44954 actual definition to be video driver specific.
44955 (grub_video_adapter.blit_bitmap): Added blitting operator.
44956 (grub_video_adapter.blit_render_target): Likewise.
44957 (grub_video_blit_bitmap): Likewise.
44958 (grub_video_blit_render_target): Likewise.
44959
44960 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44961 driver specific render target definition.
44962 (grub_video_vbe_map_rgba): Added driver internal helper.
44963 (grub_video_vbe_unmap_color): Updated to use
44964 grub_video_i386_vbeblit_info.
44965 (grub_video_vbe_get_video_ptr): Likewise.
44966
44967 * include/grub/i386/pc/vbeblit.h
44968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44969 grub_video_i386_vbeblit_info.
44970 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44971 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44972 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44973 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44974 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44975 (grub_video_i386_vbeblit_index_index): Likewise.
44976 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44977 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44978 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44979 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44980 operator.
44981 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44982 operator.
44983
44984 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44985 include/grub/i386/pc/vbeblit.h.
44986
44987 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44988 Updated to use grub_video_i386_vbeblit_info.
44989 (grub_video_i386_vbefill_R8G8B8): Likewise.
44990 (grub_video_i386_vbefill_index): Likewise.
44991 (grub_video_i386_vbefill): Added generic filler.
44992
44993 * video/i386/pc/vbefill.c: Updated to reflect changes on
44994 include/grub/i386/pc/vbefill.h.
44995
44996 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44997 grub_video_i386_vbeblit_info.
44998 (grub_video_vbe_unmap_color): Likewise.
44999 (grub_video_vbe_blit_glyph): Likewise.
45000 (grub_video_vbe_scroll): Likewise.
45001 (grub_video_vbe_draw_pixel): Removed function.
45002 (grub_video_vbe_get_pixel): Likewise.
45003 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45004 updated code to use it.
45005 (common_blitter): Added common blitter for render target and bitmap.
45006 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45007 (grub_video_vbe_blit_render_target): Likewise.
45008
bc8c036d 450092006-07-30 Johan Rydberg <jrydberg@gnu.org>
45010
45011 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45012 is in text mode if there is no console control protocol instance
45013 available.
45014
684a8eff 450152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45016
45017 * include/grub/video.h: Code cleanup.
45018
45019 * include/grub/i386/pc/vbe.h: Likewise.
45020
45021 * video/i386/pc/vbe.c: Likewise.
45022
45023 * video/i386/pc/vbeblit.c: Likewise.
45024
45025 * video/i386/pc/vbefill.c: Likewise.
45026
45027 * video/video.c: Likewise. Also added more comments.
45028
5915059b 450292006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45030
45031 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45032 (struct grub_biosdisk_dap): Likewise.
45033
45034 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45035 linkage settings for all functions.
45036
90ce5d56 450372006-07-12 Marco Gerards <marco@gnu.org>
45038
45039 * configure.ac (--enable-mm-debug): Fix typo.
45040
45041 * genkernsyms.sh.in: Use proper quoting for `CC'.
45042
43e7f879 450432006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45044
45045 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45046 (normal_mod_ASFLAGS): Remove "-m32".
45047
4889bdec 450482006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45049
45050 * util/misc.c: Include config.h.
45051 [!HAVE_MEMALIGN]: Do not include malloc.h.
45052 (grub_memalign): Use posix_memalign, if present. Then, use
45053 memalign, if present. Otherwise, emit an error.
45054
45055 * util/grub-emu.c: Do not include malloc.h.
45056
45057 * include/grub/util/misc.h: Include unistd.h. This is required for
45058 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45059 D. Eades III <hde@foobar-qux.org>.
45060
45061 * configure.ac (AC_GNU_SOURCE): Added.
45062 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45063 type.
45064
fd39d4da 450652006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45066
45067 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45068 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45069
b786f3b5 450702006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45071
45072 * include/grub/types.h (grub_host_addr_t): Rename to
45073 grub_target_addr_t.
45074 (grub_host_off_t): Rename to grub_target_off_t.
45075 (grub_host_size_t): Rename to grub_target_size_t.
45076 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45077 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45078
45079 * include/grub/kernel.h (struct grub_module_header): Change type
45080 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45081 (grub_module_info): Likewise.
f19dbdb7 45082
051988bb 450832006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45084
45085 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45086 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45087 Velazquez <jesus.velazquez@gmail.com>.
45088
deae281b 450892006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45090
45091 Count partitions from 1 instead of 0 in the string representation
45092 of partitions. Still use 0-based internally.
f19dbdb7 45093
deae281b 45094 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45095 (sun_partition_map_iterate): Use grub_partition_t instead of
45096 struct grub_partition *. Cast DESC->START_CYLINDER to
45097 grub_uint64_t after converting the endian.
45098 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45099 (sun_partition_map_get_name): Add 1 to P->INDEX.
45100
45101 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45102 PCDATA->DOS_PART.
45103 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45104
45105 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45106 zero instead of one.
45107 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45108 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45109
45110 * partmap/apple.c (apple_partition_map_iterate): Change the type
45111 of POS to unsigned.
45112 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45113 (apple_partition_map_get_name): Add 1 into P->INDEX.
45114
45115 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45116 of POS to unsigned.
45117 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45118 calculate the offset of a partition.
45119 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45120 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45121
45122 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45123 SECTOR to grub_disk_addr_t.
45124 (acorn_partition_map_iterate): Likewise.
45125 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45126 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45127 top.
45128 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45129
45130 * kern/i386/pc/init.c (make_install_device): Add 1 into
45131 GRUB_INSTALL_DOS_PART.
45132
45133 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45134 conditional.
45135
524a1e6a 451362006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45137
45138 Clean up the code to support 64-bit addressing in disks and
45139 files. This change is not enough for filesystems yet.
f19dbdb7 45140
524a1e6a 45141 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45142 type of "start" to grub_uint64_t.
45143 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45144 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45145 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45146 convert addresses.
45147
45148 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45149 to grub_disk_addr_t.
45150
45151 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45152 string.
45153
45154 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45155
45156 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45157 to char *.
45158
45159 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45160
45161 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45162
45163 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45164
45165 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45166 to grub_off_t, to detect an error from grub_file_seek.
45167 (grub_multiboot_load_elf32): Likewise.
45168
45169 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45170 maximum unsigned long value when an overflow is detected.
45171 (grub_strtoull): New function.
45172 (grub_divmod64): Likewise.
45173 (grub_lltoa): use grub_divmod64.
45174
45175 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45176 grub_disk_addr_t.
45177 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45178 the pointer to next character. Use grub_strtoull instead of
45179 grub_strtoul.
45180 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45181 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45182 respectively.
45183
fe6b695a 45184 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45185 return value is signed.
45186 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45187 test if OFFSET is less than zero, as OFFSET is unsigned now.
45188
45189 * kern/disk.c (struct grub_disk_cache): Change the type of
45190 "sector" to grub_disk_addr_t.
45191 (grub_disk_cache_get_index): Change the type of SECTOR to
45192 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45193 unsigned after shifting.
45194 (grub_disk_cache_invalidate): Change the type of SECTOR to
45195 grub_disk_addr_t.
45196 (grub_disk_cache_unlock): Likewise.
45197 (grub_disk_cache_store): Likewise.
45198 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45199 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45200 grub_disk_addr_t and grub_uint64_t, respectively.
45201 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45202 body, as the value of OFFSET is tweaked by
45203 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45204 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45205 respectively.
45206 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45207 body, as the value of OFFSET is tweaked by
45208 grub_disk_check_range. Change the types of LEN and N to
45209 grub_size_t.
45210
45211 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45212 and "saved_offset" to grub_off_t.
45213 (test_header): Cast BUF to char *.
45214 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45215 to char *.
45216 (grub_gzio_read): Change the types of OFFSET and SIZE to
45217 grub_off_t and grub_size_t, respectively.
45218
45219 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45220 Removed.
45221 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45222 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45223 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45224 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45225 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45226
45227 * include/grub/types.h (grub_off_t): Unconditionally set to
45228 grub_uint64_t.
45229 (grub_disk_addr_t): Changed to grub_uint64_t.
45230
45231 * include/grub/partition.h (struct grub_partition): Change the
45232 types of "start", "len" and "offset" to grub_disk_addr_t,
45233 grub_uint64_t and grub_disk_addr_t, respectively.
45234 (grub_partition_get_start): Return grub_disk_addr_t.
45235 (grub_partition_get_len): Return grub_uint64_t.
45236
45237 * include/grub/misc.h (grub_strtoull): New prototype.
45238 (grub_divmod64): Likewise.
45239
45240 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45241 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45242 grub_off_t, respectively.
45243 All callers and references changed.
45244
45245 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45246 grub_size_t in "read".
45247 All callers and references changed.
45248
45249 * include/grub/file.h (struct grub_file): Change the types of
45250 "offset" and "size" to grub_off_t and grub_off_t,
45251 respectively. Change the type of SECTOR to grub_disk_addr_t in
45252 "read_hook".
45253 (grub_file_read): Change the type of LEN to grub_size_t.
45254 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45255 grub_off_t.
45256 (grub_file_size): Return grub_off_t.
45257 (grub_file_tell): Likewise.
45258 All callers and references changed.
45259
45260 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45261 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45262 "write".
45263 (struct grub_disk): Change the type of "total_sectors" to
45264 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45265 "read_hook".
524a1e6a 45266 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45267 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45268 (grub_disk_write): Likewise.
45269 All callers and references changed.
45270
45271 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45272 char * for grub_strncmp to silence gcc.
45273 (grub_iso9660_mount): Likewise.
45274 (grub_iso9660_mount): Likewise.
45275 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45276 return statement.
45277 (grub_iso9660_iterate_dir): Likewise.
45278 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45279
45280 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45281 LEN to grub_disk_addr_t and grub_size_t, respectively.
45282
45283 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45284
45285 * fs/jfs.c (grub_jfs_read_file): Likewise.
45286
45287 * fs/minix.c (grub_jfs_read_file): Likewise.
45288
45289 * fs/sfs.c (grub_jfs_read_file): Likewise.
45290
45291 * fs/ufs.c (grub_jfs_read_file): Likewise.
45292
45293 * fs/xfs.c (grub_jfs_read_file): Likewise.
45294
45295 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45296 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45297 respectively.
45298
45299 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45300 BLKNR to -1 instead of returning GRUB_ERRNO.
45301 (grub_ext2_read_file): Change the types of SECTOR and
45302 LEN to grub_disk_addr_t and grub_size_t, respectively.
45303
45304 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45305 LEN to grub_disk_addr_t and grub_size_t, respectively.
45306
45307 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45308 grub_file_read.
45309
45310 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45311 string. Do not cast SECTOR explicitly.
45312
45313 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45314 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45315 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45316 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45317 over 2TB and LBA mode is not supported, raise an error.
45318 (get_safe_sectors): New function.
45319 (grub_biosdisk_read): Use get_safe_sectors.
45320 (grub_biosdisk_write): Likewise.
45321
45322 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45323 (grub_efidisk_write): Likewise.
45324
45325 * disk/loopback.c (delete_loopback): Cosmetic changes.
45326 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45327 correctly.
45328 (grub_loopback_open): Likewise.
45329 (grub_loopback_read): Likewise. Also, change the type of POS to
45330 grub_off_t, and fix the usage of grub_memset.
45331
45332 * commands/i386/pc/play.c: Include grub/machine/time.h.
45333
45334 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45335 print FILE->SIZE.
45336
45337 * commands/configfile.c: Include grub/env.h.
45338
45339 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45340 GRUB_ERRNO directly instead. Change the type of POS to
45341 grub_off_t. Follow the coding standard.
45342
45343 * commands/blocklist.c: Include grub/partition.h.
45344 (grub_cmd_blocklist): Return an error if the underlying device is
45345 not a disk. Take the starting sector of a partition into account,
45346 if a partition is used.
45347
45348 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45349 a length field.
45350 (lba_mode): Support 64-bit addresses.
45351 (chs_mode): Likewise.
45352 (copy_buffer): Adapted to the new offsets of a length field and a
45353 segment field.
45354 (blocklist_default_start): Allocate 64-bit space.
45355
45356 * boot/i386/pc/boot.S (force_lba): Removed.
45357 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45358 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45359 space.
45360 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45361 is useless.
45362 (lba_mode): Refactored to support a 64-bit address. More size
45363 optimization.
45364 (setup_sectors): Likewise.
45365
53af98ad 453662006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45367
45368 * DISTLIST: Added include/grub/i386/linux.h. Removed
45369 include/grub/i386/pc/linux.h
45370
45371 * configure.ac (AC_INIT): Bumped to 1.94.
45372
45373 * config.guess: Updated from gnulib.
45374 * config.sub: Likewise.
45375 * install-sh: Likewise.
45376 * mkinstalldirs: Likewise.
45377
b4c1940a 453782006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45379
45380 * conf/common.rmk (grub_modules_init.lst): Depended on
45381 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45382 MODSRCFILES.
45383
45384 * genmk.rb (PModule::rule): Reverted the previous change.
45385
cfca1cfd 453862006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45387
45388 * conf/common.rmk (grub_modules_init.lst): Depends on
45389 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45390 that the target does not exist before producing.
45391 (grub_modules_init.h): Remove the target before generating.
45392 (grub_emu_init.c): Likewise.
45393
45394 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45395
aa6d7826 453962006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45397
45398 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45399 for the target-specific tests. Make sure that we also have the
45400 up-to-date target variables for those tests.
45401
26c607b9 454022006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45403
45404 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45405 (PModule::rule): Likewise.
45406
0162321a 454072006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45408
45409 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45410 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45411 target-specific flags should be prefixed.
45412 (PModule::rule): Likewise.
45413
6c826348 454142006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45415
45416 * configure.ac (CMP): Check if cmp is available explicitly.
45417
b977bf01 454182006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45419
45420 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45421 (target_cpu): New variable.
45422 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45423
b977bf01 45424 * util/i386/pc/grub-install.in (host_cpu): Removed.
45425 (target_cpu): New variable.
45426 (pkglibdir): Use target_cpu instead of host_cpu.
45427
45428 * util/genmoddep.c: Removed.
f19dbdb7 45429
b977bf01 45430 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45431 instead of GRUB_HOST_SIZEOF_VOID_P.
45432 * kern/dl.c: Likewise.
45433
45434 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45435 ...
45436 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45437 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45438 (GRUB_TARGET_SIZEOF_LONG): ... this.
45439 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45440 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45441 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45442 to ...
45443 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45444 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45445 (GRUB_TARGET_SIZEOF_LONG): ... this.
45446 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45447 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45448 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45449 to ...
45450 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45451 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45452 (GRUB_TARGET_SIZEOF_LONG): ... this.
45453 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45454 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45455
45456 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45457 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45458 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45459 instead of GRUB_HOST_SIZEOF_LONG.
45460 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45461 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45462 GRUB_CPU_WORDS_BIGENDIAN.
45463 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45464 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45465 grub_host_ssize_t.
45466
45467 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45468 (genmoddep_SOURCES): Likewise.
45469 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45470 (genmoddep_SOURCES): Likewise.
45471 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45472 (genmoddep_SOURCES): Likewise.
45473 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45474 Likewise.
45475 (genmoddep_SOURCES): Likewise.
45476
45477 * genmoddep.awk: New file.
45478
45479 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45480 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45481 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45482 (PModule::rule): Likewise.
45483 (Program::rule): Likewise.
45484 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45485 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45486 respectively.
45487
45488 * configure.ac: Rewritten intensively to use host and target
45489 instead of build and host, respectively.
45490
45491 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45492 (host_cpu): Removed.
45493 (target_cpu): New variable.
45494 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45495 (BUILD_CC): Removed.
45496 (BUILD_CFLAGS): Likewise.
45497 (BUILD_CPPFLAGS): Likewise.
45498 (TARGET_CC): New variable.
45499 (TARGET_CFLAGS): Likewise.
45500 (TARGET_CPPFLAGS): Likewise.
45501 (TARGET_LDFLAGS): Likewise.
45502 (AWK): Likewise.
45503 (include): Use target_cpu instead of host_cpu.
45504 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45505
b977bf01 45506 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45507
f09771a1 455082006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45509
45510 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45511 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45512 field 'false' to 'exec_on_false'.
45513 (grub_script_create_cmdif): Renamed argument names to reflect above
45514 changes.
45515
45516 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45517
45518 * normal/script.c (grub_script_create_cmdif): Likewise.
45519
118f4fb3 455202006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45521
45522 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45523 top.
45524 (grub_hfsplus_btree_recptr): Likewise.
45525 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45526 FILEBLOCK both to pass a block number and store next block
45527 number.
45528 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45529 overflow file correctly. Specify errors appropriately, because
45530 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45531 grub_hfsplus_btree_recptr to get the pointer to a found key.
45532 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45533 is found.
45534
45535 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45536 linux.mod.
45537 (_linux_mod_SOURCES): New variable.
45538 (_linux_mod_CFLAGS): Likewise.
45539 (_linux_mod_LDFLAGS): Likewise.
45540 (linux_mod_SOURCES): Likewise.
45541 (linux_mod_CFLAGS): Likewise.
45542 (linux_mod_LDFLAGS): Likewise.
45543
45544 * DISTLIST: Added loader/i386/efi/linux.c,
45545 loader/i386/efi/linux_normal.c and
45546 include/grub/i386/efi/loader.h.
45547
45548 * loader/i386/efi/linux.c: New file.
45549 * loader/i386/efi/linux_normal.c: Likewise.
45550 * include/grub/i386/efi/loader.h: Likewise.
45551
89a7d726 455522006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45553
45554 * commands/blocklist.c: New file.
45555
45556 * DISTLIST: Added commands/blocklist.c.
45557
45558 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45559 color for the background, and a darker color for the foreground.
89a7d726 45560 (grub_console_checkkey): Return READ_KEY.
45561 (grub_console_cls): Set the background to
45562 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45563
45564 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45565
45566 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45567 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45568
45569 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45570 prototype.
45571
45572 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45573 BG. The spec is wrong again.
45574
45575 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45576 prototype.
45577 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45578
45579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45580 commands/blocklist.c.
45581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45582
89a7d726 45583 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45584 (blocklist_mod_SOURCES): New variable.
45585 (blocklist_mod_CFLAGS): Likewise.
45586 (blocklist_mod_LDFLAGS): Likewise.
45587
75c8f258 455882006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45589
45590 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45591 duplication.
45592 (lba_mode): Use %eax more intensively to reduce the code size.
45593
da2eb181 455942006-05-20 Marco Gerards <marco@gnu.org>
45595
45596 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45597
45598 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45599 for `menuentry'.
45600 (script): Accept leading newlines.
45601 (newlines): New rule to describe 0 or more newlines.
45602 (commands): Accept `command' with trailing newline. Fixed the
45603 order in which arguments were passed to `grub_script_add_cmd'.
45604 Accept commands separated by newlines.
45605 (function): Changed to accept newlines.
45606 (menuentry) Rewritten.
45607
45608 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45609 front of the list, instead of to the end.
45610
577b4050 456112006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45612
45613 * util/i386/pc/grub-install.in (bindir): New variable.
45614 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45615 Shaver <lbgwjl@gmail.com>.
45616
0d6e1189 456172006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45618
45619 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45620 grub/machine/linux.h
45621 * loader/i386/pc/linux.c: Likewise.
45622
45623 * include/grub/i386/pc/linux.h: Moved to ...
45624 * include/grub/i386/linux.h: ... here.
45625
45626 * include/grub/i386/linux.h (struct linux_kernel_params): New
45627 struct.
f19dbdb7 45628
31b86e9f 456292006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45630
45631 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45632 checking.
45633 (grub_video_vbe_blit_glyph): Likewise.
45634 (grub_video_vbe_blit_bitmap): Likewise.
45635 (grub_video_vbe_blit_render_target): Likewise.
45636
83b984de 456372006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45638
45639 * configure.ac (--with-platform): Properly quote the square
45640 brackets.
45641
5f0413bd 456422006-05-08 Marco Gerards <marco@gnu.org>
45643
45644 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45645 this...
45646 (kernel_elf_HEADERS): ...to this. Updated all users.
45647 (grubof_symlist.c): Renamed from this...
45648 (kernel_elf_symlist.c): ...to this. Updated all users.
45649 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45650 (grubof_SOURCES): Renamed from this...
45651 (kernel_elf_SOURCES): ...to this.
45652 (grubof_HEADERS): Renamed from this...
45653 (kernel_elf_HEADERS): ...to this.
45654 (grubof_CFLAGS): Renamed from this...
45655 (kernel_elf_CFLAGS): ...to this.
45656 (grubof_ASFLAGS): Renamed from this...
45657 (kernel_elf_ASFLAGS): ...to this.
45658 (grubof_LDFLAGS): Renamed from this...
45659 (kernel_elf_LDFLAGS): ...to this.
45660
45661 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45662 this...
45663 (kernel_elf_HEADERS): ...to this. Updated all users.
45664 (grubof_symlist.c): Renamed from this...
45665 (kernel_elf_symlist.c): ...to this. Updated all users.
45666 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45667 (grubof_SOURCES): Renamed from this...
45668 (kernel_elf_SOURCES): ...to this.
45669 (grubof_HEADERS): Renamed from this...
45670 (kernel_elf_HEADERS): ...to this.
45671 (grubof_CFLAGS): Renamed from this...
45672 (kernel_elf_CFLAGS): ...to this.
45673 (grubof_ASFLAGS): Renamed from this...
45674 (kernel_elf_ASFLAGS): ...to this.
45675 (grubof_LDFLAGS): Renamed from this...
45676 (kernel_elf_LDFLAGS): ...to this.
45677
45678 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45679 `kernel.elf' instead of `grubof'.
45680
05568c2e 456812006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45682
45683 Add --with-platform to configure. Use pkglibdir instead of
45684 pkgdatadir. This is reported by Roger Leigh.
45685
45686 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45687 (host_vendor): Likewise.
45688 (host_os): Likewise.
45689 (pkgdatadir): Likewise.
45690 (platform): New variable.
45691 (pkglibdir): Likewise.
45692 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45693
05568c2e 45694 * util/i386/pc/grub-install.in (datadir): Removed.
45695 (host_vendor): Likewise.
45696 (host_os): Likewise.
45697 (pkgdatadir): Likewise.
45698 (platform): New variable.
45699 (pkglibdir): Likewise.
45700 Use PKGLIBDIR instead of PKGDATADIR.
45701
45702 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45703 instead of GRUB_DATADIR.
45704 (main): Likewise.
45705 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45706 (main): Likewise.
45707 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45708 (main): Likewise.
45709
45710 * configure.ac (--with-platform): New option.
45711 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45712
45713 * Makefile.in: Include a makefile based on PLATFORM instead of
45714 HOST_VENDOR.
45715 (pkgdatadir): Not appended by the machine type.
45716 (pkglibdir): Appended by the machine type.
45717 (host_vendor): Removed.
45718 (platform): New variable.
45719 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45720 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45721 (uninstall): Likewise.
45722
4e93851c 457232006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45724
45725 Use the environment context in the menu. Remove the commands
45726 "default" and "timeout", and use variables instead.
f19dbdb7 45727
4e93851c 45728 * normal/menu.c: Include grub/env.h.
45729 (print_entry): Cast TITLE to silence gcc.
45730 (get_timeout): New function.
45731 (set_timeout): Likewise.
45732 (get_entry_number): Likewise.
45733 (run_menu): Use a default entry, a fallback entry and a timeout
45734 in the environment variables "default", "fallback" and
45735 "timeout". Also, tweak the default entry if it is not within the
45736 current menu entries.
45737 (grub_menu_run): Use a fallback entry in the environment variable
45738 "fallback".
45739
45740 * normal/main.c (read_config_file): Do not initialize
45741 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45742 NEWMENU->TIMEOUT.
45743 (grub_normal_execute): Use a data slot to store the menu.
45744
45745 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45746 fallback_entry and timeout.
45747 (struct grub_menu_list): Removed.
45748 (grub_menu_list_t): Likewise.
45749 (struct grub_context): Likewise.
45750 (grub_context_t): Likewise.
45751 (grub_context_get): Likewise.
45752 (grub_context_get_current_menu): Likewise.
45753 (grub_context_push_menu): Likewise.
45754 (grub_context_pop_menu): Likewise.
45755 (grub_default_init): Likewise.
45756 (grub_default_fini): Likewise.
45757 (grub_timeout_init): Likewise.
45758 (grub_timeout_fini): Likewise.
45759
45760 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45761 and timeout.mod.
45762 (normal_mod_SOURCES): Removed normal/context.c.
45763
45764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45765 commands/default.c, commands/timeout.c and normal/context.c.
45766 (normal_mod_SOURCES): Removed normal/context.c.
45767
45768 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45769 commands/timeout.c and normal/context.c.
45770 (normal_mod_SOURCES): Removed normal/context.c.
45771
45772 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45773 commands/default.c, commands/timeout.c and normal/context.c.
45774 (normal_mod_SOURCES): Removed normal/context.c.
45775
45776 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45777 timeout.mod.
45778 (default_mod_SOURCES): Removed.
45779 (default_mod_CFLAGS): Likewise.
45780 (default_mod_LDFLAGS): Likewise.
45781 (timeout_mod_SOURCES): Removed.
45782 (timeout_mod_CFLAGS): Likewise.
45783 (timeout_mod_LDFLAGS): Likewise.
45784
45785 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45786 normal/context.c.
45787
45788 * commands/default.c: Removed.
45789 * commands/timeout.c: Likewise.
45790 * normal/context.c: Likewise.
45791
1eb9cc1d 457922006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45793
45794 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45795
385bd9c1 457962006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45797
45798 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45799 "next" to "prev" for readability.
45800 (struct grub_env_sorted_var): New struct.
45801 (grub_env_context): Renamed to ...
45802 (initial_context): ... this.
45803 (grub_env_var_context): Renamed to ...
45804 (current_context): ... this.
45805 (grub_env_find): Look only at CURRENT_CONTEXT.
45806 (grub_env_context_open): Rewritten to copy exported variables from
45807 previous context.
45808 (grub_env_context_close): Rewritten according to the new
45809 scheme. Also, add an assertion to prevent the initial context from
45810 removed.
45811 (grub_env_insert): Removed the code for the sorted list.
45812 (grub_env_remove): Likewise.
45813 (grub_env_export): Simply mark the variable with
45814 GRUB_ENV_VAR_GLOBAL.
45815 (grub_env_set): A cosmetic change for naming consistency.
45816 (grub_env_get): Likewise.
45817 (grub_env_unset): Likewise.
45818 (grub_env_iterate): Rewritten to sort variables within this
45819 function.
45820 (grub_register_variable_hook): Fixed for naming consistency. Call
45821 grub_env_find again, only if NAME is not found at the first time.
45822 (mangle_data_slot_name): New function.
45823 (grub_env_set_data_slot): Likewise.
45824 (grub_env_get_data_slot): Likewise.
45825 (grub_env_unset_data_slot): Likewise.
45826
45827 * include/grub/env.h (grub_env_var_type): New enum.
45828 (GRUB_ENV_VAR_LOCAL): New constant.
45829 (GRUB_ENV_VAR_GLOBAL): Likewise.
45830 (GRUB_ENV_VAR_DATA): Likewise.
45831 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45832 "type".
45833 (grub_env_set): Replace VAR with NAME for consistency.
45834 (grub_register_variable_hook): Likewise.
45835 (grub_env_export): Specify the name of the argument.
45836 (grub_env_set_data_slot): New prototype.
45837 (grub_env_get_data_slot): Likewise.
45838 (grub_env_unset_data_slot): Likewise.
45839
7f362539 458402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45841
45842 Extend the loader so that GRUB can accept a loader which comes
45843 back to GRUB when a loaded image exits. Also, this change adds
45844 support for a chainloader on EFI.
f19dbdb7 45845
7f362539 45846 * term/efi/console.c: Include grub/misc.h.
45847 (grub_console_checkkey): Display a scan code on the top for
45848 debugging. This will be removed once the EFI port gets stable.
45849 Correct the scan code mapping.
45850
45851 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45852 allocate memory from larger regions, in order to reduce the number
45853 of allocated regions. Otherwise, the MacOSX loader panics.
45854 (filter_memory_map): Avoid less than 1MB for compatibility with
45855 other loaders.
45856 (add_memory_regions): Allocate from the tail of a region, if
45857 possible, to avoid allocating a region near to 1MB, for the MacOSX
45858 loader.
45859
45860 * kern/efi/init.c (grub_efi_set_prefix): Specify
45861 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45862
45863 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45864 argument IMAGE_HANDLE and specify it to get a loaded image.
45865 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45866 grub_efi_get_loaded_image.
fe6b695a 45867 (grub_efi_get_filename): Divide the length by the size of
7f362539 45868 grub_efi_char16_t.
45869 (grub_efi_get_device_path): New function.
45870 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45871 the length by the size of grub_efi_char16_t for a file path device
45872 path node.
45873
45874 * kern/loader.c (grub_loader_noreturn): New variable.
45875 (grub_loader_set): Accept a new argument NORETURN. Set
45876 GRUB_LOADER_NORETURN to NORETURN.
45877 All callers changed.
45878 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45879 grub_machine_fini.
45880
45881 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45882 prototype.
45883 (grub_efi_get_loaded_image): Take an argument to specify an image
45884 handle.
45885
45886 * include/grub/loader.h (grub_loader_set): Added one more argument
45887 NORETURN.
45888
45889 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45890 instead of grub_efi_open_protocol.
45891 (grub_efidisk_get_device_name): Likewise.
45892 (grub_efidisk_close): Print a newline.
45893 (grub_efidisk_get_device_handle): Fixed to use
45894 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45895 GRUB_EFI_DEVICE_PATH_TYPE.
45896
45897 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45898 * kern/efi/efi.c (device_path_guid): ... here.
45899
45900 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45901 chain.mod.
45902 (kernel_mod_HEADERS): Added efi/disk.h.
45903 (_chain_mod_SOURCES): New variable.
45904 (_chain_mod_CFLAGS): Likewise.
45905 (_chain_mod_LDFLAGS): Likewise.
45906 (chain_mod_SOURCES): Likewise.
45907 (chain_mod_CFLAGS): Likewise.
45908 (chain_mod_LDFLAGS): Likewise.
45909
45910 * DISTLIST: Added include/grub/efi/chainloader.h,
45911 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45912
45913 * include/grub/efi/chainloader.h: New file.
45914 * loader/efi/chainloader.c: Likewise.
45915 * loader/efi/chainloader_normal.c: Likewise.
45916
c0111d6e 459172006-04-30 Marco Gerards <marco@gnu.org>
45918
45919 * commands/configfile.c (grub_cmd_source): New function.
45920 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45921 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45922
df5341da 459232006-04-30 Marco Gerards <marco@gnu.org>
45924
45925 * normal/execute.c (grub_script_execute_cmd): Change the return
45926 type to `grub_err_t'. Correctly return the error.
45927 (grub_script_execute_cmdline): In case a command line is not a
45928 command or a function, try to interpret it as an assignment.
45929
f85934bd 459302006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45931
45932 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45933 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45934 skip a node whose name is obviously invalid as UTF-16,
45935 i.e. contains a NUL character. Stop the iteration when the last
45936 directory entry is found. Instead of using the return value of
45937 grub_hfsplus_btree_iterate_node, store the value in RET and use
45938 it, because the iterator can be stopped by the last directory
45939 entry.
45940
8f8a2cf8 459412006-04-30 Marco Gerards <marco@gnu.org>
45942
45943 * include/grub/env.h (grub_env_export): New prototype. Reported
45944 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45945
a27e84ce 459462006-04-30 Marco Gerards <marco@gnu.org>
45947
45948 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45949 size of the extents in a catalog file record.
45950
eaef0553 459512006-04-29 Marco Gerards <marco@gnu.org>
45952
45953 * commands/configfile.c (grub_cmd_configfile): Execute the
45954 configfile within its own context.
45955
45956 * include/grub/env.h (grub_env_context_open): New prototype.
45957 (grub_env_context_close): Likewise.
45958
45959 * kern/env.c (grub_env): Removed.
45960 (grub_env_sorted): Likewise.
45961 (grub_env_context): New variable.
45962 (grub_env_var_context): Likewise.
45963 (grub_env_find): Search both the active context and the global
45964 context.
45965 (grub_env_context_open): New function.
45966 (grub_env_context_close): Likewise.
45967 (grub_env_insert): Likewise.
45968 (grub_env_remove): Likewise.
45969 (grub_env_export): Likewise.
45970 (grub_env_set): Changed to use helper functions to avoid code
45971 duplication.
45972 (grub_env_iterate): Rewritten so both the current context and the
45973 global context are being used.
45974
45975 * normal/command.c (export_command): New function.
45976 (grub_command_init): Register the `export' function.
45977
7b455f4d 459782006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45979
45980 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45981 explicitly to suppress gcc's warnings.
45982 * fs/fat.c (grub_fat_find_dir): Likewise.
45983 (grub_fat_label): Likewise.
45984 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45985 (grub_xfs_mount): Likewise.
45986 (grub_xfs_label): Likewise.
45987 * fs/affs.c (grub_affs_mount): Likewise.
45988 (grub_affs_label): Likewise.
45989 (grub_affs_iterate_dir): Likewise.
45990 * fs/sfs.c (grub_sfs_mount): Likewise.
45991 (grub_sfs_iterate_dir): Likewise.
45992 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45993 * fs/hfs.c (grub_hfs_mount): Likewise.
45994 (grub_hfs_cmp_catkeys): Likewise.
45995 (grub_hfs_find_dir): Likewise.
45996 (grub_hfs_dir): Likewise.
45997 (grub_hfs_label): Likewise.
45998 * fs/jfs.c (grub_jfs_mount): Likewise.
45999 (grub_jfs_opendir): Likewise.
46000 (grub_jfs_getent): Likewise.
46001 (grub_jfs_lookup_symlink): Likewise.
46002 (grub_jfs_label): Likewise.
46003 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46004 (grub_hfsplus_iterate_dir): Likewise.
46005 (grub_hfsplus_btree_iterate_node): Made static.
46006
46007 * util/grub-emu.c (prefix): New variable.
46008 (grub_machine_set_prefix): New function.
46009 (main): Do not set the environment variable "prefix" here. Only
46010 set PREFIX, which is used later by grub_machine_set_prefix.
46011
46012 * include/grub/video.h: Do not include grub/symbol.h.
46013 (grub_video_register): Not exported. This symbol is not defined in
46014 the kernel.
46015 (grub_video_unregister): Likewise.
46016 (grub_video_iterate): Likewise.
46017 (grub_video_setup): Likewise.
46018 (grub_video_restore): Likewise.
46019 (grub_video_get_info): Likewise.
46020 (grub_video_get_blit_format): Likewise.
46021 (grub_video_set_palette): Likewise.
46022 (grub_video_get_palette): Likewise.
46023 (grub_video_set_viewport): Likewise.
46024 (grub_video_get_viewport): Likewise.
46025 (grub_video_map_color): Likewise.
46026 (grub_video_map_rgb): Likewise.
46027 (grub_video_map_rgba): Likewise.
46028 (grub_video_fill_rect): Likewise.
46029 (grub_video_blit_glyph): Likewise.
46030 (grub_video_blit_bitmap): Likewise.
46031 (grub_video_blit_render_target): Likewise.
46032 (grub_video_scroll): Likewise.
46033 (grub_video_swap_buffers): Likewise.
46034 (grub_video_create_render_target): Likewise.
46035 (grub_video_delete_render_target): Likewise.
46036 (grub_video_set_active_render_target): Likewise.
46037
46038 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46039 Undefined.
46040 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46041
46042 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46043 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46044 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46045 instead of $(srcdir)/genkernsyms.sh.
46046
46047 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46048 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46049 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46050 instead of $(srcdir)/genkernsyms.sh.
46051
46052 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46053 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46054 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46055 instead of $(srcdir)/genkernsyms.sh.
46056
46057 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46058 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46059 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46060 instead of $(srcdir)/genkernsyms.sh.
46061
46062 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46063 genkernsyms.sh.
46064
46065 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46066 genkernsyms.sh.
46067 (gensymlist.sh): New target.
46068 (genkernsyms.sh): Likewise.
46069
46070 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46071 genkernsyms.sh.in and gensymlist.sh.in.
46072
46073 * genkernsyms.sh: Removed.
46074 * gensymlist.sh: Likewise.
f19dbdb7 46075
7b455f4d 46076 * genkernsyms.sh.in: New file.
46077 * gensymlist.sh.in: Likewise.
46078
1885bb27 460792006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46080
46081 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46082 clobber "prefix", since we may have already set it manually.
46083
71538dff 460842006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46085
46086 * kern/misc.c (abort): New alias for grub_abort.
46087
2965c7cc 460882006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46089
46090 A new machine-specific function "grub_machine_set_prefix" is
46091 defined. This is called after loading modules, so that a prefix
46092 initialization can use modules. Also, this change adds an
46093 intensive debugging feature for the memory manager via the
46094 configure option "--enable-mm-debug".
f19dbdb7 46095
2965c7cc 46096 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46097 PART.LEN.
46098
46099 * kern/sparc64/ieee1275/init.c (abort): Removed.
46100 (grub_stop): Likewise.
46101 (grub_exit): New function.
46102 (grub_set_prefix): Renamed to ...
46103 (grub_machine_set_prefix): ... this.
46104 (grub_machine_init): Do not call grub_set_prefix.
46105
46106 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46107 (grub_machine_set_prefix): ... this.
46108 (grub_machine_init): Do not call grub_set_prefix.
46109
46110 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46111 (grub_machine_init): Do not set the prefix here.
46112
46113 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46114
46115 * kern/efi/init.c: Include grub/mm.h.
46116 (grub_efi_set_prefix): New function.
46117
46118 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46119 (grub_efi_get_filename): New function.
46120 (grub_print_device_path): Renamed to ...
46121 (grub_efi_print_device_path): ... this.
46122
46123 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46124 [MM_DEBUG] (grub_realloc): Likewise.
46125 [MM_DEBUG] (grub_free): Likewise.
46126 [MM_DEBUG] (grub_memalign): Likewise.
46127 [MM_DEBUG] (grub_mm_debug): New variable.
46128 [MM_DEBUG] (grub_debug_malloc): New function.
46129 [MM_DEBUG] (grub_debug_free): New function.
46130 [MM_DEBUG] (grub_debug_realloc): New function.
46131 [MM_DEBUG] (grub_debug_memalign): New function.
46132
46133 * kern/misc.c (grub_abort): Print a newline to distinguish
46134 the message.
46135
46136 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46137 grub_set_root_dev after loading modules. This is necessary when
46138 setting a prefix depends on modules.
46139
46140 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46141 (grub_efi_print_device_path): ... this.
46142 (grub_efi_get_filename): New prototype.
46143 (grub_efi_set_prefix): Likewise.
46144
46145 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46146 and grub/disk.h.
46147 (grub_efidisk_get_device_handle): New prototype.
46148 (grub_efidisk_get_device_name): Likewise.
46149
46150 * include/grub/mm.h: Include config.h.
46151 (MM_DEBUG): Removed.
46152 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46153 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46154 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46155 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46156 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46157 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46158 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46159 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46160 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46161
46162 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46163
46164 * disk/efi/efidisk.c: Include grub/partition.h.
46165 (iterate_child_devices): New function.
46166 (add_device): First, compare only last device path nodes, so that
46167 devices are sorted by the types.
46168 (grub_efidisk_get_device_handle): New function.
46169 (grub_efidisk_get_device_name): Likewise.
46170
46171 * configure.ac (--enable-mm-debug): New option to enable the
46172 memory manager debugging feature. This makes the binary much
46173 bigger, so is disabled by default.
46174
9cacaa17 461752006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46176
46177 Use grub_abort instead of grub_stop, and grub_exit must be
46178 define in each architecture now. Also, this change adds support
46179 for EFI disks.
f19dbdb7 46180
9cacaa17 46181 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46182 (grub_getkey): New function.
46183 (grub_term_get_current): Likewise.
46184
46185 * util/i386/pc/grub-setup.c: Include grub/term.h.
46186 (grub_getkey): New function.
46187 (grub_term_get_current): Likewise.
46188
46189 * util/misc.c (grub_stop): Renamed to ...
46190 (grub_exit): ... this.
46191
46192 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46193 (grub_exit): ... this.
46194 (grub_machine_init): Use grub_abort instead of abort.
46195 (grub_stop): Removed.
46196
46197 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46198 abort.
46199
46200 * kern/i386/pc/startup.S (grub_exit): New function.
46201 (cold_reboot): New label.
46202
46203 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46204 (grub_efi_init): Call grub_efidisk_init.
46205 (grub_efi_fini): Call grub_efidisk_fini.
46206
46207 * kern/efi/efi.c: Include grub/mm.h.
46208 (grub_efi_console_control_guid): Renamed to ...
46209 (console_control_guid): ... this.
46210 (grub_efi_loaded_image_guid): Renamed to ...
46211 (loaded_image_guid): ... this.
46212 (grub_efi_locate_handle): New function.
46213 (grub_efi_open_protocol): Likewise.
46214 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46215 GRUB_EFI_CONSOLE_CONTROL_GUID.
46216 (grub_efi_exit): Removed.
46217 (grub_stop): Likewise.
46218 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46219 (grub_exit): New function.
46220 (grub_print_device_path): Likewise.
46221
46222 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46223 (grub_enter_rescue_mode): Register "exit".
46224
46225 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46226 (grub_abort): New function.
46227
46228 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46229
46230 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46231
46232 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46233
46234 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46235 (grub_print_device_path): New prototype.
46236 (grub_efi_locate_handle): Likewise.
46237 (grub_efi_open_protocol): Likewise.
46238
46239 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46240 * disk/efi/efidisk.c: Likewise.
46241
46242 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46243
46244 * include/grub/efi/console_control.h
46245 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46246
46247 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46248 last 8 bytes as an array.
46249 (GRUB_EFI_DISK_IO_GUID): New macro.
46250 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46251 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46252 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46253 grub_uint8_t.
46254 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46255 (struct grub_efi_device_path): Rename the member "sub_type" to
46256 "subtype".
46257 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46258 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46259 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46260 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46261 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46262 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46263 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46264 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46265 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46266 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46267 (struct grub_efi_pci_device_path): New structure.
46268 (grub_efi_pci_device_path_t): New type.
46269 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46270 (struct grub_efi_pccard_device_path): New structure.
46271 (grub_efi_pccard_device_path_t): New type.
46272 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46273 (struct grub_efi_memory_mapped_device_path): New structure.
46274 (grub_efi_memory_mapped_device_path_t): New type.
46275 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46276 (struct grub_efi_vendor_device_path): New structure.
46277 (grub_efi_vendor_device_path_t): New type.
46278 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46279 (struct grub_efi_controller_device_path): New structure.
46280 (grub_efi_controller_device_path_t): New type.
46281 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46282 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46283 (struct grub_efi_acpi_device_path): New structure.
46284 (grub_efi_acpi_device_path_t): New type.
46285 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46286 (struct grub_efi_expanded_acpi_device_path): New structure.
46287 (grub_efi_expanded_acpi_device_path_t): New type.
46288 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46289 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46290 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46291 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46292 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46293 (struct grub_efi_atapi_device_path): New structure.
46294 (grub_efi_atapi_device_path_t): New type.
46295 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46296 (struct grub_efi_fibre_channel_device_path): New structure.
46297 (grub_efi_fibre_channel_device_path_t): New type.
46298 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46299 (struct grub_efi_1394_device_path): New structure.
46300 (grub_efi_1394_device_path_t): New type.
46301 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46302 (struct grub_efi_usb_device_path): New structure.
46303 (grub_efi_usb_device_path_t): New type.
46304 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46305 (struct grub_efi_usb_class_device_path): New structure.
46306 (grub_efi_usb_class_device_path_t): New type.
46307 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46308 (struct grub_efi_i2o_device_path): New structure.
46309 (grub_efi_i2o_device_path_t): New type.
46310 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46311 (struct grub_efi_mac_address_device_path): New structure.
46312 (grub_efi_mac_address_device_path_t): New type.
46313 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46314 (struct grub_efi_ipv4_device_path): New structure.
46315 (grub_efi_ipv4_device_path_t): New type.
46316 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46317 (struct grub_efi_ipv6_device_path): New structure.
46318 (grub_efi_ipv6_device_path_t): New type.
46319 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46320 (struct grub_efi_infiniband_device_path): New structure.
46321 (grub_efi_infiniband_device_path_t): New type.
46322 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46323 (struct grub_efi_uart_device_path): New structure.
46324 (grub_efi_uart_device_path_t): New type.
46325 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46326 (struct grub_efi_vendor_messaging_device_path): New structure.
46327 (grub_efi_vendor_messaging_device_path_t): New type.
46328 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46329 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46330 (struct grub_efi_hard_drive_device_path): New structure.
46331 (grub_efi_hard_drive_device_path_t): New type.
46332 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46333 (struct grub_efi_cdrom_device_path): New structure.
46334 (grub_efi_cdrom_device_path_t): New type.
46335 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46336 (struct grub_efi_vendor_media_device_path): New structure.
46337 (grub_efi_vendor_media_device_path_t): New type.
46338 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46339 (struct grub_efi_file_path_device_path): New structure.
46340 (grub_efi_file_path_device_path_t): New type.
46341 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46342 (struct grub_efi_protocol_device_path): New structure.
46343 (grub_efi_protocol_device_path_t): New type.
46344 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46345 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46346 (struct grub_efi_bios_device_path): New structure.
46347 (grub_efi_bios_device_path_t): New type.
46348 (struct grub_efi_disk_io): New structure.
46349 (grub_efi_disk_io_t): New type.
46350 (struct grub_efi_block_io_media): New structure.
46351 (grub_efi_block_io_media_t): New type.
46352 (struct grub_efi_block_io): New structure.
46353 (grub_efi_block_io_t): New type.
46354
46355 * include/grub/misc.h (grub_stop): Removed.
46356 (grub_exit): New prototype.
46357 (grub_abort): Likewise.
46358
46359 * include/grub/disk.h (enum grub_disk_dev_id): Added
46360 GRUB_DISK_DEVICE_EFIDISK_ID.
46361
46362 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46363 disk/efi/efidisk.c.
46364 (kernel_syms.lst): Remove the target if an error occurs.
46365
49986a9f 463662006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46367
46368 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46369 as it was simply too buggy.
46370
970d3b8a 463712006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46372
46373 * kern/misc.c (grub_lltoa): New function.
46374 (grub_vsprintf): Added support for the long long suffix,
46375 i.e. "ll".
46376
ff04ec24 463772006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46378
46379 * Makefile.in (LDFLAGS): Add variable.
46380 (LD): Remove variable.
46381 * configure.ac: Add -m32 to LDFLAGS.
46382 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46383 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46384 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46385 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46386 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46387 variables.
46388 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46389 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46390 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46391
37e5e1a4 463922006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46393
46394 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46395 length for unknown glyph.
46396
c352d8dd 463972006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46398
2eab1c0d 46399 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46400
2eab1c0d 46401 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46402 completely. Accept one more argument DIR. The caller has changed.
46403
46404 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46405
46406 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46407 (grub_efi_loaded_image_guid): New variable.
46408 (grub_efi_get_loaded_image): New function.
46409 (grub_arch_modules_addr): Likewise.
46410
46411 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46412 prototype.
46413
46414 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46415 (struct grub_efi_loaded_image): New structure.
46416 (grub_efi_loaded_image_t): New type.
46417
464182006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46419
c352d8dd 46420 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46421 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46422 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46423
6d01d6b4 464242006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46425
46426 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46427
976a4ea0 464282006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46429
46430 * DISTLIST: Added include/grub/efi/console.h,
46431 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46432 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46433
46434 * include/grub/efi/console.h: New file.
46435 * include/grub/efi/time.h: Likewise.
46436 * include/grub/i386/efi/kernel.h: Likewise.
46437 * kern/efi/init.c: Likewise.
46438 * kern/efi/mm.c: Likewise.
46439 * term/efi/console.c: Likewise.
f19dbdb7 46440
976a4ea0 46441 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46442 (grub_stop): Removed.
46443 (grub_get_rtc): Likewise.
46444 (grub_machine_init): Simply call grub_efi_init.
46445 (grub_machine_fini): Call grub_efi_fini.
46446
46447 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46448 (grub_efi_output_string): Removed.
46449 (grub_efi_stall): New function.
46450 (grub_stop): Likewise.
46451 (grub_get_rtc): Likewise.
46452
46453 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46454 (grub_efi_stall): New prototype.
46455 (grub_efi_allocate_pages): Likewise.
46456 (grub_efi_free_pages): Likewise.
46457 (grub_efi_get_memory_map): Likewise.
46458 (grub_efi_mm_init): Likewise.
46459 (grub_efi_mm_fini): Likewise.
46460 (grub_efi_init): Likewise.
46461 (grub_efi_fini): Likewise.
46462
46463 * include/grub/i386/efi/time.h: Do not include
46464 grub/symbol.h. Include grub/efi/time.h.
46465 (GRUB_TICKS_PER_SECOND): Removed.
46466 (grub_get_rtc): Likewise.
46467
46468 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46469 Added padding. The EFI spec is buggy.
46470 (GRUB_EFI_BLACK): New macro.
46471 (GRUB_EFI_BLUE): Likewise.
46472 (GRUB_EFI_GREEN): Likewise.
46473 (GRUB_EFI_CYAN): Likewise.
46474 (GRUB_EFI_RED): Likewise.
46475 (GRUB_EFI_MAGENTA): Likewise.
46476 (GRUB_EFI_BROWN): Likewise.
46477 (GRUB_EFI_LIGHTGRAY): Likewise.
46478 (GRUB_EFI_BRIGHT): Likewise.
46479 (GRUB_EFI_DARKGRAY): Likewise.
46480 (GRUB_EFI_LIGHTBLUE): Likewise.
46481 (GRUB_EFI_LIGHTGREEN): Likewise.
46482 (GRUB_EFI_LIGHTCYAN): Likewise.
46483 (GRUB_EFI_LIGHTRED): Likewise.
46484 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46485 (GRUB_EFI_YELLOW): Likewise.
46486 (GRUB_EFI_WHITE): Likewise.
46487 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46488 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46489 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46490 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46491 (GRUB_EFI_BACKGROUND_RED): Likewise.
46492 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46493 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46494 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46495 (GRUB_EFI_TEXT_ATTR): Likewise.
46496
46497 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46498 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46499 (kernel_mod_HEADERS): Added efi/time.h.
46500
83709125 465012006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46502
46503 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46504 include/grub/efi/api.h, include/grub/efi/console_control.h,
46505 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46506 include/grub/i386/efi/time.h, kern/efi/efi.c,
46507 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46508 and util/i386/efi/grub-mkimage.c.
46509
46510 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46511
46512 * genmk.rb (PModule#rule): Do not export symbols if
46513 #{prefix}_EXPORTS is set to "no".
46514
46515 * conf/i386-efi.mk: New file.
46516 * conf/i386-efi.rmk: Likewise.
46517 * include/grub/efi/api.h: Likewise.
46518 * include/grub/efi/console_control.h: Likewise.
46519 * include/grub/efi/efi.h: Likewise.
46520 * include/grub/efi/pe32.h: Likewise.
46521 * include/grub/i386/efi/time.h: Likewise.
46522 * kern/efi/efi.c: Likewise.
46523 * kern/i386/efi/init.c: Likewise.
46524 * kern/i386/efi/startup.S: Likewise.
46525 * util/i386/efi/grub-mkimage.c: Likewise.
46526
465272006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46528
46529 * include/grub/script.h: Include <grub/parser.h> and
46530 "grub_script.tab.h".
46531 (struct grub_lexer_param): New struct.
46532 (struct grub_parser_param): Likewise.
46533 (grub_script_create_arglist): Pass the state in an argument.
46534 (grub_script_add_arglist): Likewise.
46535 (grub_script_create_cmdline): Likewise.
46536 (grub_script_create_cmdblock): Likewise.
46537 (grub_script_create_cmdif): Likewise.
46538 (grub_script_create_cmdmenu): Likewise.
46539 (grub_script_add_cmd): Likewise.
46540 (grub_script_arg_add): Likewise.
46541 (grub_script_lexer_ref): Likewise.
46542 (grub_script_lexer_deref): Likewise.
46543 (grub_script_lexer_record_start): Likewise.
46544 (grub_script_lexer_record_stop): Likewise.
46545 (grub_script_mem_record): Likewise.
46546 (grub_script_mem_record_stop): Likewise.
46547 (grub_script_malloc): Likewise.
46548 (grub_script_yylex): Likewise.
46549 (grub_script_yyparse): Likewise.
46550 (grub_script_yyerror): Likewise.
46551 (grub_script_yylex): Likewise.
46552 (grub_script_lexer_init): Return the state.
46553
46554 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46555 (grub_script_lexer_done): Likewise.
46556 (grub_script_lexer_getline): Likewise.
46557 (grub_script_lexer_refs): Likewise.
46558 (script): Likewise.
46559 (newscript): Likewise.
46560 (record): Likewise.
46561 (recording): Likewise.
46562 (recordpos): Likewise.
46563 (recordlen): Likewise.
46564 (grub_script_lexer_init): Return the state instead of setting
46565 global variables.
46566 (grub_script_lexer_ref): Use the newly added argument for state
46567 instead of globals.
46568 (grub_script_lexer_deref): Likewise.
46569 (grub_script_lexer_record_start): Likewise.
46570 (grub_script_lexer_record_stop): Likewise.
46571 (recordchar): Likewise.
46572 (nextchar): Likewise.
46573 (grub_script_yylex2): Likewise.
46574 (grub_script_yylex): Likewise.
46575 (grub_script_yyerror): Likewise.
46576
46577 * normal/parser.y (func_mem): Removed variable.
46578 (menu_entry): Likewise.
46579 (err): Likewise.
46580 (%lex-param): New parser option.
46581 (%parse-param): Likewise.
46582 (script): Always return the AST.
46583 (argument): Pass the state around.
46584 (arguments): Likewise.
46585 (grubcmd): Likewise.
46586 (commands): Likewise.
46587 (function): Likewise.
46588 (menuentry): Likewise.
46589 (if_statement): Likewise.
46590 (if): Likewise.
46591
46592 * normal/script.c (grub_script_memused): Removed variable.
46593 (grub_script_parsed): Likewise.
46594 (grub_script_malloc): Added a state argument. Use that instead of
46595 global variables.
46596 (grub_script_mem_record): Likewise.
46597 (grub_script_mem_record_stop): Likewise.
46598 (grub_script_arg_add): Likewise.
46599 (grub_script_add_arglist): Likewise.
46600 (grub_script_create_cmdline): Likewise.
46601 (grub_script_create_cmdif): Likewise.
46602 (grub_script_create_cmdmenu): Likewise.
46603 (grub_script_add_cmd): Likewise.
46604 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46605
e2a8c904 466062006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46607
46608 * normal/command.c (grub_command_init): Remove the title command.
46609
46610 * normal/lexer.c (grub_script_yylex): Renamed from this...
46611 (grub_script_yylex2): ... to this.
46612 (grub_script_yylex): New function. Temporary
46613 introduced to filter some tokens.
46614 (grub_script_yyerror): Print a newline.
46615
46616 * normal/main.c (read_config_file): Output information about the
46617 lines that contain errors. Wait for a key after all lines have
46618 been processed. Don't return an empty menu.
46619
46620 * normal/parser.y (func_mem): Don't initialize.
46621 (menu_entry): Likewise.
46622 (err): New variable.
46623 (script): Don't return anything when an error was encountered.
46624 (ws, returns): Removed rules.
46625 (argument): Disabled concatenated variable support.
46626 (arguments): Remove explicit separators.
46627 (grubcmd): Likewise.
46628 (function): Likewise.
46629 (menuentry): Likewise.
46630 (if): Likewise.
46631 (commands): Likewise. Add error handling.
46632
46633 * normal/script.c (grub_script_create_cmdline): If
46634 `grub_script_parsed' is 0, assume the parser encountered an error.
46635
c9a86192 466362006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46637
46638 * configure.ac: Add support for EFI. Fix the typo
46639 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46640
70f3b243 466412006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46642
46643 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46644 foreign multibyte characters should be shown correctly.
46645
65f201ad 466462006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46647
46648 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46649 calculation.
46650 (read_config_file): Made it to close file before returning.
46651
b4b93674 466522006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46653
46654 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46655 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46656 video/i386/pc/vbefill.c.
46657
46658 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46659 video/i386/pc/vbefill.c.
46660
46661 * include/grub/video.h (grub_video_blit_format): New enum.
46662 (grub_video_mode_info): Added new member blit_format.
46663 (grub_video_get_blit_format): New function prototype.
46664
46665 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46666 function prototype.
46667 (grub_video_vbe_map_rgb): Likewise.
46668 (grub_video_vbe_unmap_color): Likewise.
46669
46670 * include/grub/i386/pc/vbeblit.h: New file.
46671
46672 * include/grub/i386/pc/vbefill.h: New file.
46673
46674 * video/video.c (grub_video_get_blit_format): New function.
46675 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46676 (grub_video_vbe_map_rgb): Likewise.
46677 (grub_video_vbe_unmap_color): Likewise.
46678
46679 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46680 optimized fills.
46681 (grub_video_vbe_blit_render_target): Changed to use more optimized
46682 blits.
46683 (grub_video_vbe_setup): Added detection for optimized settings.
46684 (grub_video_vbe_create_render_target): Likewise.
46685
46686 * video/i386/pc/vbeblit.c: New file.
46687
46688 * video/i386/pc/vbefill.c: New file.
46689
c2379b9c 466902006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46691
46692 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46693 here...
46694
46695 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46696 parsing to support both hex and dec ranges. If filename was missing
46697 show usage information.
46698
bd0d7896 466992006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46700
46701 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46702 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46703
46704 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46705 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46706 (video_mod_SOURCES): Added.
46707 (video_mod_CFLAGS): Likewise.
46708 (video_mod_LDFLAGS): Likewise.
46709 (gfxterm_mod_SOURCES): Likewise.
46710 (gfxterm_mod_CFLAGS): Likewise.
46711 (gfxterm_mod_LDFLAGS): Likewise.
46712 (videotest_mod_SOURCES): Likewise.
46713 (videotest_mod_CFLAGS): Likewise.
46714 (videotest_mod_LDFLAGS): Likewise.
46715 (vesafb_mod_SOURCES): Removed.
46716 (vesafb_mod_CFLAGS): Likewise.
46717 (vesafb_mod_LDFLAGS): Likewise.
46718 (vga_mod_SOURCES): Likewise.
46719 (vga_mod_CFLAGS): Likewise.
46720 (vga_mod_LDFLAGS): Likewise.
46721
46722 * commands/videotest.c: New file.
46723
46724 * font/manager.c (fill_with_default_glyph): Modified to use
46725 grub_font_glyph.
46726 (grub_font_get_glyph): Likewise.
46727 (fontmanager): Renamed from this...
46728 (font_manager): ... to this.
46729
46730 * include/grub/font.h (grub_font_glyph): Added new structure.
46731 (grub_font_get_glyph): Modified to use grub_font_glyph.
46732
46733 * include/grub/misc.h (grub_abs): Added as inline function.
46734
46735 * include/grub/video.h: New file.
46736
46737 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46738 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46739 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46740 (grub_vbe_get_controller_info): Renamed from this...
46741 (grub_vbe_bios_get_controller_info): ... to this.
46742 (grub_vbe_get_mode_info): Renamed from this...
46743 (grub_vbe_bios_get_mode_info): ... to this.
46744 (grub_vbe_set_mode): Renamed from this...
46745 (grub_vbe_bios_set_mode): ... to this.
46746 (grub_vbe_get_mode): Renamed from this...
46747 (grub_vbe_bios_get_mode): ... to this.
46748 (grub_vbe_set_memory_window): Renamed from this...
46749 (grub_vbe_bios_set_memory_window): ... to this.
46750 (grub_vbe_get_memory_window): Renamed from this...
46751 (grub_vbe_bios_get_memory_window): ... to this.
46752 (grub_vbe_set_scanline_length): Renamed from this...
46753 (grub_vbe_set_scanline_length): ... to this.
46754 (grub_vbe_get_scanline_length): Renamed from this...
46755 (grub_vbe_bios_get_scanline_length): ... to this.
46756 (grub_vbe_set_display_start): Renamed from this...
46757 (grub_vbe_bios_set_display_start): ... to this.
46758 (grub_vbe_get_display_start): Renamed from this...
46759 (grub_vbe_bios_get_display_start): ... to this.
46760 (grub_vbe_set_palette_data): Renamed from this...
46761 (grub_vbe_bios_set_palette_data): ... to this.
46762 (grub_vbe_set_pixel_rgb): Removed.
46763 (grub_vbe_set_pixel_index): Likewise.
46764
46765 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46766 from this...
46767 (grub_vbe_bios_get_controller_info): ... to this.
46768 (grub_vbe_get_mode_info): Renamed from this...
46769 (grub_vbe_bios_get_mode_info): ... to this.
46770 (grub_vbe_set_mode): Renamed from this...
46771 (grub_vbe_bios_set_mode): ... to this.
46772 (grub_vbe_get_mode): Renamed from this...
46773 (grub_vbe_bios_get_mode): ... to this.
46774 (grub_vbe_set_memory_window): Renamed from this...
46775 (grub_vbe_bios_set_memory_window): ... to this.
46776 (grub_vbe_get_memory_window): Renamed from this...
46777 (grub_vbe_bios_get_memory_window): ... to this.
46778 (grub_vbe_set_scanline_length): Renamed from this...
46779 (grub_vbe_set_scanline_length): ... to this.
46780 (grub_vbe_get_scanline_length): Renamed from this...
46781 (grub_vbe_bios_get_scanline_length): ... to this.
46782 (grub_vbe_set_display_start): Renamed from this...
46783 (grub_vbe_bios_set_display_start): ... to this.
46784 (grub_vbe_get_display_start): Renamed from this...
46785 (grub_vbe_bios_get_display_start): ... to this.
46786 (grub_vbe_set_palette_data): Renamed from this...
46787 (grub_vbe_bios_set_palette_data): ... to this.
46788 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46789 getting corrupted after calling it. Added more pushes and pops.
46790 (grub_vbe_bios_set_mode): Likewise.
46791 (grub_vbe_bios_get_mode): Likewise.
46792 (grub_vbe_bios_get_memory_window): Likewise.
46793 (grub_vbe_bios_set_scanline_length): Likewise.
46794 (grub_vbe_bios_get_scanline_length): Likewise.
46795 (grub_vbe_bios_get_display_start): Likewise.
46796 (grub_vbe_bios_set_palette_data): Likewise.
46797
46798 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46799 (cl_insert): Likewise.
46800 (cl_delete): Likewise.
46801
46802 * term/gfxterm.c: New file.
46803
46804 * term/i386/pc/vesafb.c: Removed file.
46805
46806 * video/video.c: New file.
46807
46808 * video/i386/pc/vbe.c (real2pm): Added new function.
46809 (grub_video_vbe_draw_pixel): Likewise.
46810 (grub_video_vbe_get_video_ptr): Likewise.
46811 (grub_video_vbe_get_pixel): Likewise
46812 (grub_video_vbe_init): Likewise.
46813 (grub_video_vbe_fini): Likewise.
46814 (grub_video_vbe_setup): Likewise.
46815 (grub_video_vbe_get_info): Likewise.
46816 (grub_video_vbe_set_palette): Likewise.
46817 (grub_video_vbe_get_palette): Likewise.
46818 (grub_video_vbe_set_viewport): Likewise.
46819 (grub_video_vbe_get_viewport): Likewise.
46820 (grub_video_vbe_map_color): Likewise.
46821 (grub_video_vbe_map_rgb): Likewise.
46822 (grub_video_vbe_map_rgba): Likewise.
46823 (grub_video_vbe_unmap_color): Likewise.
46824 (grub_video_vbe_fill_rect): Likewise.
46825 (grub_video_vbe_blit_glyph): Likewise.
46826 (grub_video_vbe_blit_bitmap): Likewise.
46827 (grub_video_vbe_blit_render_target): Likewise.
46828 (grub_video_vbe_scroll): Likewise.
46829 (grub_video_vbe_swap_buffers): Likewise.
46830 (grub_video_vbe_create_render_target): Likewise.
46831 (grub_video_vbe_delete_render_target): Likewise.
46832 (grub_video_vbe_set_active_render_target): Likewise.
46833 (grub_vbe_set_pixel_rgb): Remove function.
46834 (grub_vbe_set_pixel_index): Likewise.
46835 (index_color_mode): Remove static variable.
46836 (active_mode): Likewise.
46837 (framebuffer): Likewise.
46838 (bytes_per_scan_line): Likewise.
46839 (grub_video_vbe_adapter): Added new static variable.
46840 (framebuffer): Likewise.
46841 (render_target): Likewise.
46842 (initial_mode): Likewise.
46843 (mode_in_use): Likewise.
46844 (mode_list): Likewise.
46845
5f97350b 468462006-03-10 Marco Gerards <marco@gnu.org>
46847
46848 * configure.ac (AC_INIT): Bumped to 1.93.
46849
46850 * DISTLIST: Added `include/grub/hfs.h'.
46851
a3c5c6f8 468522006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46853
46854 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46855 18H, which might help the BIOS falling back to next boot media.
46856
6de53d26 468572006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46858
46859 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46860 Poe Chen <poe.poechen@gmail.com>.
46861
77c4a393 468622006-01-17 Marco Gerards <marco@gnu.org>
46863
46864 * include/grub/normal.h: Include <grub/script.h>.
46865 (grub_command_list): Removed struct.
46866 (grub_command_list_t): Removed type.
46867 (grub_menu_entry): Remove members `num' and `command_list'. Add
46868 members `commands' and `sourcecode'.
46869 * include/grub/script.h: Add inclusion guards.
46870 (grub_script_cmd_menuentry): New struct.
46871 (grub_script_execute_menuentry): New prototype.
46872 (grub_script_lexer_record_start): Likewise.
46873 (grub_script_lexer_record_stop): Likewise.
46874 * normal/execute.c (grub_script_execute_menuentry): New function.
46875 * normal/lexer.c (record, recording, recordpos, recordlen): New
46876 variables.
46877 (grub_script_lexer_record_start): New function.
46878 (grub_script_lexer_record_stop): Likewise.
46879 (recordchar): Likewise.
46880 (nextchar): Likewise.
46881 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46882 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46883 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46884 (current_menu): New variable.
46885 (free_menu): Mainly rewritten.
46886 (grub_normal_menu_addentry): New function.
46887 (read_config_file): Rewritten.
46888 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46889 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46890 the menu entry.
46891 (run): Mainly rewritten.
46892 * normal/parser.y (menu_entry): New variable.
46893 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46894 (menuentry): New rule.
46895 (command): Add `menuentry'.
46896 (if_statement): Allow additional returns before `fi'.
46897 * normal/script.c (grub_script_create_cmdmenu): New function.
46898
144f1f98 468992006-01-03 Marco Gerards <marco@gnu.org>
46900
46901 * INSTALL: GNU Bison is required.
46902 * configure.ac: Rewritten the test to detect Bison.
46903 * Makefile.in (YACC): New variable. Reported by Xun Sun
46904 <xun.sun.cn@gmail.com>.
46905
af4b2d89 469062006-01-03 Marco Gerards <marco@gnu.org>
46907
46908 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46909 the HFS+ filesystem to filesystem blocks.
46910 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46911 GCC warning is silenced.
46912
15643b71 469132006-01-03 Marco Gerards <marco@gnu.org>
46914
46915 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46916 read from disk from big endian to host byte order.
46917
00905879 469182006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46919
46920 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46921 documentation.
46922 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46923 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46924 embedded HFS+ filesystem.
46925 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46926 (grub_hfs_sblock): Move from here...
46927 * include/grub/hfs.h: To here... New file.
46928 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46929 documentation.
46930 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46931 New macros.
46932 (grub_hfsplus_volheader): Change type of member `magic' to
46933 `grub_uint16_t'.
46934 (grub_hfsplus_data): Add new member `embedded_offset'.
46935 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46936 returned block.
46937 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46938 Calculate the offset.
46939
8899bc3e 469402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46941
46942 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46943 Removed.
46944 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46945
ae8c0277 469462005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46947
46948 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46949 ENV->NAME is NULL after allocating ENV->VALUE.
46950
07084456 469512005-12-25 Marco Gerards <marco@gnu.org>
46952
46953 * kern/env.c (grub_env_set): Rewritten the error handling code.
46954
4750f5f1 469552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46956
46957 * geninit.sh: Made more robust, and more portable.
46958
50214199 469592005-12-25 Marco Gerards <marco@gnu.org>
46960
46961 Add support for Apple HFS+ filesystems.
f19dbdb7 46962
50214199 46963 * fs/hfsplus.c: New file.
46964
46965 * DISTLIST: Added `fs/hfsplus.c'.
46966
46967 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46968 (hfsplus_mod_SOURCES): New variable.
46969 (hfsplus_mod_CFLAGS): Likewise.
46970 (hfsplus_mod_LDFLAGS): Likewise.
46971 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46972 (grub_setup_SOURCES): Likewise.
46973 (grub_mkdevicemap_SOURCES): Likewise.
46974 (grub_emu_SOURCES): Likewise.
46975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46976
46977 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46978
46979 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46980
befaed6c 469812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46982
46983 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46984 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46985 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46986 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46987 normal/lexer.c, normal/parser.y, normal/script.c, and
46988 partmap/gpt.c.
46989 Removed kern/sparc64/cache.c.
46990
46991 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46992 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46993 grub_emu_init.c.
46994
46995 * configure.ac (AC_INIT): Bumped to 1.92.
46996
6a124103 469972005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46998
46999 * kern/err.c (grub_error_push): Added new function to support error
47000 stacks.
47001 (grub_error_pop): Likewise.
47002 (grub_error_stack_items): New local variable to support error stacks.
47003 (grub_error_stack_pos): Likewise.
47004 (grub_error_stack_assert): Likewise.
47005 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47006 stack depth.
47007 (grub_print_error): Added support to print errors from error stack.
47008
47009 * include/grub/err.h (grub_error_push): Added function prototype.
47010 (grub_error_pop): Likewise.
47011
be973c1b 470122005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47013
47014 * configure.ac: Accept `powerpc64' as host_cpu.
47015 (amd64): Rename to `biarch32'.
47016
47017 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47018 non-cacheline-aligned addresses.
47019
47020 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47021 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47022 if `size' is non-zero.
47023
b04216ab 470242005-12-03 Marco Gerards <mgerards@xs4all.nl>
47025
47026 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47027 and `cd' to make sure the filename is not prefixed with a
47028 directory name.
47029 (pkgdata_MODULES): Add `gpt.mod'.
47030 (gpt_mod_SOURCES): New variable.
47031 (gpt_mod_CFLAGS): Likewise.
47032 (gpt_mod_LDFLAGS): Likewise.
47033
47034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47035
47036 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47037 New macro.
47038
47039 * partmap/gpt.c: New file.
47040
47041 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47042 GPT partition map is detected.
47043
41730ed9 470442005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47045
47046 * commands/i386/pc/play.c: New file.
47047 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47048 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47049 macros.
f19dbdb7 47050
95dc3643 470512005-11-27 Marco Gerards <mgerards@xs4all.nl>
47052
47053 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47054 ((unused))' to silence gcc warning.
47055
1569ec51 470562005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47057
47058 * configure.ac: Correct `AC_PROG_YACC' test.
47059
9abde152 470602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47061
47062 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47063 check before installing files.
47064
44b83271 470652005-11-22 Mike Small <smallm@panix.com>
47066
47067 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47068 number regex so multidigit numbers are recognized correctly.
47069
470702005-11-22 Mike Small <smallm@panix.com>
47071
47072 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47073 debugging message before attempting to claim memory.
47074 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47075 multiple addresses in case of failure.
47076
9c12956b 470772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47078
47079 * term/tparm.c (get_space): Remove empty `if' statement.
47080
47081 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47082
47083 * kern/parser.c (check_varstate): Rename `state' to 's'.
47084
aeaf81d9 470852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47086
47087 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47088 variable definitions to the beginning of each function. Sort stack
47089 variables by size.
47090 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47091 `buf' argument to `char *'.
47092
79bbb63f 470932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47094
47095 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47096 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47097 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47098 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47099 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47100 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47101 configfile.mod, search.mod, gzio.mod and test.mod.
47102 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47103 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47104 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47105 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47106 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47107 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47108 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47109 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47110 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47111 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47112 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47113 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47114 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47115 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47116 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47117 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47118 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47119 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47120 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47121 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47122 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47123 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47124 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47125
47126 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47127 `grep --include'.
47128 (pkgdata_MODULES): Add test.mod.
47129
233b1628 471302005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47131
47132 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47133 appending to variables with "+=".
47134 (PModule): Use full pathname to generate *.lst filenames.
47135
47136 * Makefile.in: Fixed list rules moved from genmk.rb.
47137 (.DELETE_ON_ERROR): New special target.
47138 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47139
47140 * conf/i386-pc.rmk: Include conf/common.mk.
47141 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47142 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47143 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47144 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47145 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47146 configfile.mod, search.mod, gzio.mod and test.mod.
47147 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47148 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47149 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47150 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47151 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47152 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47153 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47154 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47155 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47156 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47157 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47158 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47159 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47160 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47161 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47162 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47163 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47164 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47165 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47166 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47167 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47168 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47169 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47170 here...
47171 * conf/common.rmk: ... to here. New file.
47172
47173 * conf/common.mk: New file.
47174
16f820c8 471752005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47176
47177 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47178 (grub_script.tab.c): ... here.
47179
47180 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47181 (grub_script.tab.c): ... here.
47182
47183 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47184 (grub_script.tab.c): ... here.
47185
47186 * normal/command.c (grub_command_find): Fixed a memory leak of
47187 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47188
63ba1554 471892005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47190
47191 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47192 "@" which marks the start of a comment on ARM.
47193 (VARIABLE): Likewise.
47194
7f67dc13 471952005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47196
79bbb63f 47197 Add support for Linux/ADFS partition tables.
7f67dc13 47198
47199 * partmap/acorn.c: New file.
47200
47201 * include/grub/acorn_filecore.h: Likewise.
47202
47203 * DISTLIST: Added `partmap/acorn.c' and
47204 `include/grub/acorn_filecore.h'.
f19dbdb7 47205
7f67dc13 47206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47207 `partmap/acorn.c'.
47208 (pkgdata_MODULES): Add `acorn.mod'.
47209 (acorn_mod_SOURCES): New variable.
47210 (acorn_mod_CFLAGS): Likewise.
47211
47212 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47213 `partmap/acorn.c'.
47214 (pkgdata_MODULES): Add `acorn.mod'.
47215 (acorn_mod_SOURCES): New variable.
47216 (acorn_mod_CFLAGS): Likewise.
47217
47218 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47219 (pkgdata_MODULES): Add `acorn.mod'.
47220 (acorn_mod_SOURCES): New variable.
47221 (acorn_mod_CFLAGS): Likewise.
47222 (acorn_mod_LDFLAGS): Likewise.
47223
47224 * include/types.h (grub_disk_addr_t): New typedef.
47225
6d099807 472262005-11-13 Marco Gerards <mgerards@xs4all.nl>
47227
47228 * geninit.sh: New file.
47229
47230 * geninitheader.sh: Likewise.
47231
47232 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47233 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47234 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47235 * commands/configfile.c (grub_configfile_init)
47236 (grub_configfile_fini): Likewise.
47237 * commands/default.c (grub_default_init, grub_default_fini):
47238 Likewise.
47239 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47240 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47241 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47242 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47243 Likewise.
47244 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47245 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47246 Likewise.
47247 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47248 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47249 Likewise.
47250 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47251 Likewise.
fe6b695a 47252 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47253 Likewise.
47254 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47255 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47256 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47257 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47258 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47259 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47260 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47261 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47262 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47263 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47264 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47265 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47266 * partmap/amiga.c (grub_amiga_partition_map_init)
47267 (grub_amiga_partition_map_fini): Likewise.
47268 * partmap/apple.c (grub_apple_partition_map_init)
47269 (grub_apple_partition_map_fini): Likewise.
47270 * partmap/pc.c (grub_pc_partition_map_init)
47271 (grub_pc_partition_map_fini): Likewise.
47272 * partmap/sun.c (grub_sun_partition_map_init,
47273 grub_sun_partition_map_fini): Likewise.
47274 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47275 Likewise.
47276
47277 * util/grub-emu.c: Include <grub_modules_init.h>.
47278 (main): Don't initialize and de-initialize any modules directly,
47279 use `grub_init_all' and `grub_fini_all' instead.
47280
47281 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47282 `grub_vesafb_mod_init'.
47283 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47284 all users.
47285 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47286 `grub_vga_mod_init'. Updated all users.
47287 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47288
6d099807 47289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47290 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47291 rules.
47292
47293 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47294 Generate a function to initialize the module in utilities.
47295 Updated all callers.
47296 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47297 initialize the module in utilities. Updated all callers.
47298
9046bcf0 472992005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47300
47301 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47302 escape sequence and a literal ^L to clear the screen.
47303
47304 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47305 when returning from Open Firmware.
47306
d13ea639 473072005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47308
47309 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47310 (grub_ofconsole_height): Likewise.
47311 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47312 manually insert a '\n'.
47313 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47314 `grub_ofconsole_height'. Return early if these are already set.
47315
a8fcf206 473162005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47317
47318 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47319 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47320 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47321 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47322 and `normal/script.c'.
47323 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47324 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47325 (test_mod_SOURCES): New variable.
47326 (test_mod_CFLAGS): Likewise.
47327 (test_mod_LDFLAGS): Likewise.
47328 (pkgdata_MODULES): Add `test.mod'.
47329 (grub_script.tab.c): New rule.
47330 (grub_script.tab.h): Likewise.
47331
b6b32745 473322005-11-07 Marco Gerards <mgerards@xs4all.nl>
47333
47334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47335 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47336 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47337 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47338 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47339 (test_mod_SOURCES): New variable.
47340 (test_mod_CFLAGS): Likewise.
47341 (pkgdata_MODULES): Add `test.mod'.
47342 (grub_script.tab.c): New rule.
47343 (grub_script.tab.h): Likewise.
47344
daac212a 473452005-11-06 Marco Gerards <mgerards@xs4all.nl>
47346
47347 Add initial scripting support.
47348
47349 * commands/test.c: New file.
47350 * include/grub/script.h: Likewise.
47351 * normal/execute.c: Likewise.
47352 * normal/function.c: Likewise.
47353 * normal/lexer.c: Likewise.
47354 * normal/parser.y: Likewise.
47355 * normal/script.c: Likewise.
47356
47357 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47358
daac212a 47359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47360 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47361 `normal/function.c' and `normal/script.c'.
47362 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47363 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47364 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47365 variables.
daac212a 47366 (pkgdata_MODULES): Add `test.mod'.
47367 (grub_script.tab.c): New rule.
47368 (grub_script.tab.h): Likewise.
47369
47370 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47371
47372 * include/grub/normal.h (grub_test_init): New prototype.
47373 (grub_test_fini): Likewise.
f19dbdb7 47374
daac212a 47375 * normal/command.c: Include <grub/script.h>.
47376 (grub_command_execute): Rewritten.
f19dbdb7 47377
daac212a 47378 * util/grub-emu.c (main): Call `grub_test_init' and
47379 `grub_test_fini'.
47380
77500b2b 473812005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47382
47383 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47384 to 0.
47385 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47386 there are no pending characters.
47387
e45deb9e 473882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47389
47390 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47391 `grub_strndup' to drop device arguments. Replace unnecessary
47392 `grub_strndup' with `grub_strdup'.
47393
4ce32619 473942005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47395
47396 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47397 `debug' environment variable has been set.
47398
473992005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47400
4ce32619 47401 * Makefile.in (install-local): Use $(DATA).
47402 (uninstall): Likewise.
47403 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47404 (sbin_UTILITIES): ... to here.
47405 (sbin_SCRIPTS): New variable.
47406 (grub_install_SOURCES): New variable.
47407 * util/powerpc/ieee1275/grub-install.in: New file.
47408 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47409 variable.
47410 (add_segments): Call `grub_util_get_path'.
47411
25fe6f03 474122005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47413
47414 From Timothy Baldwin:
47415 * commands/ls.c (grub_ls_list_files): Close FILE with
47416 grub_file_close.
47417 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47418
04ccf3ec 474192005-10-24 Marco Gerards <mgerards@xs4all.nl>
47420
47421 * include/grub/parser.h: New file.
47422
47423 * kern/parser.c: Likewise.
47424
47425 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47426 (grub_setup_SOURCES): Likewise.
47427 (grub_probefs_SOURCES): Likewise.
47428 (grub_emu_SOURCES): Likewise.
47429 (kernel_img_HEADERS): Add `parser.h'.
47430
47431 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47432 (grub_emu_SOURCES): Add `kern/parser.c'.
47433 (grubof_SOURCES): Likewise.
47434
47435 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47436 (grubof_SOURCES): Add `kern/parser.c'.
47437
47438 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47439
47440 * kern/misc.c (grub_split_cmdline): Removed function.
47441
47442 * kern/rescue.c: Include <grub/parser.h>.
47443 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47444 of `grub_split_cmdline'.
47445
47446 * normal/command.c: Include <grub/parser.h>.
47447 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47448 of `grub_split_cmdline'.
47449
47450 * normal/completion.c: Include <grub/parser.h>.
47451 (cmdline_state): New variable.
47452 (iterate_dir): End the filename with a quote depending on the
47453 command line state.
47454 (get_state): new function.
47455 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47456 split the arguments and determine the current argument. When the
47457 argument string is not quoted, escape all spaces.
47458
6d8f4b0e 474592005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47460
47461 * normal/sparc64/setjmp.S: New file.
47462
15cf03ed 474632005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47464
47465 * include/grub/sparc64/libgcc.h: New file.
47466 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47467 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47468 normal/sparc64/setjmp.c.
47469
03e8661a 474702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47471
47472 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47473 * kern/sparc64/cache.S: New file.
47474 * kern/sparc64/cache.c: Removed.
47475 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47476 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47477 -mtune=ultrasparc.
47478 (COMMON_LDFLAGS): Add -melf64_sparc.
47479 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47480 (grubof_SOURCES): Use cache.S instead of cache.c.
47481 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47482 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47483 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47484 commented though.
47485 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47486 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47487 (linux_mod_CFLAGS): Commented out.
47488 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47489 out because module isn't built.
47490 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47491 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47492 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47493 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47494 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47495 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47496 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47497 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47498 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47499 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47500 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47501 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47502 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47503 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47504
34eeec8a 475052005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47506
47507 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47508 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47509 longer, because HFS should not be used on PC.
47510
708367a3 475112005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47512
47513 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47514 consistently within the loop.
47515
6fa1251a 475162005-10-15 Marco Gerards <mgerards@xs4all.nl>
47517
47518 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47519 directory can not be read.
47520
4801580b 475212005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47522
47523 * configure.ac (AC_INIT): Increase the version number to 1.91.
47524
47525 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47526 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47527 term/i386/pc/serial.c.
47528
219ad426 475292005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47530
47531 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47532 file size must be permitted.
47533
47534 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47535 between %ah and %al.
47536
688e5699 475372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47538
47539 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47540 grub_uint64_t.
47541 Call the hook with a NUL-terminated filename.
47542 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47543 grub_cpu_to_be32.
47544
47545 * kern/term.c (cursor_state): New variable.
47546 (grub_term_set_current): Reset the cursor state on a new
47547 terminal.
47548 (grub_setcursor): Rewritten to use CURSOR_STATE.
47549 (grub_getcursor): New function.
47550
47551 * include/grub/term.h (grub_getcursor): New prototype.
47552
47553 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47554 integers on ARM. Reported by Timothy Baldwin
47555 <T.E.Baldwin99@members.leeds.ac.uk>.
47556
bb34586c 475572005-10-11 Marco Gerards <mgerards@xs4all.nl>
47558
47559 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47560 allocated.
47561 (grub_sfs_dir): Likewise.
47562
9a909877 475632005-10-09 Marco Gerards <mgerards@xs4all.nl>
47564
47565 Add support for the SFS filesystem.
47566
47567 * fs/sfs.c: New file.
47568
47569 * DISTLIST: Added `fs/sfs.c'.
47570
47571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47572 (grub_probefs_SOURCES): Likewise.
47573 (grub_emu_SOURCES): Likewise.
47574 (pkgdata_MODULES): Add `sfs.mod'.
47575 (sfs_mod_SOURCES): New variable.
47576 (sfs_mod_CFLAGS): Likewise.
47577 (sfs_mod_LDFLAGS): Likewise.
47578
47579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47580 (pkgdata_MODULES): Add `sfs.mod'.
47581 (sfs_mod_SOURCES): New variable.
47582 (sfs_mod_CFLAGS): Likewise.
47583
47584 * util/grub-emu.c (main): Call `grub_sfs_init' and
47585 `grub_sfs_fini'.
47586
47587 * include/grub/fs.h (grub_sfs_init): New prototype.
47588 (grub_sfs_fini): Likewise.
47589
57bdbde3 475902005-10-07 Marco Gerards <mgerards@xs4all.nl>
47591
47592 Add support for the AFFS filesystem.
47593
47594 * fs/affs.c: New file.
47595
47596 * DISTLIST: Added `fs/affs.c'.
47597
47598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47599 (grub_probefs_SOURCES): Likewise.
47600 (grub_emu_SOURCES): Likewise.
47601 (pkgdata_MODULES): Add `affs.mod'.
47602 (affs_mod_SOURCES): New variable.
47603 (affs_mod_CFLAGS): Likewise.
47604 (affs_mod_LDFLAGS): Likewise.
47605
47606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47607 (pkgdata_MODULES): Add `affs.mod'.
47608 (affs_mod_SOURCES): New variable.
47609 (affs_mod_CFLAGS): Likewise.
47610
47611 * util/grub-emu.c (main): Call `grub_affs_init' and
47612 `grub_affs_fini'.
47613
47614 * include/grub/fs.h (grub_affs_init): New prototype.
47615 (grub_affs_fini): Likewise.
47616
047b67e0 476172005-10-01 Marco Gerards <mgerards@xs4all.nl>
47618
47619 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47620
59b8208a 476212005-10-01 Marco Gerards <mgerards@xs4all.nl>
47622
47623 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47624 `-m32' to CFLAGS.
47625
47626 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47627 linking.
f19dbdb7 47628
59b8208a 47629 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47630 (COMMON_LDFLAGS): New variable.
47631 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47632 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47633 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47634 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47635 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47636 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47637 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47638 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47639 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47640 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47641 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47642 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47643 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47644 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47645 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47646 variables.
47647 (normal_mod_ASFLAGS): Add `-m32'.
47648
47649 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47650 (grub_host_size_t, grub_host_ssize_t): New types.
47651 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47652 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47653 `GRUB_HOST_SIZEOF_VOID_P'.
47654
47655 * include/grub/kernel.h (struct grub_module_header): Type of
47656 member offset changed to `grub_host_off_t'. Type of member size
47657 changed to `grub_host_size_t'.
47658 (struct grub_module_info): Type of member offset changed to
47659 `grub_host_off_t'. Type of member size changed to
47660 `grub_host_size_t'.
47661
b4093103 476622005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47663
47664 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47665
b4093103 47666 * kern/i386/pc/startup.S (multiboot_header): New label.
47667 (multiboot_entry): Likewise.
47668 (multiboot_trampoline): Likewise.
47669
47670 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47671 Increased to 0x4A0.
47672
47673 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47674 put parentheses after a question mark.
47675 [!GRUB_UTIL] (my_mod): New variable.
47676
47677 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47678
b2499b29 476792005-09-28 Marco Gerards <mgerards@xs4all.nl>
47680
47681 Adds support for the XFS filesystem. Btrees are not supported
47682 yet.
47683
47684 * fs/xfs.c: New file.
47685
47686 * DISTLIST: Added `fs/xfs.c'.
47687
47688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47689 (grub_probefs_SOURCES): Likewise.
47690 (grub_emu_SOURCES): Likewise.
47691 (pkgdata_MODULES): Add `xfs.mod'.
47692 (xfs_mod_SOURCES): New variable.
47693 (xfs_mod_CFLAGS): Likewise.
47694
47695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47696 (pkgdata_MODULES): Add `xfs.mod'.
47697 (xfs_mod_SOURCES): New variable.
47698 (xfs_mod_CFLAGS): Likewise.
47699
47700 * util/grub-emu.c (main): Call `grub_xfs_init' and
47701 `grub_xfs_fini'.
47702
47703 * include/grub/fs.h (grub_xfs_init): New prototype.
47704 (grub_xfs_fini): Likewise.
47705
f19dbdb7 47706
83d37a62 477072005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47708
47709 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47710 color modes, allow greater than 16 colors to be configured as
47711 a default palette.
47712
47d2d65e 477132005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47714
47715 * normal/completion.c (complete_arguments): Add the qualifier
47716 const into OPTIONS.
47717
47718 From Omniflux <omniflux+lists@omniflux.com>:
47719 * include/grub/terminfo.h: New file.
47720 * include/grub/tparm.h: Likewise.
47721 * include/grub/i386/pc/serial.h: Likewise.
47722 * term/terminfo.c: Likewise.
47723 * term/tparm.c: Likewise.
47724 * term/i386/pc/serial.c: Likewise.
47725 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47726 serial.mod.
47727 (terminfo_mod_SOURCES): New variable.
47728 (terminfo_mod_CFLAGS): Likewise.
47729 (serial_mod_SOURCES): Likewise.
47730 (serial_mod_CFLAGS): Likewise.
47731
48b671ff 477322005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47733
47734 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47735 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47736 and kern/powerpc/ieee1275/cmain.c, respectively.
47737
47738 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47739 * kern/powerpc/ieee1275/crt0.S: ... here.
47740
47741 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47742 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47743
48b671ff 47744 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47745 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47746 instead of boot/powerpc/ieee1275/crt0.S and
47747 boot/powerpc/ieee1275/cmain.c, respectively.
47748
47749 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47750 sectors. It was not used anyway.
47751
09fc77a7 477522005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47753
47754 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47755 `unused parameter' warning.
47756
003789c7 477572005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47758
47759 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47760 function.
47761 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47762 getcharwidth.
47763
67f44c86 477642005-08-28 Marco Gerards <metgerards@student.han.nl>
47765
47766 * include/grub/normal.h (enum grub_completion_type): Added
47767 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47768
47769 * normal/cmdline.c (print_completion): Handle
47770 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47771 * normal/menu_entry.c (store_completion): Likewise.
47772
47773 * normal/completion.c (complete_arguments): New function.
47774 (grub_normal_do_completion): Call `complete_arguments' when the
47775 current words start with a dash.
47776
0b5abe02 477772005-08-27 Marco Gerards <metgerards@student.han.nl>
47778
47779 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47780 `gzio.mod' instead of `io.mod').
47781
d9864ee1 477822005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47783
47784 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47785 (DISTDIRS): Added io and video.
47786 Rewrite the search routine to make an output consistently.
47787
47788 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47789 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47790 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47791 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47792 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47793 util/powerpc/ieee1275/misc.c.
f19dbdb7 47794
d9864ee1 47795 * include/grub/gzio.h: New file.
47796 * io/gzio.c: Likewise.
f19dbdb7 47797
d9864ee1 47798 * kern/file.c (grub_file_close): Call grub_device_close only if
47799 FILE->DEVICE is not NULL.
47800
47801 * include/grub/mm.h [!NULL] (NULL): New macro.
47802
47803 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47804
47805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47806 (pkgdata_MODULES): Added gzio.mod.
47807 (gzio_mod_SOURCES): New variable.
47808 (gzio_mod_CFLAGS): Likewise.
47809
47810 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47811 (pkgdata_MODULES): Added gzio.mod.
47812 (gzio_mod_SOURCES): New variable.
47813 (gzio_mod_CFLAGS): Likewise.
47814
47815 * commands/cat.c: Include grub/gzio.h.
47816 (grub_cmd_cat): Use grub_gzfile_open instead of
47817 grub_file_open.
f19dbdb7 47818
d9864ee1 47819 * commands/cmp.c: Include grub/gzio.h.
47820 (grub_cmd_cmp): Use grub_gzfile_open instead of
47821 grub_file_open.
47822
47823 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47824 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47825 grub_file_open.
47826 (grub_rescue_cmd_module): Likewise.
47827
fa46f4b5 478282005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47829
47830 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47831 kern/sparc64/ieee1275/init.c because it contains _start.
47832 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47833
e9211b5d 478342005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47835
47836 * configure.ac: Add support for sparc64 host with ieee1275
47837 firmware.
47838 * configure: Generated from configure.ac.
47839 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47840 instead of int.
47841 (grub_ofdisk_read): Likewise.
47842 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47843 pointers as (void *) to remove a warning.
47844 (grub_ofdisk_close): Likewise.
47845 (grub_ofdisk_read): Likewise.
47846 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47847 returns, so make it return void to remove a warning.
47848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47849 Corresponding prototype change.
47850 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47851 values, and cast the pointers as (void *) to remove a warning.
47852 (grub_mm_dump): Likewise.
47853 * conf/sparc64-ieee1275.mk: New file.
47854 * conf/sparc64-ieee1275.rmk: Likewise.
47855 * include/grub/sparc64/setjmp.h: Likewise.
47856 * include/grub/sparc64/types.h: Likewise.
47857 * include/grub/sparc64/ieee1275/console.h: Likewise.
47858 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47859 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47860 * include/grub/sparc64/ieee1275/time.h: Likewise.
47861 * kern/sparc64/cache.c: Likewise.
47862 * kern/sparc64/dl.c: Likewise.
47863 * kern/sparc64/ieee1275/init.c: Likewise.
47864 * kern/sparc64/ieee1275/openfw.c: Likewise.
47865
385c6a92 478662005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47867
47868 * util/console.c (grub_ncurses_putchar): If C is greater than
47869 0x7f, set C to a question mark.
47870 (grub_ncurses_getcharwidth): New function.
47871 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47872 getcharwidth.
47873
47874 * normal/menu.c (print_entry): Made aware of Unicode. First,
47875 convert TITLE to UCS-4, and predict the cursor position by
47876 grub_getcharwidth.
47877
47878 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47879 const to SRC.
47880 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47881
16ccb8b1 478822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47883
47884 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47885 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47886 grub_strcat.
47887
47888 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47889 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47890 grub_strcpy and grub_strlen. Take it into account that a space
47891 character is inserted as a delimiter.
47892
6a85ce79 478932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47894
47895 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47896 invalid magic in the error.
6a85ce79 47897
47898 * commands/search.c: New file.
f19dbdb7 47899
6a85ce79 47900 * util/grub-emu.c (main): Call grub_search_init and
47901 grub_search_fini.
47902
47903 * kern/rescue.c (grub_rescue_print_disks): Removed.
47904 (grub_rescue_print_devices): New function.
47905 (grub_rescue_cmd_ls): Use grub_device_iterate with
47906 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47907 grub_rescue_print_disks.
47908
47909 * kern/partition.c (grub_partition_iterate): Return the result of
47910 PARTMAP->ITERATE instead of GRUB_ERRNO.
47911
47912 * kern/device.c: Include grub/partition.h.
47913 (grub_device_iterate): New function.
47914
47915 * include/grub/partition.h (grub_partition_iterate): Return int
47916 instead of grub_err_t.
47917
47918 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47919 prototype.
47920 [GRUB_UTIL] (grub_search_fini): Likewise.
47921
47922 * include/grub/device.h (grub_device_iterate): New prototype.
47923
47924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47925 commands/search.c.
47926 (pkgdata_MODULES): Added search.mod.
47927 (search_mod_SOURCES): New variable.
47928 (search_mod_CFLAGS): Likewise.
47929
47930 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47931 (pkgdata_MODULES): Added search.mod.
47932 (search_mod_SOURCES): New variable.
47933 (search_mod_CFLAGS): Likewise.
47934
47935 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47936 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47937 All callers changed.
47938
47939 * DISTLIST: Added commands/search.c.
47940
ef095434 479412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47942
47943 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47944 conversion.
47945 (grub_getcharwidth): New function.
47946
47947 * kern/misc.c (grub_utf8_to_ucs4): New function.
47948
47949 * include/grub/term.h (struct grub_term): Added a new member
47950 "getcharwidth".
47951 (grub_getcharwidth): New prototype.
47952
47953 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47954
47955 * term/i386/pc/console.c (map_char): New function. Segregated from
47956 grub_console_putchar.
47957 (grub_console_putchar): Use map_char.
47958 (grub_console_getcharwidth): New function.
47959 (grub_console_term): Specified grub_console_getcharwidth as
47960 getcharwidth.
47961
47962 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47963 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47964
47965 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47966 GRUB_ERRNO.
47967 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47968 on grub_strtoul completely.
47969 (write_char): Declare local variables in the beginning of the
47970 function.
47971 (grub_vesafb_getcharwidth): New function.
47972 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47973 getcharwidth.
47974
1f0a95e4 479752005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47976
47977 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47978 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47979 commands/i386/pc/vbetest.c.
47980
47981 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47982 call grub_vbe_get_controller_info again, because the returned
47983 information is volatile.
47984 (grub_vbe_set_video_mode): Mostly rewritten.
47985 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47986 grub_vbe_status_t correctly.
47987 (grub_vbe_get_video_mode_info): Likewise.
47988 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47989 several if statements.
47990
47991 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47992 * commands/i386/pc/vbeinfo.c: ... this.
47993
47994 * commands/i386/pc/vbe_test.c: Renamed to ...
47995 * commands/i386/pc/vbetest.c: ... this.
47996
47997 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47998 ...
47999 (grub_cmd_vbeinfo): ... this. Save video modes before
48000 iterating. Skip a video mode, if it is not available, not enough
48001 information is given or it is monochrome. Show the memory
48002 model. Leave the interpretation of MODEVAR to grub_strtoul
48003 completely.
48004 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48005 (GRUB_MOD_FINI): Likewise.
48006
48007 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48008 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48009 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48010 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48011 grub_strtoul completely.
48012 (real2pm): Removed.
48013 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48014 (GRUB_MOD_FINI): Likewise.
48015
48016 * normal/misc.c: Include grub/mm.h.
48017
48018 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48019 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48020 (vbe_list_modes_mod_SOURCES): Removed.
48021 (vbe_list_modes_mod_CFLAGS): Likewise.
48022 (vbe_test_mod_SOURCES): Likewise.
48023 (vbe_test_mod_CFLAGS): Likewise.
48024 (vbeinfo_mod_SOURCES): New variable.
48025 (vbeinfo_mod_CFLAGS): Likewise.
48026 (vbetest_mod_SOURCES): Likewise.
48027 (vbetest_mod_CFLAGS): Likewise.
48028
992ffbbe 480292005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48030
48031 * normal/misc.c: New file.
48032
48033 * DISTLIST: Added normal/misc.c.
f19dbdb7 48034
992ffbbe 48035 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48036 DISK to HOOK. Call HOOK with DISK.
48037 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48038 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48039 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48040
48041 * normal/menu_entry.c (struct screen): Added a new member
48042 "completion_shown".
48043 (completion_buffer): New global variable.
48044 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48045 (store_completion): New function.
48046 (complete): Likewise.
48047 (clear_completions): Likewise.
48048 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48049 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48050 a tab, call complete.
48051
48052 * normal/completion.c (disk_dev): Removed.
48053 (print_simple_completion): Likewise.
48054 (print_partition_completion): Likewise.
48055 (print_func): New global variable.
48056 (add_completion): Do not take the arguments WHAT or PRINT any
48057 longer. Added a new argument TYPE. Instead of printing directly,
48058 call PRINT_FUNC if not NULL.
48059 All callers changed.
48060 (complete_device): Use a local variable DEV instead of
48061 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48062 (grub_normal_do_completion): Take a new argument HOOK. Do not
48063 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48064 empty string, return NULL instead.
48065 All callers changed.
48066
48067 * normal/cmdline.c (print_completion): New function.
48068
48069 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48070 to HOOK.
48071 All callers changed.
48072
48073 * kern/disk.c (grub_print_partinfo): Removed.
48074
48075 * include/grub/partition.h (struct grub_partition_map): Add a new
48076 argument DISK into HOOK of ITERATE.
48077 (grub_partition_iterate): Add a new argument DISK to HOOK.
48078
48079 * include/grub/normal.h (enum grub_completion_type): New enum.
48080 (grub_completion_type_t): New type.
48081 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48082 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48083 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48084 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48085 (grub_normal_do_completion): Added a new argument HOOK.
48086 (grub_normal_print_device_info): New prototype.
48087
48088 * include/grub/disk.h (grub_print_partinfo): Removed.
48089
48090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48091 (normal_mod_SOURCES): Likewise.
48092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48093 (normal_mod_SOURCES): Likewise.
48094
48095 * commands/ls.c (grub_ls_list_disks): Use
48096 grub_normal_print_device_info instead of grub_print_partinfo. Free
48097 PNAME.
48098 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48099 duplicating the code.
48100
0bd41162 481012005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48102
48103 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48104 follow GCS more precisely.
48105 * commands/i386/pc/vbe_test.c: Likewise.
48106 * include/grub/i386/pc/vbe.h: Likewise.
48107 * term/i386/pc/vesafb.c: Likewise.
48108 * video/i386/pc/vbe.c: Likewise.
0bd41162 48109
6323696a 481102005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48111
48112 * DISTLIST: Added term/i386/pc/vesafb.c
48113 DISTLIST: Added video/i386/pc/vbe.c
48114 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48115 DISTLIST: Added commands/i386/pc/vbe_test.c.
48116 * commands/i386/pc/vbe_list_modes.c: New file.
48117 * commands/i386/pc/vbe_test.c: Likewise.
48118 * term/i386/pc/vesafb.c: Likewise.
48119 * video/i386/pc/vbe.c: Likewise.
48120 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48121 (grub_vbe_probe) Added prototype.
48122 (grub_vbe_set_video_mode) Likewise.
48123 (grub_vbe_get_video_mode) Likewise.
48124 (grub_vbe_get_video_mode_info) Likewise.
48125 (grub_vbe_set_pixel_rgb) Likewise.
48126 (grub_vbe_set_pixel_index) Likewise.
48127 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48128 (pkgdata_MODULES): Added vesafb.mod.
48129 (pkgdata_MODULES): Added vbe_list_modes.mod.
48130 (pkgdata_MODULES): Added vbe_test.mod.
48131 (vbe_mod_SOURCES): Added.
48132 (vbe_mod_CFLAGS): Likewise.
48133 (vesafb_mod_SOURCES): Likewise.
48134 (vesafb_mod_CFLAGS): Likewise.
48135 (vbe_list_modes_mod_SOURCES): Likewise.
48136 (vbe_list_modes_mod_CFLAGS): Likewise.
48137 (vbe_test_mod_SOURCES): Likewise.
48138 (vbe_test_mod_CFLAGS): Likewise.
48139
0a74e62f 481402005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48141
0a74e62f 48142 * normal/command.c (grub_command_execute): If INTERACTIVE is
48143 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48144 CMDLINE. Disable the pager if INTERACTIVE is true.
48145 All callers are changed.
48146
48147 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48148 before reading a config file.
48149 * normal/main.c (read_config_file): Even if a command is not
48150 found, register it if it is within an entry.
48151
48152 * util/grub-emu.c: Include sys/types.h and unistd.h.
48153 (options): Added --hold.
48154 (struct arguments): Added a new member "hold".
48155 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48156 missing.
48157 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48158 cleared by a debugger, if it is not zero.
48159
48160 * include/grub/normal.h (grub_command_execute): Add an argument
48161 INTERACTIVE.
48162
e51f85ae 481632005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48164
48165 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48166
e9c6f39b 481672005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48168
48169 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48170 program with another one, because the old one didn't detect a bug
48171 in gcc-3.4. Always use regparm 2, because the new test is still
48172 not enough for gcc-4.0. Someone must investigate a simple test
48173 case which detects a bug in gcc-4.0.
48174
8de3495c 481752005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48176
48177 * DISTLIST: Added normal/completion.c.
48178
48179 * normal/completion.c: New file.
f19dbdb7 48180
8de3495c 48181 * term/i386/pc/console.c (grub_console_getwh): New function.
48182 (grub_console_term): Assign grub_console_getwh to getwh.
48183
48184 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48185 function is defined in normal/completion.c as
48186 grub_normal_do_completion.
48187 (grub_cmdline_get): Use grub_normal_do_completion instead of
48188 grub_tab_complete.
48189
48190 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48191 returns non-zero, otherwise return 0.
48192 (grub_partition_iterate): First, probe the partition map. Then,
48193 call ITERATE only for this partition map.
48194
48195 * kern/misc.c (grub_strncmp): Rewritten.
48196
48197 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48198 returns non-zero. Otherwise return 0.
48199
48200 * include/grub/partition.h (grub_partition_map_iterate): Return
48201 int instead of void.
48202
48203 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48204
48205 * include/grub/misc.h (grub_strncmp): Change the type of N to
48206 grub_size_t.
48207
48208 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48209 of void.
48210
48211 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48212 unsigned explicitly before comparing it with I.
8de3495c 48213
48214 * kern/main.c (grub_env_write_root): Add the attribute unused into
48215 VAR.
48216
48217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48218 normal/completion.c.
48219 (normal_mod_SOURCES): Likewise.
48220 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48221 (normal_mod_SOURCES): Likewise.
48222
48223 * normal/command.c (grub_iterate_commands): If ITERATE returns
48224 non-zero, return one immediately.
48225
e85e144b 482262005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48227
48228 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48229 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48230 descriptions.
48231 (grub_vbe_get_controller_info): New function.
48232 (grub_vbe_get_mode_info): Likewise.
48233 (grub_vbe_set_mode): Likewise.
48234 (grub_vbe_get_mode): Likewise.
48235 (grub_vbe_set_memory_window): Likewise.
48236 (grub_vbe_get_memory_window): Likewise.
48237 (grub_vbe_set_scanline_length): Likewise.
48238 (grub_vbe_get_scanline_length): Likewise.
48239 (grub_vbe_set_display_start): Likewise.
48240 (grub_vbe_get_display_start): Likewise.
48241 (grub_vbe_set_palette_data): Likewise.
48242 * include/grub/i386/pc/vbe.h: New file.
48243
c46153d2 482442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48245
48246 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48247 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48248 * DISTLIST: Likewise.
48249 * kern/ieee1275/of.c: Moved to ...
48250 * kern/ieee1275/ieee1275.c: ... here.
48251
0cb90c45 482522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48253
48254 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48255 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48256 Pass 0 as `end' parameter to grub_strtoul().
48257
a19fb360 482582005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48259
48260 * include/grub/powerpc/ieee1275/console.h: Do not include
48261 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48262 ifdef.
48263 (grub_console_cur_color): Remove i386-specific prototype.
48264 (grub_console_real_putchar): Likewise.
48265 (grub_console_checkkey): Likewise.
48266 (grub_console_getkey): Likewise.
48267 (grub_console_getxy): Likewise.
48268 (grub_console_gotoxy): Likewise.
48269 (grub_console_cls): Likewise.
48270 (grub_console_setcursor): Likewise.
48271 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48272 Include <grub/machine/console.h>.
48273 * term/ieee1275/ofconsole.c: Likewise.
48274
4ac9bd04 482752005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48276
48277 * Makefile.in (LIBLZO): New variable.
48278
48279 * configure.ac: Check for LZO version 2.
48280
48281 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48282 lzo/lzo1x.h instead of lzo1x.h.
48283
48284 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48285 of -llzo.
48286
48287 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48288 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48289
48290 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48291 copying the data from PARTITION to P.
48292
f4917dfd 482932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48294
48295 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48296 negative, unload the module.
48297
48298 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48299 map is "pc_partition_map" but not "pc".
48300 (usage): Fix the description. The options are --boot-image and
48301 --core-image but not --boot-file or --core-file.
48302 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48303 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48304 DEFAULT_DIRECTORY.
48305
48306 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48307 --core-file. Specify INSTALL_DEVICE as an argument.
48308
48309 * util/console.c: Include config.h.
48310 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48311 [HAVE_NCURSES_H]: Include ncurses.h.
48312 [HAVE_CURSES_H]: Include curses.h.
48313 [!A_NORMAL] (A_NORMAL): Defined as zero.
48314 [!A_STANDOUT] (A_STANDOUT): Likewise.
48315
48316 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48317 -lncurses.
48318 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48319
48320 * configure.ac: Check for curses libraries and headers.
48321
48322 * Makefile.in (LIBCURSES): New variable.
48323
48324 * genmk.rb (Script::rule): Set the executable bits.
48325
48326 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48327 name of the PC partition map is "pc_partition_map" but not "pc".
48328
0e143073 483292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48330
48331 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48332 (modules): Likewise.
48333 (usage): Added descriptions for --modules and --grub-probefs.
48334 Handle --modules and --grub-probefs. Save the arguments in MODULES
48335 and GRUB_PROBEFS, respectively.
48336 Auto-detect a filesystem module against GRUBDIR. If the result is
48337 empty and modules are not specified explicitly, abort the
48338 installation. Add the result to MODULES.
48339
48340 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48341 disk/powerpc/ieee1275/ofdisk.c,
48342 include/grub/powerpc/ieee1275/init.h and
48343 term/powerpc/ieee1275/ofconsole.c.
48344 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48345 term/ieee1275/ofconsole.c.
48346
48347 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48348
48349 * COPYING: Upgraded to the latest version. Only the address of the
48350 FSF office has changed.
f19dbdb7 48351
efd6e6d5 483522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48353
48354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48355 kern/ieee1275.c with kern/ieee1275/of.c.
48356
48357 * kern/ieee1275.c: Moved to ...
48358 * kern/ieee1275/of.c: ... here.
48359
8ceafda2 483602005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48361
48362 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48363 readability.
8ceafda2 48364
48365 * config.guess: Updated to the latest version from gnulib.
48366 * config.sub: Likewise.
48367 * install.sh: Likewise.
48368 * mkinstalldirs: Likewise.
48369
48370 * include/grub/console.h: Removed. This file is arch-specific. Do
48371 not put this in include/grub.
48372
48373 * include/grub/i386/pc/console.h: Resurrected.
48374
48375 * util/console.c: Include grub/machine/console.h instead of
48376 grub/console.h.
48377 * util/grub-emu.c: Likewise.
48378
267f6cd9 483792005-08-04 Marco Gerards <metgerards@student.han.nl>
48380
48381 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48382 hardcoded value.
f19dbdb7 48383
267f6cd9 48384 From Vincent Pelletier <subdino2004@yahoo.fr>
48385 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48386 Redefined to use grub_getwh.
48387 (grub_term): New member named getwh.
48388 (grub_getwh): New prototype.
48389 * kern/term.c (grub_getwh): New function.
48390 * term/i386/pc/console.c (grub_console_getwh): New function.
48391 (grub_console_term): New member `getwh'.
48392 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48393 (grub_vga_term): New member `getwh'.
0b5abe02 48394 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48395 grub_ssize_t.
48396 (grub_ofconsole_getw): New function.
48397 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48398 (grub_ofconsole_term): New field named getwh and new initial
48399 value.
48400
3be7266d 484012005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48402
48403 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48404 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48405 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48406 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48407 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48408 of <grub/machine/ieee1275.h>.
48409 * commands/ieee1275/reboot.c: Likewise.
48410 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48411 * kern/ieee1275.c: ... to here. All users updated. Change all
48412 parameter structs to use new type `grub_ieee1275_cell_t'.
48413 * term/powerpc/ieee1275/ofconsole.c: Move ...
48414 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48415 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48416 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48417 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48418 to return int.
48419 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48420 Remove unused prototypes. All users updated.
48421 * include/grub/powerpc/ieee1275/console.h: Removed.
48422 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48423 `grub_ieee1275_cell_t'.
48424 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48425 Cast comparisons with -1 to the correct type.
48426 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48427 type to match `grub_ieee1275_entry_fn'.
48428
8b5f3938 484292005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48432
48433 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48434 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48435 partmap/sun.c.
48436 (grub_probefs_SOURCES): New variable.
48437
48438 * util/i386/pc/grub-probefs.c: New file.
48439
48440 * util/i386/pc/grub-setup.c (main): Call
48441 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48442 grub_hfs_init and grub_jfs_init to initialize the system. Call
48443 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48444 grub_pc_partition_map_fini to finish the system.
48445
ea409713 484462005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48447
48448 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48449 function.
48450 (grub_multiboot_load_elf32): Likewise.
48451 (grub_multiboot_is_elf64): Likewise.
48452 (grub_multiboot_load_elf64): Likewise.
48453 (grub_multiboot_load_elf): Likewise.
48454 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48455 an ELF32 or ELF64 file.
48456 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48457
48458 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48459 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48460 NULL before calling FS->LABEL.
48461 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48462 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48463 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48464 before calling FS->LABEL.
48465
141a288b 484662005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48467
48468 * util/i386/pc/grub-install.in (datadir): New variable.
48469 (libdir): Removed.
48470 (pkgdatadir): New variable.
48471 (pkglibdir): Removed.
48472
0d5f8a54 484732005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48474
48475 * DISTLIST: Added util/i386/pc/grub-install.in.
48476
48477 * util/i386/pc/grub-install.in: New file.
48478
48479 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48480 (grub_install_SOURCES): Likewise.
48481
48482 * genmk.rb: Added support for scripts.
48483 (Script): New class.
48484 (scripts): New variable.
48485
48486 * Makefile.in (install-local): Install sbin_SCRIPTS by
48487 INSTALL_SCRIPT.
48488 (uninstall): Remove sbin_SCRIPTS.
48489
48490 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48491 device, try to get a GRUB device by
48492 grub_util_biosdisk_get_grub_dev.
48493 Free DEST_DEV.
48494
48495 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48496 description for --device-map.
48497
5f968e1e 484982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48499
48500 Change the semantics of variable hooks. They now return strings
48501 instead of error values.
f19dbdb7 48502
5f968e1e 48503 * util/i386/pc/grub-setup.c: Include grub/env.h.
48504 (setup): Use grub_device_set_root instead of grub_env_set.
48505
48506 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48507 grub_env_get instead of grub_device_set_root and
48508 grub_device_get_root, respectively.
48509
48510 * kern/main.c (grub_env_write_root): New function.
48511 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48512 grub_env_set instead of grub_device_set_root.
48513
48514 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48515 many variables.
48516 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48517 rather than calling ENV->WRITE_HOOK afterwards.
48518 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48519 passing a pointer of a pointer.
48520 (grub_register_variable_hook): Change the types of "read_hook" and
48521 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48522 respectively.
48523 Allocate the default empty string on the heap, because this string
48524 may be freed later.
48525
48526 * kern/device.c: Include grub/env.h.
48527 (grub_device_set_root): Removed.
48528 (grub_device_get_root): Likewise.
48529 (grub_device_open): Use grub_env_get instead of
48530 grub_device_get_root.
48531
48532 * include/grub/env.h (grub_env_read_hook_t): New type.
48533 (grub_env_write_hook_t): Likewise.
48534 (grub_env_var): Change the types of "read_hook" and "write_hook"
48535 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48536 (grub_register_variable_hook): Likewise.
48537
48538 * include/grub/device.h (grub_device_set_root): Removed.
48539 (grub_device_set_root): Likewise.
48540
48541 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48542 make sure that DIRNAME terminates with '/', so that
48543 grub_fat_find_dir will fail if PATH is not a directory.
48544
48545 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48546 from DIRNAME.
48547 Use the qualifier auto for print_files and print_files_long.
48548 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48549 as a regular file.
48550 Put a newline only if there is no error.
48551 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48552 used.
48553
896f0afd 485542005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48555
48556 * kern/partition.c (grub_partition_probe): Initialize PART to
48557 NULL. Otherwise, when no partition map is registered, this returns
48558 a garbage.
48559
b28b81b2 485602005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48561
48562 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48563 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48564 valid.
48565
5f3607e0 485662005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48567
48568 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48569 information on each device, if it does not have partitions. Print
48570 "Device" instead of "Disk", because this function is not specific
48571 to disk devices.
48572
48573 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48574 static to ensure that it is put on the memory rather than a
48575 register.
48576
502c87e8 485772005-07-17 Yoshinori Okuji <okuji@enbug.org>
48578
48579 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48580 (grub_cat_init): Likewise.
48581 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48582 (options): Likewise.
48583 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48584 (grub_configfile_init): Likewise.
48585 * font/manager.c (GRUB_MOD_INIT): Likewise.
48586 * commands/help.c (GRUB_MOD_INIT): Likewise.
48587 (grub_help_init): Likewise.
48588 * normal/command.c (grub_command_init): Likewise.
48589 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48590 * disk/loopback.c (grub_loop_init): Likewise.
48591 (GRUB_MOD_INIT): Likewise.
48592 * commands/ls.c (grub_ls_init): Likewise.
48593 (GRUB_MOD_INIT): Likewise.
48594 (options): Likewise.
48595 * commands/boot.c (grub_boot_init): Likewise.
48596 (GRUB_MOD_INIT): Likewise.
48597 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48598 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48599 (GRUB_MOD_INIT): Likewise.
48600 * commands/cmp.c (grub_cmp_init): Likewise.
48601 (GRUB_MOD_INIT): Likewise.
48602
48603 * normal/arg.c: Use <> instead of "" to include header files.
48604 (SHORT_ARG_HELP): New macro.
48605 (SHORT_ARG_USAGE): Likewise.
48606 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48607 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48608 descriptions.
48609 (find_short): Check if C is 'h' or 'u' explicitly.
48610 (grub_arg_show_help): Use space characters instead of tabs. Treat
48611 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48612 are shown with --help and --usage only if they are not used for
48613 the command itself.
48614 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48615 'h' and 'u'.
48616
48617 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48618 const into "longarg". Change the type of "shortarg" to int.
48619
f806d18e 486202005-07-17 Yoshinori Okuji <okuji@enbug.org>
48621
48622 * boot/i386/pc/boot.S (boot_drive_check): New label.
48623
48624 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48625 macro.
48626
48627 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48628 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48629
e293232b 486302005-07-17 Yoshinori Okuji <okuji@enbug.org>
48631
48632 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48633 When turning off Gate A20, skip the check and return immediately,
48634 because this is not fatal usually.
48635
ebedfd00 486362005-07-17 Yoshinori Okuji <okuji@enbug.org>
48637
48638 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48639 be 0x7C00 instead of 0x8000.
48640
48641 * boot/i386/pc/pxeboot.S: Rewritten.
48642
48643 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48644 EXT_C.
48645 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48646 result.
48647
654fc59f 486482005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48649
48650 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48651 robustness. This routine now supports a BIOS call and System
48652 Control Port A to modify the gate A20.
48653
48654 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48655 Increased to 0x440.
48656
09f9923f 486572005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48658
48659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48660 device path and resulting ihandle.
48661 (grub_ofdisk_close): dprintf the ihandle being closed.
48662 (grub_ofdisk_read): dprintf function parameters.
48663 * kern/mm.c (grub_mm_init_region): Likewise.
48664 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48665 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48666 size, and boot arguments.
48667 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48668 before loading into memory.
48669 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48670 before loading into memory.
48671
7ef504d8 486722005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48673
48674 * kern/mm.c: Added much documentation.
48675 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48676 8, set to 5 instead of 8.
48677
e0f050c2 486782005-07-10 Yoshinori Okuji <okuji@enbug.org>
48679
48680 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48681
48682 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48683 (grub_mkdevicemap_SOURCES): New variable.
48684
48685 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48686 lib/device.c of GRUB Legacy.
48687
7224189a 486882005-07-10 Yoshinori Okuji <okuji@enbug.org>
48689
48690 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48691 instead of PATH is NULL.
48692
68c864eb 486932005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48694
48695 * commands/cmp.c (BUFFER_SIZE): New macro.
48696 (grub_cmd_cmp): Close the right file at the right time. Compare
48697 only data just read. Don't report files of different size as
48698 identical. Dynamically allocate buffers. Move variable
48699 declarations at the beginning of function.
48700
e6f3e614 487012005-07-09 Yoshinori Okuji <okuji@enbug.org>
48702
48703 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48704 reverse.
48705
f8f1559a 487062004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48707
48708 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48709 when backspace is pressed at beginning of line.
48710
39c9d41d 487112005-07-03 Yoshinori Okuji <okuji@enbug.org>
48712
48713 * DISTLIST: Added genfslist.sh.
48714
48715 * normal/main.c (fs_module_list): New variable.
48716 (autoload_fs_module): New function.
48717 (read_fs_list): Likewise.
48718 (grub_normal_execute): Call read_fs_list.
48719
48720 * kern/fs.c (grub_fs_autoload_hook): New variable.
48721 (grub_fs_probe): Added support for auto-loading.
48722
48723 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48724 (grub_fs_module_list_t): New type.
48725
48726 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48727 (grub_fs_autoload_hook): New prototype.
48728
48729 * genfslist.sh: New file.
f19dbdb7 48730
39c9d41d 48731 * genmk.rb: Added a rule to generate a filesystem list.
48732
121c1d83 487332005-06-30 Marco Gerards <metgerards@student.han.nl>
48734
48735 * configure.ac: Fix the test for cross-compiling.
48736
48737 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48738 define GRUB_UTIL anymore.
48739
48740 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48741 so this function works on other systems than just big endian.
48742 (load_modules): Likewise.
48743 (add_segments): Likewise.
48744
e75d76e1 487452005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48746
48747 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48748 contains `l' modifier, get a long from va_arg().
48749
50b5a0a7 487502005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48751
48752 * kern/mm.c (grub_free): If the next free block which is being
48753 merged is the first free block, set the first block to the block
48754 being freed.
48755 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48756
89371b20 487572005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48758
48759 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48760 `grub_ieee1275_chosen'.
48761
168d6e58 487622005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48763
48764 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48765 (grub_ieee1275_chosen): New variable.
48766 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48767 `chosen'.
48768 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48770 Rename first argument to `phandle' for consistency.
48771 (grub_ieee1275_get_property_length): Likewise.
48772 (grub_ieee1275_next_property): Likewise. Change type of first argument
48773 to grub_ieee1275_phandle_t.
48774 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48775 Move export next to declaration.
48776 (grub_ieee1275_chosen): New variable.
48777 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48778 Correct cosmetic typo.
48779 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48780 `grub_ieee1275_chosen'.
48781 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48782 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48783 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48784 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48785 `grub_ieee1275_chosen'.
48786
ca5baa3f 487872005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48788
48789 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48790 /chosen/bootargs.
48791 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48792 /chosen/bootargs as "variable=value" pairs.
48793
708b345f 487942005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48795
48796 * include/grub/misc.h (grub_dprintf): New macro.
48797 (grub_real_dprintf): New prototype.
48798 (grub_strword): Likewise.
48799 (grub_iswordseparator): Likewise.
48800 * kern/misc.c (grub_real_dprintf): New function.
48801 (grub_strword): Likewise.
48802 (grub_iswordseparator): Likewise.
48803
f4c5e67c 488042005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48805
48806 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48807 (roundup): Remove macro.
48808 (grub_ieee1275_flags): Make static.
48809 (grub_ieee1275_realmode): Remove.
48810 (grub_ieee1275_test_flag): New function.
48811 (grub_ieee1275_set_flag): Likewise.
48812 (find_options): Rename to `grub_ieee1275_find_options'; update
48813 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48814 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48815 (cmain): New prototype.
48816 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48817 `grub_ieee1275_flags' directly.
48818 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48819 machine/biosdisk.h.
48820 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48821 Don't include grub/machine/init.h.
48822 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48823 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48824 Remove prototype.
48825 (grub_ieee1275_realmode): Likewise.
48826 (grub_ieee1275_flag): New enum.
48827 (grub_ieee1275_test_flag): New prototype.
48828 (grub_ieee1275_set_flag): New prototype.
48829 * include/grub/powerpc/ieee1275/init.h: Remove file.
48830 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48831 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48832 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48833 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48834 comment.
48835 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48836 `grub_ieee1275_test_flag'.
48837 (grub_ieee1275_encode_devname): Likewise.
48838
ed16607e 488392005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48840
48841 * include/grub/powerpc/ieee1275/ieee1275.h
48842 (grub_ieee1275_encode_devname): New prototype.
48843 (grub_ieee1275_get_filename): Likewise.
48844 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48845 function.
48846 (grub_set_prefix): Likewise.
48847 (grub_machine_init): Call grub_set_prefix.
48848 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48849 (grub_parse_type): New enum.
48850 (grub_ieee1275_get_devargs): New function.
48851 (grub_ieee1275_get_devname): Likewise.
48852 (grub_ieee1275_parse_args): Likewise.
48853 (grub_ieee1275_get_filename): Likewise.
48854 (grub_ieee1275_encode_devname): Likewise.
48855
be369920 488562005-03-30 Marco Gerards <metgerards@student.han.nl>
48857
48858 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48859 `grub_loader_unset'.
48860
a5ce3a4a 488612005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48862
48863 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48864 instead of grub_ieee1275_interpret.
48865 (grub_halt_init): New function.
48866 (grub_halt_fini): Likewise.
48867 (GRUB_MOD_INIT): Correct message grammar.
48868 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48869 instead of grub_ieee1275_interpret.
48870 (grub_reboot_init): New function.
48871 (grub_reboot_fini): Likewise.
48872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48873 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48874 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48875 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48877 function.
48878 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48879 Add prototype.
48880 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48881 prototype.
48882 (grub_halt): Likewise.
48883 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48884 (cmain): Remove __attribute__((unused)).
48885 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48886 (grub_heap_len): Likewise.
48887 (grub_machine_fini): New function.
48888 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48889 (grub_halt): Likewise.
48890 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48891 function.
48892 * util/powerpc/ieee1275/misc.c: New file.
48893
0058f771 488942005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48895
48896 * DISTLIST: New file.
48897 * gendistlist.sh: Likewise.
f19dbdb7 48898
0058f771 48899 * Makefile.in (COMMON_DISTFILES): Removed.
48900 (BOOT_DISTFILES): Likewise.
48901 (CONF_DISTFILES): Likewise.
48902 (DISK_DISTFILES): Likewise.
48903 (FS_DISTFILES): Likewise.
48904 (INCLUDE_DISTFILES): Likewise.
48905 (KERN_DISTFILES): Likewise.
48906 (LOADER_DISTFILES): Likewise.
48907 (TERM_DISTFILES): Likewise.
48908 (UTIL_DISTFILES): Likewise.
48909 (DISTFILES): Likewise.
48910 (uninstall): Uninstall files in $(pkgdata_DATA).
48911 (DISTLIST): New target.
48912 (distdir): Use the contents of the file DISTLIST to get a list of
48913 distributed files.
48914
46b3b8a5 489152005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48916
48917 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48918 descriptor. This is ported from GRUB Legacy.
48919
48920 * gencmdlist.sh: Added an extra semicolon to make it work with
48921 old sed versions. Reported by Robert Bihlmeyer
48922 <robbe@orcus.priv.at>.
48923
5822ff87 489242005-03-08 Yoshinori Okuji <okuji@enbug.org>
48925
48926 Automatic loading of commands is supported.
f19dbdb7 48927
5822ff87 48928 * normal/main.c (read_command_list): New function.
48929 (grub_normal_execute): Call read_command_list.
48930
48931 * normal/command.c (grub_register_command): Return zero or CMD.
48932 Allocate CMD->NAME from the heap.
48933 Initialize CMD->MODULE_NAME to zero.
48934 Find the same name as well. If the same command is found and it is
48935 a dummy command, overwrite members. If it is not a dummy command,
48936 return zero.
48937 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48938 (grub_command_find): If a dummy command is found, load a module
48939 and retry to find a command only once.
48940
48941 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48942 make sure that each command is loaded.
48943
48944 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48945 macro.
48946 (struct grub_command): Remove const from the member `name'.
48947 Add a new member `module_name'.
48948 (grub_register_command): Return grub_command_t.
48949
48950 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48951 sure that each command is loaded.
48952
48953 * genmk.rb (PModule::rule): Specify a module name without the
48954 suffix ".mod" to gencmdlist.sh.
48955
7b1f4b57 489562005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48957
48958 * gencmdlist.sh: New file.
f19dbdb7 48959
7b1f4b57 48960 * genmk.rb (PModule::rule): Generate a rule for a command list.
48961 Clean command.lst.
48962 Generate command.lst from $(COMMANDFILES).
48963
48964 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48965 (DATA): Added $(pkgdata_DATA).
48966 (install-local): Install files in $(pkgdata_DATA).
48967
062aaf39 489682005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48969
48970 * term/i386/pc/vga.c (debug_command): Removed.
48971 (GRUB_MOD_INIT): Do not register the command "debug".
48972
48973 From Hollis Blanchard:
48974 * commands/configfile.c: New file.
48975 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48976 commands/configfile.c.
48977 (pkgdata_MODULES): Added configfile.mod.
48978 (configfile_mod_SOURCES): New variable.
48979 (configfile_mod_CFLAGS): Likewise.
48980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48981 commands/configfile.c.
48982 (pkgdata_MODULES): Added configfile.mod.
48983 (configfile_mod_SOURCES): New variable.
48984 (configfile_mod_CFLAGS): Likewise.
48985 * util/grub-emu.c (main): Call grub_configfile_init and
48986 grub_configfile_fini.
48987 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48988 prototype.
48989 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48990
cee01aa6 489912005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48992
48993 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48994 address.
48995
48996 * commands/help.c (grub_cmd_help): Do not print newlines after
48997 the last command in print_command_help.
48998
93f3a1d8 489992005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49000
49001 * commands/default.h: New file.
49002 * commands/timeout.h: Likewise.
49003 * normal/context.c: Likewise.
f19dbdb7 49004
93f3a1d8 49005 * util/misc.c: Do not include sys/times.h.
49006 Include sys/time.h and grub/machine/time.h.
49007 (grub_get_rtc): Rewritten with gettimeofday.
49008
49009 * util/grub-emu.c (main): Call grub_default_init and
49010 grub_timeout_init before grub_normal_init, and call
49011 grub_timeout_fini and grub_default_fini after grub_main.
49012
49013 * util/console.c (grub_ncurses_checkkey): Return the read
49014 character or -1.
49015
49016 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49017 timeouts.
49018
49019 * normal/main.c (read_config_file): Push MENU. If this fails,
49020 print an error and wait for a user input.
49021 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49022 If a menu is empty or an error occurs, pop MENU.
49023 (grub_normal_execute): Pop and free MENU after grub_menu_run
49024 returns.
49025
49026 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49027
49028 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49029 include time.h.
49030 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49031 without GRUB_UTIL.
49032 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49033 time.h.
49034 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49035 without GRUB_UTIL.
49036
49037 * include/grub/normal.h (struct grub_menu_list): New struct.
49038 (grub_menu_list_t): New type.
49039 (struct grub_context): New struct.
49040 (grub_context_t): New type.
49041 (grub_register_command): Got rid of EXPORT_FUNC.
49042 (grub_unregister_command): Likewise.
49043 (grub_context_get): New prototype.
49044 (grub_context_get_current_menu): Likewise.
49045 (grub_context_push_menu): Likewise.
49046 (grub_context_pop_menu): Likewise.
49047 [GRUB_UTIL] (grub_default_init): Likewise.
49048 [GRUB_UTIL] (grub_default_fini): Likewise.
49049 [GRUB_UTIL] (grub_timeout_init): Likewise.
49050 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49051
49052 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49053 commands/timeout.c and normal/context.c.
49054 (pkgdata_MODULES): Added default.mod and timeout.mod.
49055 (normal_mod_SOURCES): Added normal/context.c.
49056 (default_mod_SOURCES): New variable.
49057 (default_mod_CFLAGS): Likewise.
49058 (timeout_mod_SOURCES): Likewise.
49059 (timeout_mod_CFLAGS): Likewise.
49060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49061 conf/i386-pc.rmk.
49062 (pkgdata_MODULES): Added default.mod and timeout.mod.
49063 (normal_mod_SOURCES): Added normal/context.c.
49064 (default_mod_SOURCES): New variable.
49065 (default_mod_CFLAGS): Likewise.
49066 (timeout_mod_SOURCES): Likewise.
49067 (timeout_mod_CFLAGS): Likewise.
49068
49069 * Makefile.in (all-local): Added $(MKFILES).
49070
4ed2e1dd 490712005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49072
49073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49074 (grub_emu_SOURCES): Likewise.
49075 (pkgdata_MODULES): Add `sun.mod'.
49076 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49078 `partmap/sun.c'.
49079 (pkgdata_MODULES): Add `sun.mod'.
49080 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49081 * include/grub/partition.h (grub_sun_partition_map_init): New
49082 prototype.
49083 (grub_sun_partition_map_fini): Likewise.
49084 * partmap/sun.c: New file.
49085 * util/grub-emu.c (main): Initialize and de-initialize the sun
49086 partitionmap support.
49087
4d4e372e 490882005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49089
49090 This implements an Emacs-like menu entry editor.
f19dbdb7 49091
4d4e372e 49092 * normal/menu_entry.c: New file.
f19dbdb7 49093
4d4e372e 49094 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49095 characters to ASCII.
49096 (saved_char): New variable.
49097 (grub_ncurses_checkkey): Rewritten completely.
49098 (grub_ncurses_getkey): Likewise.
49099 (grub_ncurses_init): Call raw instead of cbreak.
49100
49101 * normal/menu.c (print_entry): Do not put a space.
49102 (init_page): Renamed to ...
49103 (grub_menu_init_page): ... this. All callers changed.
49104 (edit_menu_entry): Removed.
49105 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49106
49107 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49108
49109 * kern/misc.c (grub_vprintf): Call grub_refresh.
49110
49111 * normal/menu.c (DISP_LEFT): Renamed to ...
49112 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49113 * normal/menu.c (DISP_UP): Renamed to ...
49114 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49115 * normal/menu.c (DISP_RIGHT): Renamed to ...
49116 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49117 * normal/menu.c (DISP_DOWN): Renamed to ...
49118 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49119 * normal/menu.c (DISP_HLINE): Renamed to ...
49120 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49121 * normal/menu.c (DISP_VLINE): Renamed to ...
49122 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49123 * normal/menu.c (DISP_UL): Renamed to ...
49124 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49125 * normal/menu.c (DISP_UR): Renamed to ...
49126 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49127 * normal/menu.c (DISP_LL): Renamed to ...
49128 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49129 * normal/menu.c (DISP_LR): Renamed to ...
49130 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49131 * normal/menu.c (TERM_WIDTH): Renamed to ...
49132 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49133 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49134 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49135 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49136 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49137 * normal/menu.c (TERM_MARGIN): Renamed to ...
49138 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49139 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49140 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49141 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49142 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49143 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49144 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49145 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49146 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49147 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49148 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49149 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49150 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49151 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49152 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49153 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49154 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49155 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49156 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49157 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49158 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49159 All callers changed.
49160
49161 * include/grub/normal.h: New prototype.
49162
49163 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49164 normal/menu_entry.c.
49165 (normal_mod_SOURCES): Likewise.
49166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49167 (normal_mod_SOURCES): Likewise.
49168
e6b92c8a 491692005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49170
49171 * include/grub/normal.h (grub_halt_init): New prototype.
49172 (grub_halt_fini): Likewise.
49173 (grub_reboot_init): Likewise.
49174 (grub_reboot_fini): Likewise.
49175
49176 * util/grub-emu.c: Include signal.h.
49177 (main_env): New global variable.
49178 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49179 catch C-c.
49180 (grub_machine_fini): New function.
49181 (main): Call grub_halt_init and grub_reboot_init before
49182 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49183 Call setjmp with MAIN_ENV to go back afterwards.
49184 Call grub_machine_fini right before return.
49185
49186 * include/grub/util/misc.h: Include setjmp.h.
49187 (main_env): New prototype.
49188
49189 * include/grub/kernel.h (grub_machine_fini): New prototype.
49190 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49191 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49192
49193 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49194 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49195 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49196
e6b92c8a 49197 * util/i386/pc/misc.c: New file.
f19dbdb7 49198
e6b92c8a 49199 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49200 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49201 commands/i386/pc/reboot.c.
49202
c642636f 492032005-02-14 Guillem Jover <guillem@hadrons.org>
49204
49205 * include/grub/dl.h (grub_dl_check_header): New prototype.
49206 (grub_arch_dl_check_header): Change return type to grub_err_t,
49207 remove size parameter and export function. Update all callers.
49208 * kern/dl.c (grub_dl_check_header): New function.
49209 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49210 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49211 are inside the core.
49212 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49213 independent ELF header checks.
49214 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49215 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49216 `grub_dl_check_header' instead of explicit checks. Check for the
49217 ELF type.
49218 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49219 `grub_dl_check_header' instead of explicit checks. Remove arch
49220 specific ELF header checks.
49221
e6b92c8a 49222 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49223 argument SIZE.
49224
5eabe94b 492252005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49226
49227 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49228 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49229
1b14a681 492302005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49231
49232 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49233 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49234 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49235 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49236 * partmap/amiga.c (amiga_partition_map_iterate): Return
49237 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49238 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49239
aca108aa 492402005-02-01 Guillem Jover <guillem@hadrons.org>
49241
49242 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49243 help info.
49244
c9f9c556 492452005-01-31 Marco Gerards <metgerards@student.han.nl>
49246
49247 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49248 Removed prototype.
49249 (grub_rescue_cmd_linux): New prototype.
49250 (grub_rescue_cmd_initrd): Likewise.
49251 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49252 `bi_rec'.
49253 (grub_linux_release_mem): Release the memory for the initrd.
49254 (grub_load_linux): Renamed from this...
49255 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49256 Changed `entry' not to be static. Loop over memory regions to
49257 find another one when the default fails.
49258 (grub_rescue_cmd_initrd): New function.
49259 (grub_linux_init): Remove function.
49260 (grub_linux_fini): Likewise.
49261 (GRUB_MOD_INIT): Register `initrd'.
49262 (GRUB_MOD_FINI): Unregister `initrd'.
49263 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49264 Function removed.
49265 (grub_linux_normal_fini): Likewise.
49266 (GRUB_MOD_INIT): Register `initrd'.
49267 (GRUB_MOD_FINI): Unregister `initrd'.
49268
990cf3aa 492692005-01-31 Marco Gerards <metgerards@student.han.nl>
49270
49271 * commands/help.c: New file.
49272 * normal/arg.c (show_help): Renamed to...
49273 (grub_arg_show_help): ... this.
49274 * commands/i386/pc/halt.c: New file.
49275 * commands/i386/pc/reboot.c: Likewise.
49276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49277 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49278 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49279 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49280 variables.
49281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49282 `commands/help.c'.
49283 (pkgdata_MODULES): Add `help.mod'.
49284 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49285 * grub/i386/pc/init.h (grub_reboot): New prototype.
49286 (grub_halt): Likewise.
49287 * include/grub/normal.h (grub_arg_show_help): New prototype.
49288 (grub_help_init): Likewise.
49289 (grub_help_fini): Likewise.
49290 * util/grub-emu.c (main): Initialize and deinitialize the help
49291 command.
49292
49293 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49294
49295 * normal/command.c (grub_command_init): Fixed the description of
49296 the `set' and `unset' commands.
49297
492982005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49299
49300 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49301 function.
49302 * commands/ieee1275/halt.c: New file.
49303 * commands/ieee1275/reboot.c: Likewise.
49304 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49305 `__attribute__ ((unused))'. Some GCS related fixed.
49306 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49307 (grub_suspend_fini): Likewise.
49308 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49309 and `halt.mod'.
49310 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49311 (halt_mod_CFLAGS): New variables.
49312 * include/grub/powerpc/ieee1275/ieee1275.h
49313 (grub_ieee1275_interpret): New prototype.
49314
1ab09cc7 493152005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49316
49317 * include/grub/misc.h (memmove): New prototype.
49318 (memcpy): Likewise.
49319
8b8cbdb2 493202005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49321
49322 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49323 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49324
e3741a27 493252005-01-22 Marco Gerards <metgerards@student.han.nl>
49326
49327 * kern/misc.c (grub_strndup): Function rewritten.
49328
776bd780 493292005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49330
49331 * normal/menu.c (TERM_WIDTH): Macro redefined.
49332 (TERM_TOP_BORDER_Y): Likewise.
49333 (draw_border): Replaced while-loop by a for-loop. Make the number
49334 of lines consistent with the number of lines displayed in
49335 print_entries. Added a margin below the rectangle.
49336 (print_entry): Make the entry fit in the rectangle.
49337 (print_entries): Display the scroll arrows next to the right
49338 border.
49339
78026bce 493402005-01-21 Marco Gerards <metgerards@student.han.nl>
49341
49342 * fs/minix.c (grub_minix_find_file): Reserve more space for
49343 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49344 `grub_strncpy' to copy `path' into it.
49345
67bbaf0f 493462005-01-21 Marco Gerards <metgerards@student.han.nl>
49347
49348 Add the loopback device, a device via which files can be accessed
49349 as devices.
f19dbdb7 49350
67bbaf0f 49351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49352 (pkgdata_MODULES): Add loopback.mod.
49353 (loopback_mod_SOURCES): New variable.
49354 (loopback_mod_CFLAGS): Likewise.
49355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49356 `disk/loopback.c'.
49357 (pkgdata_MODULES): Add loopback.mod.
49358 (loopback_mod_SOURCES): New variable.
49359 (loopback_mod_CFLAGS): Likewise.
49360 * disk/loopback.c: new file.
49361 * include/grub/normal.h (grub_loop_init): New prototype.
49362 (grub_loop_fini): New prototype.
49363 * util/grub-emu.c (main): Initialize and de-initialize loopback
49364 support.
49365 * include/grub/disk.h (grub_disk_dev_id): Add
49366 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49367
6f1c18bd 493682005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49369
49370 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49371 function.
49372 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49373 (suspend_mod_SOURCES): New variable.
49374 (suspend_mod_CFLAGS): Likewise.
49375 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49376 New prototype.
49377 * commands/ieee1275/suspend.c: New file.
49378
b38551da 493792005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49380
49381 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49382 ((unused))' to `__attribute__ ((used))'.
b38551da 49383 (GRUB_MOD_FINI): Likewise.
49384 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49385 * genmk.rb (PModule): Assign space to common symbols when linking
49386 modules.
49387
777aff39 493882005-01-20 Marco Gerards <metgerards@student.han.nl>
49389
49390 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49391 `unsigned' arguments to `grub_size_t'.
49392 (grub_malloc): Likewise.
49393 (grub_realloc): Likewise.
49394 (grub_memalign): Likewise.
49395 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49396 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49397 * util/misc.c (grub_malloc): Likewise.
49398 (grub_realloc): Likewise.
49399 * kern/mm.c (get_header_from_pointer): Change the casts to
49400 `unsigned' into a cast to `grub_size_t'.
49401
49402 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49403 point to `currnode' when `currnode' is changed.
49404
49405 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49406 Schottelius <nico-linux@schottelius.org>.
49407
d0ff18e1 494082005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49409
49410 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49411 (note_path): Remove variable.
49412 (GRUB_IEEE1275_NOTE_NAME): New macro.
49413 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49414 (grub_ieee1275_note_hdr): New structure.
49415 (grub_ieee1275_note_desc): Likewise.
49416 (grub_ieee1275_note): Likewise.
49417 (load_note): Remove `dir' argument. All callers updated. Remove
49418 `note_img' and `path'. Do not load a file from `note_path'.
49419 Initialize a struct grub_ieee1275_note and write that to `out'.
49420 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49421
4ca7004c 494222005-01-05 Marco Gerards <metgerards@student.han.nl>
49423
49424 * util/misc.c (grub_util_read_image): Revert last change. It
49425 called `grub_util_read_at', which seeks from the beginning of the
49426 file.
49427
0b412211 494282005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49429
49430 * TODO: Add note about endianness in grub-mkimage.
49431 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49432 section.
49433 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49434 (grub_mkimage_SOURCES): New target.
49435 * include/grub/kernel.h (grub_start_addr): Remove variable.
49436 (grub_end_addr): Likewise.
49437 (grub_total_module_size): Likewise.
49438 (grub_kernel_image_size): Likewise.
49439 (GRUB_MODULE_MAGIC): New constant.
49440 (grub_module_info): New structure.
49441 (grub_arch_modules_addr): New prototype.
49442 (grub_get_end_addr): Remove prototype.
49443 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49444 * include/grub/powerpc/ieee1275/kernel.h: New file.
49445 * include/grub/util/misc.h (grub_util_get_fp_size): New
49446 prototype.
49447 (grub_util_read_at): Likewise.
49448 (grub_util_write_image_at): Likewise.
49449 * kern/main.c (grub_get_end_addr): Remove function.
49450 (grub_load_modules): Call grub_arch_modules_addr instead of using
49451 grub_end_addr. Look for a grub_module_info struct in memory. Use
49452 the grub_module_info fields instead of calling grub_get_end_addr
49453 as loop conditions. Move grub_add_unused_region code here.
49454 (grub_add_unused_region): Remove function.
49455 * kern/i386/pc/init.c: Include grub/cache.h.
49456 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49457 one call to add_mem_region.
49458 (grub_arch_modules_addr): New function.
49459 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49460 (grub_total_module_size): Likewise.
49461 Include grub/machine/kernel.h.
49462 (grub_arch_modules_addr): New function.
49463 * util/grub-emu.c (grub_end_addr): Remove variable.
49464 (grub_total_module_size): Likewise.
49465 (grub_arch_modules_addr): New function.
49466 * util/misc.c: Include unistd.h.
49467 (grub_util_get_fp_size): New function.
49468 (grub_util_read_at): Likewise.
49469 (grub_util_write_image_at): Likewise.
49470 (grub_util_read_image): Call grub_util_read_at.
49471 (grub_util_write_image): Call grub_util_write_image_at.
49472 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49473 additional memory in kernel_img for a struct grub_module_info.
49474 Fill in that grub_module_info.
49475 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49476
458786f8 494772005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49478
49479 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49480 New function.
49481 * include/grub/powerpc/ieee1275/ieee1275.h
49482 (grub_ieee1275_milliseconds): New prototype.
49483 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49484 Change to 1000.
49485 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49486 grub_ieee1275_milliseconds.
49487
ac507d1b 494882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49489
49490 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49491 variable.
49492 (find_options): New function.
49493 (cmain): Call find_options.
49494 * include/grub/powerpc/ieee1275/ieee1275.h
49495 (grub_ieee1275_realmode): New extern variable.
49496 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49497 grub_map if grub_ieee1275_realmode is false.
49498
6b8fd1c4 494992004-12-29 Marco Gerards <metgerards@student.han.nl>
49500
49501 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49502 lines are inserted and make it work like readline. Reported by
49503 Vincent Pelletier <subdino2004@yahoo.fr>.
49504
8514a1e0 495052004-12-28 Marco Gerards <metgerards@student.han.nl>
49506
49507 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49508
49509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49510 `kern/powerpc/cache.S'.
49511
924b6140 495122004-12-27 Marco Gerards <metgerards@student.han.nl>
49513
49514 * genmk.rb: Handle the `Program' class in the main loop. Written
49515 by Johan Rydberg <jrydberg@gnu.org>.
49516 (Program): New class.
49517 (programs): New variable.
49518 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49519 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49520 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49521 (help_arch): Function removed.
49522 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49523 `powerpc/libgcc.h' and `loader.h'.
49524 (pkgdata_PROGRAMS): New variable.
49525 (sbin_UTILITIES): Variable removed.
49526 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49527 (grubof_SOURCES): Variable re-defined so it only includes the
49528 core functionality.
49529 (grubof_CFLAGS): Remove `-DGRUBOF'.
49530 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49531 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49532 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49533 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49534 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49535 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49536 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49537 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49538 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49539 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49540 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49541 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49542 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49543 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49544 (pc_mod_CFLAGS): New variables.
49545 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49546 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49547 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49548 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49549 Moved from here...
49550 * include/grub/i386/pc/init.h (grub_os_area_addr)
49551 (rub_os_area_size): ... to here.
49552 * include/grub/powerpc/ieee1275/ieee1275.h
49553 (grub_ieee1275_entry_fn): Export symbol.
49554 * include/grub/powerpc/ieee1275/init.h: New file.
49555 * include/grub/powerpc/libgcc.h: Likewise.
49556 * include/grub/cache.h: Likewise.
49557 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49558 <hollis@penguinppc.org>.
49559 * kern/dl.c: Include <grub/cache.h>.
49560 (grub_dl_flush_cache): New function.
49561 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49562 for this module.
49563 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49564 (grub_console_init): Removed prototypes.
49565 (grub_machine_init): Don't initialize the modules anymore.
49566 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49567 static.
49568 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49569 Macro undef removed.
49570 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49571 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49572 relocation `R_PPC_REL32'. Return an error when the relocation is
49573 unknown.
49574 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49575 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49576 * util/misc.c (grub_arch_sync_caches): Likewise.
49577
e4b47e0c 495782004-12-19 Marco Gerards <metgerards@student.han.nl>
49579
49580 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49581 `symlist.c', add `grubof_symlist.c'.
49582 (symlist.c): Variable removed.
49583 (grubof_HEADERS): Variable added.
49584 (grubof_symlist.c): New target.
49585 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49586 `kernel_img_HEADERS'.
49587 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49588 * kern/powerpc/dl.c: New file.
49589 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49590 Function removed.
49591 (grub_arch_dl_relocate_symbols): Likewise.
49592 (grub_register_exported_symbols): Likewise.
49593
4ceb3636 495942004-12-13 Marco Gerards <metgerards@student.han.nl>
49595
49596 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49597 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49598 to fail instead. Reported by Vincent Pelletier
49599 <subdino2004@yahoo.fr>.
49600
49601 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49602 it is not allocated. Reported by Vincent Pelletier
49603 <subdino2004@yahoo.fr>.
49604
49605 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49606 output so the output looks better.
f19dbdb7 49607
3f1578fe 496082004-12-04 Marco Gerards <metgerards@student.han.nl>
49609
49610 Modulize the partition map support and add support for the amiga
49611 partition map.
f19dbdb7 49612
3f1578fe 49613 * commands/ls.c: Include <grub/partition.h> instead of
49614 <grub/machine/partition.h>.
49615 * kern/disk.c: Likewise.
49616 * kern/rescue.c: Likewise.
49617 * loader/i386/pc/chainloader.c: Likewise.
49618 * normal/cmdline.c: Likewise.
49619 * kern/powerpc/ieee1275/init.c: Likewise.
49620 (grub_machine_init): Call `grub_pc_partition_map_init',
49621 `grub_amiga_partition_map_init' and
49622 `grub_apple_partition_map_init'.
49623 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49624 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49625 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49626 `partition.h' and `pc_partition.h'.
49627 (grub_setup_SOURCES): Remove
49628 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49629 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49630 (grub_emu_SOURCES): Likewise.
49631 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49632 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49633 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49635 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49636 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49637 (grubof_SOURCES): Likewise.
49638 * disk/i386/pc/partition.c: File removed.
49639 * disk/powerpc/ieee1275/partition.c: Likewise.
49640 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49641 * include/grub/i386/pc/partition.h: Likewise.
49642 * kern/partition.c: New file.
49643 * partmap/amiga.c: Likewise.
49644 * partmap/apple.c: Likewise.
49645 * partmap/pc.c: Likewise.
49646 * include/grub/partition.h: Likewise..
49647 * include/grub/pc_partition.h: Likewise.
49648 * util/grub-emu.c: Include <grub/partition.h> instead of
49649 <grub/machine/partition.h>.
49650 (main): Call `grub_pc_partition_map_init',
49651 `grub_amiga_partition_map_init' and
49652 `grub_apple_partition_map_init' and deinitialize afterwards.
49653 * util/i386/pc/biosdisk.c: Include `#include
49654 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49655 `<grub/machine/partition.h>'.
49656 * util/i386/pc/grub-setup.c: Likewise.
49657 * util/i386/pc/biosdisk.c: Likewise.
49658 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49659 partition information in case of a PC partition.
49660 * util/i386/pc/grub-setup.c: Include `#include
49661 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49662 `<grub/machine/partition.h>'.
49663 (setup): Only access the PC specific partition information in case
49664 of a PC partition.
49665
0ef4ced9 496662004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49667
0ef4ced9 49668 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49669 (grub_longjmp): Likewise.
49670 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49671 20.
49672 * normal/powerpc/setjmp.S: New file.
49673 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49674 `normal/powerpc/setjmp.S'.
49675 (grubof_CFLAGS): Add `-DGRUBOF'.
49676 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49677 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49678
19950e29 496792004-11-16 Marco Gerards <metgerards@student.han.nl>
49680
49681 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49682 property named `name'. Correctly handle the error returned by
49683 `grub_ieee1275_finddevice' if a device can not be opened.
49684
a2fea427 496852004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49686
49687 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49688 `actual' for negativity.
49689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49690 kern/fshelp.c.
49691
41ea0ea3 496922004-11-01 Marco Gerards <metgerards@student.han.nl>
49693
49694 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49695 (PAGE_OFFSET): New macro.
49696 (CRTC_ADDR_PORT): Likewise.
49697 (CRTC_DATA_PORT): Likewise.
49698 (START_ADDR_HIGH_REGISTER): Likewise.
49699 (START_ADDR_LOW_REGISTER): Likewise.
49700 (GRAPHICS_ADDR_PORT): Likewise.
49701 (GRAPHICS_DATA_PORT): Likewise.
49702 (READ_MAP_REGISTER): Likewise.
49703 (INPUT_STATUS1_REGISTER): Likewise.
49704 (INPUT_STATUS1_VERTR_BIT): Likewise.
49705 (page): New variable.
49706 (wait_vretrace): New function.
49707 (set_read_map): Likewise.
49708 (set_start_address): Likewise.
49709 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49710 the right page.
49711 (check_vga_mem): Take the page into account.
49712 (write_char): Likewise.
49713 (write_cursor): Likewise.
49714 (scroll_up): Likewise. Copy the page to the page that is not
49715 shown and switch between both pages.
49716 (grub_vga_putchar): Fix off by one error.
49717 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49718 account.
49719
ad0bd20b 497202004-11-01 Marco Gerards <metgerards@student.han.nl>
49721
49722 Add support for iso9660 (including rockridge).
f19dbdb7 49723
ad0bd20b 49724 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49725 (iso9660_mod_SOURCES): New variable.
49726 (iso9660_mod_CFLAGS): Likewise.
49727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49728 * include/grub/fs.h (grub_iso9660_init): New prototype.
49729 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49730 * fs/iso9660.c: New file.
49731
49732 * include/grub/misc.h (grub_strncat): New prototype.
49733 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49734
ad0bd20b 49735 * fs/hfs.c (grub_hfs_mount): Translate the error
49736 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49737 * fs/jfs.c (grub_jfs_mount): Likewise.
49738 * fs/ufs.c (grub_ufs_mount): Likewise.
49739
a5477a59 497402004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49741
49742 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49743 which initialized BAT registers.
49744 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49745 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49746 Move from here...
49747 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49748 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49749 ... to here.
49750 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49751 (grub_mapclaim): Likewise.
49752 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49753 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49754 hand.
49755
9304c1f8 497562004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49757
49758 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49759 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49760 -ffreestanding and -msoft-float.
49761
86f4ae25 497622004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49763
49764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49765 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49766 set in grub_ieee1275_flags.
49767
38912228 497682004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49769
49770 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49771 prototype.
49772 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49773 grub_console_init first.
49774 Change the memory range used for grub_ieee1275_claim and
49775 grub_mm_init_region.
49776 Print an error message if the claim fails.
49777 Include <grub/misc.h>.
49778
d1923dc8 497792004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49780
49781 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49782 Call grub_children_iterate for device nodes of type `scsi',
49783 `ide', or `ata'.
49784 (grub_ofdisk_open): Remove manual device alias resolution.
49785 Fix memory leak when device cannot be opened.
f19dbdb7 49786 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49787 (grub_children_iterate): New prototype.
49788 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49789 New function.
49790 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49791 Return -1 if args.size was -1.
49792
4512e4f3 497932004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49794
49795 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49796 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49797 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49798 Open Firmware's memory for it; claim memory from _start to _end.
49799 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49800 (_end): New extern.
49801 (_start): Zero BSS from __bss_start to _end.
49802 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49803 New extern.
49804 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49805
4d61feb0 498062004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49807
ad0bd20b 49808 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49809 -1 if args.base was -1.
4d61feb0 49810
026fa2f9 498112004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49812
49813 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49814 escape sequence instead of a literal ^L. Also call
49815 grub_ofconsole_gotoxy.
49816
9f2220ef 498172004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49818
49819 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49820 void * arguments to grub_addr_t. All callers updated. Also make
49821 the `result' argument optional.
49822 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49823 All callers updated.
49824
8a572cd7 498252004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49826
49827 * commands/ls.c (grub_ls_list_files): Use the string following the
49828 initial ')', if present, as the filesystem path.
49829 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49830
49831 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49832
18aa81f2 498332004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49834
49835 Make the source code of the menu interface more readable.
f19dbdb7 49836
18aa81f2 49837 * normal/menu.c: Include grub/mm.h.
49838 (TERM_WIDTH): New macro.
49839 (TERM_HEIGHT): Likewise.
49840 (TERM_INFO_HEIGHT): Likewise.
49841 (TERM_MARGIN): Likewise.
49842 (TERM_SCROLL_WIDTH): Likewise.
49843 (TERM_TOP_BORDER_Y): Likewise.
49844 (TERM_LEFT_BORDER_X): Likewise.
49845 (TERM_BORDER_WIDTH): Likewise.
49846 (TERM_MESSAGE_HEIGHT): Likewise.
49847 (TERM_BORDER_HEIGHT): Likewise.
49848 (TERM_NUM_ENTRIES): Likewise.
49849 (TERM_FIRST_ENTRY_Y): Likewise.
49850 (TERM_ENTRY_WIDTH): Likewise.
49851 (TERM_CURSOR_X): Likewise.
49852 (draw_border): Use macros instead of magic numbers.
49853 (print_entry): Likewise.
49854 (print_entries): Likewise.
49855 (run_menu): Likewise. Also, handle the key 'e'.
49856 (run_menu_entry): Ignore empty command lines.
49857 (print_message): Added a new argument EDIT. If EDIT is true,
49858 print a different message.
49859 (init_page): Likewise.
49860 (edit_menu_entry): New function. Not implemented yet.
49861
b47efe30 498622004-09-17 Marco Gerards <metgerards@student.han.nl>
49863
49864 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49865 can be loaded from normal mode.
f19dbdb7 49866
b47efe30 49867 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49868 `multiboot.mod'.
49869 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49870 (multiboot_mod_CFLAGS): New variables.
49871 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49872 * loader/i386/pc/multiboot_normal.c: Likewise.
49873
b47efe30 49874 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49875 attribute `unused'.
f19dbdb7 49876
b47efe30 49877 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49878 `fdiro' to read the mode information from instead of `diro'.
49879
49880 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49881 looking up a symlink.
49882
49883 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49884 macro.
49885 * normal/command.c (grub_command_execute): Don't parse the
49886 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49887 flags of the command.
49888
49889 * normal/menu.c (grub_menu_run): Fix typo.
49890
da75ac71 498912004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49892
49893 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49894
49895 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49896 `y + 1' instead of `y - 1'.
49897
49898 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49899
062b24c2 499002004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49901
49902 From Hollis Blanchard <hollis@penguinppc.org>:
49903 * kern/misc.c (memmove): New alias for grub_memmove.
49904 (memcmp): New alias for grub_memcmp.
49905 (memset): New alias for grub_memset.
f19dbdb7 49906 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49907 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49908 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49909 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49910
8ddad845 499112004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49912
49913 Added normal mode command `chainloader' as module chain.mod, which
49914 depends on normal.mod and _chain.mod.
f19dbdb7 49915
8ddad845 49916 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49917 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49918 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49919 Deleted prototype.
49920 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49921 but arguments parsing moved to ...
49922 (grub_chainloader_cmd): ... here. New function.
49923 * include/grub/i386/pc/chainloader.h: New file.
49924 * loader/i386/pc/chainloader_normal.c: Likewise.
49925
2c1f4ce3 499262004-09-11 Marco Gerards <metgerards@student.han.nl>
49927
49928 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49929 (grub_mkimage_LDFLAGS): Likewise.
49930 (grub_emu_SOURCES): Likewise.
49931 (kernel_img_HEADERS): Added fshelp.h.
49932 * fs/ext2.c: Include <grub/fshelp.h>.
49933 (FILETYPE_REG): New macro.
49934 (FILETYPE_INO_REG): Likewise.
49935 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49936 Changed all users.
49937 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49938 all users.
49939 (grub_fshelp_node): New struct.
49940 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49941 to a pointer.
49942 (grub_ext2_get_file_block): Removed function.
49943 (grub_ext2_read_block): New function.
49944 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49945 This function was written.
49946 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49947 (grub_ext2_find_file): Removed function.
49948 (grub_ext2_read_symlink): New function.
49949 (grub_ext2_iterate_dir): Likewise.
49950 (grub_ext2_open): Rewritten.
49951 (grub_ext2_dir): Rewritten.
49952 * include/grub/fshelp.h: New file.
49953 * fs/fshelp.c: Likewise.
49954
3c52136a 499552004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49956
49957 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49958 (print_message): Add a missing newline.
49959 (run_menu): Added timeout support.
49960 (run_menu_entry): New local function.
49961 (grub_menu_run): Added support for booting.
49962
49963 * kern/loader.c (grub_loader_is_loaded): New function.
49964
49965 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49966 (grub_get_rtc): Exported.
49967
49968 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49969 (grub_get_rtc): Exported.
49970
49971 * include/grub/normal.h (struct grub_command_list): Remove
49972 constant from the member `command'.
49973
49974 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49975
49976 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49977
49978 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49979
aa033560 499802004-08-28 Marco Gerards <metgerards@student.han.nl>
49981
49982 Add support for the JFS filesystem.
49983
49984 * fs/jfs.c: New file.
49985 * include/grub/fs.h (grub_jfs_init): New prototype.
49986 (grub_jfs_fini): New prototype.
49987 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49988 (grub_emu_SOURCES): Likewise.
49989 (pkgdata_MODULES): Add jfs.mod.
49990 (jfs_mod_SOURCES): New variable.
49991 (jfs_mod_CFLAGS): Likewise.
49992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49993 (grubof_SOURCES): Likewise.
49994 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49995
49996 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49997 endian to the host endian.
49998 (grub_fat_utf16_to_utf8): Move function from there...
49999 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50000 the endianness of the source string anymore.
aa033560 50001 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50002
94bc45af 500032004-08-24 Marco Gerards <metgerards@student.han.nl>
50004
50005 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50006 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50007 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50008 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50009
94bc45af 50010 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50011 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50012 for `node_found' and `it_dir'.
50013 (grub_hfs_dir): Add prototype for `dir_hook'.
50014
50015 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50016 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50017 and `indir32' to silence a gcc warning.
50018
50019 * include/grub/fs.h (grub_hfs_init): New prototype.
50020 (grub_hfs_fini): Likewise.
f19dbdb7 50021
50022
97543f08 500232004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50024
50025 Each disk device has its own id now. This is useful to make use
50026 of multiple disk devices.
f19dbdb7 50027
97543f08 50028 * include/grub/disk.h (grub_disk_dev_id): New enum.
50029 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50030 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50031
50032 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50033 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50034
50035 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50036 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50037
50038 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50039 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50040
50041 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50042 "id" which is used by the cache manager.
50043
50044 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50045 of just "GRUB".
50046
64372eb4 500472004-08-18 Marco Gerards <metgerards@student.han.nl>
50048
50049 * fs/hfs.c: New file.
50050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50051 (grub_emu_SOURCES): Likewise.
50052 (pkgdata_MODULES): Add hfs.mod.
50053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50054 (grubof_SOURCES): Likewise.
50055 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50056
50057 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50058 * kern/misc.c (grub_strncasecmp): Add function.
50059
cc61b58f 500602004-08-14 Marco Gerards <metgerards@student.han.nl>
50061
50062 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50063 with parentheses.
50064
50065 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50066 (grub_ext2_dir): In case the directory entry type is unknown, read
50067 it from the inode.
50068
0ef123f6 500692004-08-02 Peter Bruin <pjbruin@dds.nl>
50070
50071 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50072 grub_load_linux instead of grub_rescue_cmd_linux as second
50073 argument of grub_rescue_register_command.
50074
50075 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50076
a447c5df 500772004-07-27 Marco Gerards <metgerards@student.han.nl>
50078
50079 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50080 function.
50081 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50083 `loader/powerpc/ieee1275/linux.c',
50084 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50085 * include/grub/powerpc/ieee1275/ieee1275.h
50086 (grub_ieee1275_release): New prototype.
50087 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50088 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50089 normal, boot, linux and linux_normal.
50090 * loader/powerpc/ieee1275/linux.c: New file.
50091 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50092
5a9e3546 500932004-07-12 Marco Gerards <metgerards@student.han.nl>
50094
50095 * normal/arg.c (grub_arg_parse): Correct error handling after
50096 reallocating the argumentlist (check if `argl' is not null instead
50097 of checking if `args' is not null).
50098 * kern/mm.c (grub_realloc): Return the same pointer when using the
50099 same region, instead of returning the header address.
50100
e15199cb 501012004-07-11 Marco Gerards <metgerards@student.han.nl>
50102
50103 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50104 one block instead of two when looking for the initial partition.
50105 (grub_partition_probe): Initialize the local variable `p' with 0.
50106 Use base 10 for the grub_strtoul call.
50107 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50108 need for one local variable.
50109 (grub_strtoul): Don't add the new value to `num', instead of that
50110 just assign it.
50111
020616c2 501122004-07-11 Marco Gerards <metgerards@student.han.nl>
50113
50114 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50115 (pxeboot_img_SOURCES): New variable.
50116 (pxeboot_img_ASFLAGS): Likewise.
50117 (pxeboot_img_LDFLAGS): Likewise.
50118 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50119 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50120 <lode_leroy@hotmail.com>.
50121
6c51eb64 501222004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50123
50124 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50125 there was no input.
50126
cfb12aff 501272004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50128
50129 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50130 the history buffer logic.
50131
6eabba74 501322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50133
50134 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50135 (FILETYPE_INO_SYMLINK): New macros.
50136 (grub_ext2_find_file): Check if the node is a directory using the
50137 inode stat information instead of using the filetype in the
50138 dirent. Exclude the first character of an absolute symlink.
50139 (grub_ext2_dir): Mask out the filetype part of the mode member of
50140 the inode.
50141
66e19ef8 501422004-05-24 Marco Gerards <metgerards@student.han.nl>
50143
50144 Add support for UFS version 1 and 2. Add support for the minix
50145 filesystem version 1 and 2, both the variants with 14 and 30 long
50146 filenames.
f19dbdb7 50147
66e19ef8 50148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50149 fs/minix.c.
50150 (grub_emu_SOURCES): Likewise.
50151 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50152 (ufs_mod_SOURCES): New variable.
50153 (ufs_mod_CFLAGS): Likewise.
50154 (minix_mod_SOURCES): Likewise.
50155 (minix_mod_CFLAGS): Likewise.
50156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50157 fs/minix.c.
50158 (grubof_SOURCES): Likewise.
50159 * fs/ufs.c: New file.
50160 * fs/minix.c: New file.
50161 * include/grub/fs.h (grub_ufs_init): New prototype.
50162 (grub_ufs_fini): Likewise.
50163 (grub_minix_init): Likewise.
50164 (grub_minix_fini): Likewise.
50165 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50166 minix fs.
50167
cc2e748a 501682004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50169
50170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50171 commands/ls.c, commands/terminal.c, commands/boot.c,
50172 commands/cmp.c and commands/cat.c.
50173 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50174
50175 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50176 "env.h"
50177
4b13b216 501782004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50179
50180 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50181 and grub_, respectively. Because the conversion is trivial and
50182 mechanical, I omit the details here. Please refer to the CVS
50183 if you need more information.
50184
6a142551 501852004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50186
50187 * include/pupa: Renamed to ...
50188 * include/grub: ... this.
50189 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50190 * util/i386/pc/grub-mkimage.c: ... this.
50191 * util/i386/pc/pupa-setup.c: Renamed to ...
50192 * util/i386/pc/grub-setup.c: ... this.
50193 * util/pupa-emu.c: Renamed to ...
50194 * util/grub-emu.c: ... this.
50195
e56cdf21 501962004-03-29 Marco Gerards <metgerards@student.han.nl>
50197
50198 Add support for the newworld apple macintosh (PPC). This has been
50199 tested on the powerbook 2000 only. It only adds support for
50200 generic ieee1275 functions, console and disk support. This should
50201 be easy to port to other architectures with support for Open
50202 Firmware.
f19dbdb7 50203
e56cdf21 50204 * configure.ac: Accept the powerpc as host_cpu. In the case of
50205 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50206 specific tests are only executed while building for the i386.
50207 Inverse test for crosscompile.
50208 * genmk.rb (Utility): Allow assembler files.
50209 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50210 * conf/powerpc-ieee1275.rmk: New file.
50211 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50212 * disk/powerpc/ieee1275/partition.c: Likewise.
50213 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50214 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50215 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50216 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50217 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50218 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50219 * include/pupa/powerpc/ieee1275/loader.h
50220 * include/pupa/powerpc/setjmp.h: Likewise.
50221 * include/pupa/powerpc/types.h: Likewise.
50222 * kern/powerpc/ieee1275/init.c: Likewise.
50223 * kern/powerpc/ieee1275/openfw.c: Likewise.
50224 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50225
50226 These files were written by Johan Rydberg
50227 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50228
e56cdf21 50229 * boot/powerpc/ieee1275/cmain.c: New file.
50230 * boot/powerpc/ieee1275/crt0.S: Likewise.
50231 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50232 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50233
8c8cc205 502342004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50235
50236 * Makefile.in: Update copyright.
50237 * genmodsrc.sh: Likewise.
50238 * gensymlist.sh: Likewise.
50239 * term/i386/pc/vga.c: Indent correctly.
50240
50241 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50242 bugreporting address.
50243 * util/i386/pc/pupa-setup.c (usage): Likewise,
50244 (main): Call pupa_ext2_init and pupa_ext2_fini.
50245
f19dbdb7 50246 * fs/fat.c (log2): Renamed to ...
8c8cc205 50247 (fat_log2): ... this.
50248 All callers changed.
50249 * kern/misc.c (memcpy): Alias to pupa_memmove.
50250 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50251 lvalue cast.
50252 * util/console.c (pupa_ncurses_fini): Return 0.
50253
50254 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50255 Move fail label here.
50256 [__GNU__]: Don't warn when using stat.
50257 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50258 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50259 long int. Use strtol instead of strtoul.
f19dbdb7 50260
db1771cf 502612004-03-14 Marco Gerards <metgerards@student.han.nl>
50262
50263 * commands/boot.c: New file.
50264 * commands/cat.c: Likewise.
50265 * commands/cmp.c: Likewise.
50266 * commands/ls.c: Likewise.
50267 * commands/terminal.c: Likewise.
50268 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50269 (pupa_register_command): Changed interface to match the new
50270 argument parser.
50271 (pupa_command_execute): Changed (almost rewritten) so it uses
50272 pupa_split_command. Added support for setting variables using the
50273 syntax `foo=bar'.
50274 (rescue_command): Changed to work with the new argument parser.
50275 (terminal_command): Moved from here to commands/terminal.c.
50276 (set_command): New function.
50277 (unset_command): New function.
50278 (insmod_command): New function.
50279 (rmmod_command): New function.
50280 (lsmod_command): New function.
50281 (pupa_command_init): Don't initialize the command terminal
50282 anymore. Initialize the commands set, unset, insmod, rmmod and
50283 lsmod.
50284 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50285 (kernel_img_HEADERS): Add arg.h and env.h.
50286 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50287 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50288 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50289 normal/arg.c.
50290 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50291 terminal.mod.
50292 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50293 (boot_mod_SOURCES): New variable.
50294 (terminal_mod_SOURCES): Likewise.
50295 (ls_mod_SOURCES): Likewise.
50296 (cmp_mod_SOURCES): Likewise.
50297 (cat_mod_SOURCES): Likewise.
50298
50299 * normal/arg.c: New file.
50300 * kern/env.c: Likewise.
50301 * include/pupa/arg.h: Likewise.
50302 * include/pupa/env.h: Likewise.
50303 * font/manager.c (font_command): Changed to match argument parsing
50304 interface changes.
50305 (PUPA_MOD_INIT): Likewise.
50306 * hello/hello.c (pupa_cmd_hello): Likewise.
50307 (PUPA_MOD_INIT): Likewise.
50308 * include/pupa/disk.h: Include <pupa/device.h>.
50309 (pupa_print_partinfo): New prototype.
50310 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50311 (pupa_dl_get_prefix): Likewise.
50312 * include/pupa/misc.h: Include <pupa/err.h>.
50313 (pupa_isgraph): New prototype.
50314 (pupa_isdigit): Likewise.
50315 (pupa_split_cmdline): Likewise.
50316 * include/pupa/normal.h: Include <pupa/arg.h>.
50317 (pupa_command): Changed the prototype of the member `func' to
50318 match the argument parsing interface. Added member `options'.
50319 (pupa_register_command): Updated to match function.
50320 (pupa_arg_parse): New prototype.
50321 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50322 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50323 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50324 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50325 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50326 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50327 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50328 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50329 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50330 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50331 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50332 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50333 * kern/disk.c: Include <pupa/file.h>.
50334 (pupa_print_partinfo): New function.
50335 * kern/dl.c: Include <pupa/env.h>.
50336 (pupa_dl_dir): Variable removed.
50337 (pupa_dl_load): Use the environment variable `prefix' instead of
50338 the variable pupa_dl_dir.
50339 (pupa_dl_set_prefix): Function removed.
50340 (pupa_dl_get_prefix): Likewise.
50341 * kern/i386/pc/init.c: Include <pupa/env.h>.
50342 (pupa_machine_init): Use the environment variable `prefix' instead of
50343 using pupa_dl_set_prefix to set the prefix.
50344 * kern/main.c: Include <pupa/env.h>.
50345 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50346 using pupa_dl_get_prefix to get the prefix.
50347 * kern/misc.c: Include <pupa/env.h>.
50348 (pupa_isdigit): New function.
50349 (pupa_isgraph): Likewise.
50350 (pupa_ftoa): Likewise.
50351 (pupa_vsprintf): Added support for printing values of the type
50352 `double'. Make it possible to format variable output when using
50353 formatting like `%1.2%f'.
50354 (pupa_split_cmdline): New function.
50355 * kern/rescue.c: Include <pupa/env.h>.
50356 (next_word): Removed function.
50357 (pupa_rescue_cmd_prefix): Likewise.
50358 (pupa_rescue_cmd_set): New function.
50359 (pupa_rescue_cmd_unset): New function.
50360 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50361 split the command line instead of splitting it here. Added
50362 support for setting variables using the syntax `foo=bar'. Don't
50363 initialize the prefix command anymore. Initialized the set and
50364 unset commands.
50365 * normal/cmdline.c: Include <pupa/env.h>.
50366 (pupa_tab_complete): Added prototypes for print_simple_completion,
50367 print_partition_completion, add_completion, iterate_commands,
50368 iterate_dev, iterate_part and iterate_dir. Moved code to print
50369 partition information from here to kern/disk.c.
fe6b695a 50370 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50371 * normal/main.c: Include <pupa/env.h>.
50372 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50373 instead of using pupa_dl_get_prefix to get the prefix.
50374 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50375 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50376 warning.
50377 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50378 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50379 ((unused))' to silence a gcc warning.
50380 (pupa_vga_setcolor): Likewise.
50381 (debug_command): Changed to match argument parsing
50382 interface changes.
50383 * util/pupa-emu.c: Include <pupa/env.h>.
50384 (options): Added 0's for unused fields to silence a gcc warning.
50385 (argp): Likewise.
50386 (main): Use the environment variable `prefix' instead of using
50387 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50388 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50389 and terminal.
50390
50391 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50392 * util/misc.c: Include <malloc.h>.
50393 (pupa_malloc): Rewritten so errors are correctly reported.
50394 (pupa_realloc): Likewise.
50395 (pupa_memalign): Likewise.
50396 (pupa_mm_init_region): Declare unused variables with
50397 `__attribute__ ((unused))' to silence a gcc warning.
50398 * normal/i386/setjmp.S: Remove tab at the end of the file to
50399 silence a gcc warning.
50400 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50401 variables with `__attribute__ ((unused))' to silence a gcc
50402 warning.
50403 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50404 local variable i unsigned to silence a gcc warning.
50405
50406 * kern/term.c: Include <pupa/misc.h>.
50407 (pupa_more_lines): New variable.
50408 (pupa_more): Likewise.
50409 (pupa_putcode): When the pager is active pause at the end of every
50410 screen.
50411 (pupa_set_more): New function.
50412 * include/pupa/term.h (pupa_set_more): New prototype.
50413
50414
3b1139cb 504152004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50416
50417 Now this project is GRUB 2 rather than PUPA. The location of
50418 the CVS repository was moved to GRUB's.
f19dbdb7 50419
3b1139cb 50420 * configure.ac: Use bug-grub as the reporting address.
50421 Use GRUB instead of PUPA.
50422 Change the version number to 1.90.
50423
8367695c 504242004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50425
50426 * genkernsyms.sh: Updated copyright information.
50427 * genmk.rb: Likewise.
50428 * genmodsrc.sh: Likewise.
50429 * gensymlist.sh: Likewise.
50430 * boot/i386/pc/boot.S: Likewise.
50431 * boot/i386/pc/diskboot.S: Likewise.
50432 * disk/i386/pc/biosdisk.c: Likewise.
50433 * disk/i386/pc/partition.c: Likewise.
50434 * font/manager.c: Likewise.
50435 * fs/ext2.c: Likewise.
50436 * fs/fat.c: Likewise.
50437 * include/pupa/boot.h: Likewise.
50438 * include/pupa/device.h: Likewise.
50439 * include/pupa/disk.h: Likewise.
50440 * include/pupa/dl.h: Likewise.
50441 * include/pupa/elf.h: Likewise.
50442 * include/pupa/err.h: Likewise.
50443 * include/pupa/file.h: Likewise.
50444 * include/pupa/font.h: Likewise.
50445 * include/pupa/fs.h: Likewise.
50446 * include/pupa/kernel.h: Likewise.
50447 * include/pupa/loader.h: Likewise.
50448 * include/pupa/misc.h: Likewise.
50449 * include/pupa/mm.h: Likewise.
50450 * include/pupa/net.h: Likewise.
50451 * include/pupa/normal.h: Likewise.
50452 * include/pupa/rescue.h: Likewise.
50453 * include/pupa/setjmp.h: Likewise.
50454 * include/pupa/symbol.h: Likewise.
50455 * include/pupa/term.h: Likewise.
50456 * include/pupa/types.h: Likewise.
50457 * include/pupa/i386/setjmp.h: Likewise.
50458 * include/pupa/i386/types.h: Likewise.
50459 * include/pupa/i386/pc/biosdisk.h: Likewise.
50460 * include/pupa/i386/pc/boot.h: Likewise.
50461 * include/pupa/i386/pc/console.h: Likewise.
50462 * include/pupa/i386/pc/init.h: Likewise.
50463 * include/pupa/i386/pc/kernel.h: Likewise.
50464 * include/pupa/i386/pc/linux.h: Likewise.
50465 * include/pupa/i386/pc/loader.h: Likewise.
50466 * include/pupa/i386/pc/memory.h: Likewise.
50467 * include/pupa/i386/pc/multiboot.h: Likewise.
50468 * include/pupa/i386/pc/partition.h: Likewise.
50469 * include/pupa/i386/pc/time.h: Likewise.
50470 * include/pupa/i386/pc/vga.h: Likewise.
50471 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50472 * include/pupa/util/getroot.h: Likewise.
50473 * include/pupa/util/misc.h: Likewise.
50474 * include/pupa/util/resolve.h: Likewise.
50475 * kern/device.c: Likewise.
50476 * kern/disk.c: Likewise.
50477 * kern/dl.c: Likewise.
50478 * kern/err.c: Likewise.
50479 * kern/file.c: Likewise.
50480 * kern/fs.c: Likewise.
50481 * kern/loader.c: Likewise.
50482 * kern/main.c: Likewise.
50483 * kern/misc.c: Likewise.
50484 * kern/mm.c: Likewise.
50485 * kern/rescue.c: Likewise.
50486 * kern/term.c: Likewise.
50487 * kern/i386/dl.c: Likewise.
50488 * kern/i386/pc/init.c: Likewise.
50489 * kern/i386/pc/lzo1x.S: Likewise.
50490 * kern/i386/pc/startup.S: Likewise.
50491 * loader/i386/pc/chainloader.c: Likewise.
50492 * loader/i386/pc/linux.c: Likewise.
50493 * loader/i386/pc/multiboot.c: Likewise.
50494 * normal/cmdline.c: Likewise.
50495 * normal/command.c: Likewise.
50496 * normal/main.c: Likewise.
50497 * normal/menu.c: Likewise.
50498 * normal/i386/setjmp.S: Likewise.
50499 * term/i386/pc/console.c: Likewise.
50500 * term/i386/pc/vga.c: Likewise.
50501 * util/console.c: Likewise.
50502 * util/genmoddep.c: Likewise.
50503 * util/misc.c: Likewise.
50504 * util/pupa-emu.c: Likewise.
50505 * util/resolve.c: Likewise.
50506 * util/unifont2pff.rb: Likewise.
50507 * util/i386/pc/biosdisk.c: Likewise.
50508 * util/i386/pc/getroot.c: Likewise.
50509 * util/i386/pc/pupa-mkimage.c: Likewise.
50510 * util/i386/pc/pupa-setup.c: Likewise.
50511
e6eced71 505122004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50513
50514 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50515 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50516 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50517 reading and reset it after reading.
50518 (pupa_ext2_close): Return PUPA_ERR_NONE.
50519
50520 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50521 Correct value.
50522 (struct linux_kernel_header): Add kernel_version and
50523 initrd_addr_max.
50524 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50525 pupa_file_read succeeds.
50526 (pupa_rescue_cmd_initrd): Implement.
50527
5aded270 505282003-12-03 Marco Gerards <metgerards@student.han.nl>
50529
50530 * fs/ext2.c (pupa_ext2_label): New function.
50531 (pupa_ext2_fs): Added label.
50532 * fs/fat.c (pupa_fat_label): New function.
50533 (pupa_fat_fs): Added label.
50534 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50535
50536 * kern/misc.c (pupa_strndup): New function.
50537 * include/pupa/misc.h (pupa_strndup): New prototype.
50538
50539 * include/pupa/normal.h: Include <pupa/err.h>.
50540 (pupa_set_history): New prototype.
50541 (pupa_iterate_commands): New prototype.
50542 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50543 <pupa/disk.h>, <pupa/file.h>.
50544 (hist_size): New variable.
50545 (hist_lines): Likewise.
50546 (hist_end): Likewise.
50547 (hist_used): Likewise.
50548 (pupa_set_history): New function.
50549 (pupa_history_get): Likewise.
50550 (pupa_history_add): Likewise.
50551 (pupa_history_replace): Likewise.
50552 (pupa_tab_complete): Likewise.
50553 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50554 completion shows partitionnames while completing partitions, this
50555 feature was suggested by Jeff Bailey.
50556 * normal/command.c (pupa_iterate_commands): New function.
50557 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50558 (pupa_normal_init): Initialize history buffer.
50559 (PUPA_MOD_INIT): Likewise.
50560 (pupa_normal_fini): Free the history buffer.
50561 (PUPA_MOD_FINI): Likewise.
50562
50563 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50564 key.
50565
50566 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50567 * configure.ac [i386]: Check for regparam bug.
50568 (NESTED_FUNC_ATTR) [! i386]: Defined.
50569
1f7315a3 505702003-11-17 Marco Gerards <metgerards@student.han.nl>
50571
50572 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50573 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50574 (pupa_emu_SOURCES): New variable.
50575 (pupa_emu_LDFLAGS): Likewise.
50576 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50577 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50578 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50579 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50580 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50581 (pupa_jmp_buf): New typedef.
50582 (pupa_setjmp) [PUPA_UTIL]: New macro.
50583 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50584 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50585 (pupa_refresh): New prototype.
50586 * include/pupa/util/getroot.h: New file.
50587 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50588 it.
50589 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50590 (pupa_rescue_cmd_cat): Likewise.
50591 (pupa_rescue_cmd_ls): Likewise.
50592 (pupa_rescue_cmd_testload): Likewise.
50593 (pupa_rescue_cmd_lsmod): Likewise.
50594 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50595 * normal/menu.c (run_menu): Likewise.
50596 * kern/term.c (pupa_cls): Likewise.
50597 (pupa_refresh): New function.
50598 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50599 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50600 * util/console.c: New file.
f19dbdb7 50601
1f7315a3 50602 * util/i386/pc/getroot.c: New file.
50603 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50604 (pupa_putchar): New function.
50605 (pupa_refresh): Likewise.
50606 (xgetcwd): Function moved to ...
50607 (strip_extra_slashes): Likewise.
50608 (get_prefix): Likewise.
f19dbdb7 50609 * util/i386/pc/getroot.c: ... here.
1f7315a3 50610 (find_root_device): Function moved and renamed to...
50611 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50612 Changed all callers.
50613 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50614 and renamed to...
50615 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50616 Changed all callers.
50617 * util/misc.c (pupa_memalign): New function.
50618 (pupa_mm_init_region): Likewise.
50619 (pupa_register_exported_symbols): Likewise.
50620 (pupa_putchar): Function removed.
50621 * util/pupa-emu.c: New file.
50622
9a5c1ade 506232003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50624
50625 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50626 (_multiboot_mod_SOURCES): New variable.
50627 (_multiboot_mod_CFLAGS): Likewise.
50628 * loader/i386/pc/multiboot.c: New file.
50629 * include/pupa/i386/pc/multiboot.h: Likewise.
50630 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50631 (pupa_multiboot_real_boot): New function.
50632 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50633 (pupa_multiboot_real_boot): New prototype.
50634 (pupa_rescue_cmd_multiboot): Likewise
50635 (pupa_rescue_cmd_module): Likewise.
50636
50637 * kern/loader.c (pupa_loader_set): Continue when
50638 pupa_loader_unload_func() fails.
50639 (pupa_loader_unset): New function.
50640 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50641
50642 * kern/misc.c (pupa_stpcpy): New function.
50643 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50644
8e72a9c0 506452003-11-12 Marco Gerards <metgerards@student.han.nl>
50646
50647 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50648 for available extensions.
50649
50650 * include/pupa/i386/pc/time.h: New file.
50651 * kern/disk.c: Include <pupa/machine/time.h>.
50652 (PUPA_CACHE_TIMEOUT): New macro.
50653 (pupa_last_time): New variable.
50654 (pupa_disk_open): Flush the cache when there was a timeout.
50655 (pupa_disk_close): Reset the timer.
50656 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50657 pupa_currticks.
50658 * util/misc.c: Include <sys/times.h>
50659 (pupa_get_rtc): New function.
50660
c4adbd32 506612003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50662
50663 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50664 as blocks.
50665 (pupa_ext2_get_file_block): Use blocks member.
50666
50667 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50668 first block. Return -1 instead of pupa_errno on error.
50669
bfd30f06 506702003-10-27 Marco Gerards <metgerards@student.han.nl>
50671
50672 * README: In the pupa-mkimage example use _chain instead of chain
50673 and ext2 instead of fat.
50674 * TODO: Replace ext2fs with jfs as an example. Add an item for
50675 adding journal playback for ext2fs.
50676 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50677 (pkgdata_MODULES): Added ext2.mod.
50678 (ext2_mod_SOURCES): New variable.
50679 (ext2_mod_CFLAGS): Likewise.
50680 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50681 * include/pupa/misc.h (pupa_strncpy): New prototype.
50682 (pupa_strcat): Likewise.
50683 (pupa_strncmp): Likewise.
50684 * kern/misc.c (pupa_strcat): Enable function.
50685 (pupa_strncpy): New function.
50686 (pupa_strncmp): Likewise.
50687 * fs/ext2.c: New file.
f19dbdb7 50688
bfd30f06 50689 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50690 when the read failed before retrying.
50691 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50692 (_FILE_OFFSET_BITS): Likewise.
50693 * configure.ac: Added AC_SYS_LARGEFILE.
50694
98d15063 506952003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50696
50697 * genmk.rb (PModule#rule): Make sure to get only symbol names
50698 from the output of nm.
59cad637 50699 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50700
18d9c7cd 507012003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50702
50703 I forgot to check in these changes for a long time. This adds
50704 incomplete support for VGA console, and this is still very
50705 buggy. Also, a lot of consideration is required for I18N,
50706 UNICODE, and VGA font issues. Therefore, assume that this is
50707 such that "better than nothing".
f19dbdb7 50708
18d9c7cd 50709 * font/manager.c: New file.
50710 * include/pupa/font.h: Likewise.
50711 * include/pupa/i386/pc/vga.h: Likewise.
50712 * term/i386/pc/vga.c: Likewise.
50713 * util/unifont2pff.rb: Likewise.
50714
50715 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50716 (pkgdata_MODULES): Added vga.mod and font.mod.
50717 (vga_mod_SOURCES): New variables.
50718 (vga_mod_CFLAGS): Likewise.
50719 (font_mod_SOURCES): Likewise.
50720 (font_mod_CFLAGS): Likewise.
50721
50722 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50723
50724 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50725 (struct pupa_term): Added init and fini.
18d9c7cd 50726 Changed the argument of putchar to pupa_uint32_t.
50727
50728 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50729 (pupa_console_real_putchar): New prototype.
50730 (pupa_console_putchar): Removed.
50731 (pupa_console_checkkey): Exported.
50732 (pupa_console_getkey): Likewise.
50733
50734 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50735 characters.
50736
50737 * kern/term.c (pupa_term_set_current): Rewritten.
50738 (pupa_putchar): Likewise.
50739 (pupa_putcode): New function.
50740
50741 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50742 (pupa_console_real_putchar): ... this.
50743 (pupa_vga_set_mode): New function.
50744 (pupa_vga_get_font): Likewise.
50745
50746 * normal/command.c: Include pupa/term.h.
50747 (terminal_command): New function.
50748 (pupa_command_init): Register the command "terminal".
50749
50750 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50751 (DISP_UP): Likewise.
50752 (DISP_RIGHT): Likewise.
50753 (DISP_DOWN): Likewise.
50754 (DISP_HLINE): Likewise.
50755 (DISP_VLINE): Likewise.
50756 (DISP_UL): Likewise.
50757 (DISP_UR): Likewise.
50758 (DISP_LL): Likewise.
50759 (DISP_LR): Likewise.
50760
50761 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50762
977329f5 507632003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50764
50765 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50766 FIX. Reverse the path_list.
50767
50768 * include/pupa/normal.h: Export pupa_register_command and
50769 pupa_unregister_command.
50770
50771 * hello/hello.c (pupa_cmd_hello): New module.
50772 * conf/i386-pc.rmk: Added hello.mod.
50773
1f5ab428 507742003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50775
50776 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50777
1f5ab428 50778 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50779 (compress_kernel): New variable.
50780 (generate_image): Heavily modified to support compressing a
50781 large part of the core image.
50782
50783 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50784 leak.
50785 (pupa_util_load_image): New function.
50786
50787 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50788 (pupa_compressed_size): New variable.
50789 (codestart): Enable Gate A20 here.
50790 Decompress the compressed part of the core image.
50791 Rearrange the code to put functions and variables which are
50792 required for initialization in the non-compressed part.
50793 Include lzo1x.S.
50794
50795 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50796 here.
50797
50798 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50799
f19dbdb7 50800 * include/pupa/i386/pc/kernel.h
1f5ab428 50801 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50802 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50803 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50804 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50805 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50806
50807 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50808
50809 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50810 (Utility#rule): Likewise.
50811
50812 * configure.ac: Check if LZO is available.
50813
ce5bf700 508142003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50815
50816 * include/pupa/normal.h: New file.
50817 * include/pupa/setjmp.h: Likewise.
50818 * include/pupa/i386/setjmp.h: Likewise.
50819 * normal/cmdline.c: Likewise.
50820 * normal/command.c: Likewise.
50821 * normal/main.c: Likewise.
50822 * normal/menu.c: Likewise.
50823 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50824
ce5bf700 50825 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50826 (pupa_rescue_cmd_initrd): Likewise.
50827
50828 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50829 Likewise.
50830
50831 * kern/i386/pc/startup.S (translation_table): New variable.
50832 (translate_keycode): New function.
50833 (pupa_console_getkey): Call translate_keycode.
50834
50835 * kern/rescue.c (attempt_normal_mode): New function.
50836 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50837 it failed, print a message.
50838
50839 * kern/mm.c (pupa_real_malloc): Print more information when a
50840 free magic is broken.
50841 (pupa_free): If the first free header is not free actually, set
50842 it to P.
50843
50844 * kern/main.c (pupa_load_normal_mode): Just load the module
50845 "normal".
50846 (pupa_main): Don't print the message
50847 "Entering into rescue mode..." here.
50848
50849 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50850 Declared.
50851 (pupa_rescue_cmd_initrd): Likewise.
50852 (pupa_rescue_cmd_initrd): Likewise.
50853
50854 * include/pupa/symbol.h (FUNCTION): Specify the type.
50855 (VARIABLE): Likewise.
50856
50857 * include/pupa/err.h (pupa_err_t): Added
50858 PUPA_ERR_UNKNOWN_COMMAND.
50859
50860 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50861 (pupa_dl_get_prefix): Likewise.
50862
50863 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50864 Added _chain.mod and _linux.mod instead of chain.mod and
50865 linux.mod.
50866 (chain_mod_SOURCES): Renamed to ...
50867 (_chain_mod_SOURCES): ... this.
50868 (chain_mod_CFLAGS): Renamed to ...
50869 (_chain_mod_CFLAGS): ... this.
50870 (linux_mod_SOURCES): Renamed to ...
50871 (_linux_mod_SOURCES): ... this.
50872 (linux_mod_CFLAGS): Renamed to ...
50873 (_linux_mod_CFLAGS): ... this.
50874 (normal_mod_SOURCES): New variable.
50875 (normal_mod_CFLAGS): Likewise.
50876 (normal_mod_ASFLAGS): Likewise.
50877
508782003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50879
50880 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50881 possible.
50882
fe6b695a 50883 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50884 recursively.
50885 (pupa_dl_unref): Unrefer depending modules recursively.
50886 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50887 a module is unloaded before one depending on that module is
50888 unloaded.
50889 (pupa_dl_unload): Unload depending modules explicitly,
50890 if possible.
50891
c04da074 508922003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50893
50894 * include/pupa/i386/pc/linux.h: New file.
50895 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50896
c04da074 50897 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50898 Removed.
50899 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50900 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50901 of PUPA_CHAINLOADER_BOOT_SECTOR.
50902
50903 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50904 (pupa_linux_prot_size): New variable.
50905 (pupa_linux_tmp_addr): Likewise.
50906 (pupa_linux_real_addr): Likewise.
50907 (pupa_linux_boot_zimage): New function.
50908 (pupa_linux_boot_bzimage): Likewise.
50909
50910 * kern/i386/pc/init.c (struct mem_region): New structure.
50911 (MAX_REGIONS): New macro.
50912 (mem_regions): New variable.
50913 (num_regions): Likewise.
50914 (pupa_os_area_addr): Likewise.
50915 (pupa_os_area_size): Likewise.
50916 (pupa_lower_mem): Likewise.
50917 (pupa_upper_mem): Likewise.
50918 (add_mem_region): New function.
50919 (compact_mem_regions): Likewise.
50920 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50921 the size of the conventional memory and that of so-called upper
50922 memory (before the first memory hole).
50923 Instead of adding each found region to free memory, use
50924 add_mem_region and add them after removing overlaps.
50925 Also, add only 1/4 of the upper memory to free memory. The rest
50926 is used for loading OS images. Maybe this is ad hoc, but this
50927 makes it much easier to relocate OS images when booting.
50928
50929 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50930 (pupa_enter_rescue_mode): Don't register initrd and module.
50931
50932 * kern/mm.c: Include pupa/dl.h.
50933
50934 * kern/main.c: Include pupa/file.h and pupa/device.h.
50935
50936 * kern/loader.c (pupa_loader_load_module_func): Removed.
50937 (pupa_loader_load_module): Likewise.
50938
50939 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50940 ``.o''.
50941
50942 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50943 (pupa_linux_tmp_addr): Likewise.
50944 (pupa_linux_real_addr): Likewise.
50945 (pupa_linux_boot_zimage): Likewise.
50946 (pupa_linux_boot_bzimage): Likewise.
50947
50948 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50949 (pupa_upper_mem): Likewise.
50950 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50951 module is too dangerous.
50952
50953 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50954 (pupa_os_area_size): Likewise.
50955 (pupa_loader_set): Remove the first argument. Loader doesn't
50956 manage modules or initrd any longer.
50957 (pupa_loader_load_module): Removed.
50958
50959 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50960 (linux_mod_SOURCES): New variable.
50961 (linux_mod_CFLAGS): Likewise.
50962
a13f9237 509632003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50964
50965 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50966 the length of a blocklist correctly.
50967
50968 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50969 Use ioctl only if the OS file is a block device.
50970 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50971 not very useful for normal files.
50972
50973 * kern/main.c (pupa_set_root_dev): New function.
50974 (pupa_load_normal_mode): Likewise.
50975 (pupa_main): Call those above.
50976
50977 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50978 pupa_uint16_t.
50979
50980 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50981
a5ffe966 509822003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50983
50984 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50985 (setup): Configure the installed partition information and the
50986 dl prefix.
50987
50988 * loader/i386/pc/chainloader.c (my_mod): New variable.
50989 (pupa_chainloader_unload): New function.
50990 (pupa_rescue_cmd_chainloader): Refer itself.
50991 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50992
50993 * kern/i386/pc/startup.S (install_partition): Removed.
50994 (version_string): Likewise.
50995 (config_file): Likewise.
50996 (pupa_install_dos_part): New variable.
50997 (pupa_install_bsd_part): Likewise.
50998 (pupa_prefix): Likewise.
50999 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51000
51001 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51002 and pupa/misc.h.
51003 (make_install_device): New function.
51004 (pupa_machine_init): Set the dl prefix.
51005
51006 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51007 (buf): Renamed to ...
51008 (linebuf): ... this.
51009 (pupa_rescue_cmd_prefix): New function.
51010 (pupa_rescue_cmd_insmod): Likewise.
51011 (pupa_rescue_cmd_rmmod): Likewise.
51012 (pupa_rescue_cmd_lsmod): Likewise.
51013 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51014 rmmod and lsmod.
51015
51016 * kern/mm.c (pupa_memalign): If failed even after invalidating
51017 disk caches, unload unneeded modules and retry.
51018
51019 * kern/misc.c (pupa_memmove): New function.
51020 (pupa_memcpy): Removed.
51021 (pupa_strcpy): New function.
51022 (pupa_itoa): Made static.
51023
51024 * kern/dl.c (pupa_dl_iterate): New function.
51025 (pupa_dl_ref): Likewise.
51026 (pupa_dl_unref): Likewise.
51027 (pupa_dl_unload): Return if succeeded or not.
51028 (pupa_dl_unload_unneeded): New function.
51029 (pupa_dl_unload_all): Likewise.
51030 (pupa_dl_init): Renamed to ...
51031 (pupa_dl_set_prefix): ... this.
51032 (pupa_dl_get_prefix): New function.
51033
51034 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51035 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51036 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51037 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51038 (pupa_install_dos_part): Declared.
51039 (pupa_install_bsd_part): Likewise.
51040 (pupa_prefix): Likewise.
51041 (pupa_boot_drive): Likewise.
51042
51043 * include/pupa/types.h: Fix a typo.
51044
51045 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51046 pupa_memmove.
51047 (pupa_memmove): Declared.
51048 (pupa_strcpy): Likewise.
51049
51050 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51051 pupa_mod_init takes one argument, its own module.
51052 (pupa_dl_unload_unneeded): Declared.
51053 (pupa_dl_unload_all): Likewise.
51054 (pupa_dl_ref): Likewise.
51055 (pupa_dl_unref): Likewise.
51056 (pupa_dl_iterate): Likewise.
51057 (pupa_dl_init): Renamed to ...
51058 (pupa_dl_set_prefix): ... this.
51059 (pupa_dl_get_prefix): Declared.
51060
51061 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51062 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51063 unloaded.
51064 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51065 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51066
51067 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51068 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51069
012d7999 510702003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51071
51072 * util/i386/pc/pupa-setup.c (setup): Define the internal
51073 function find_first_partition_start at the top level, because GCC
51074 3.0.x cannot compile internal functions in deeper scopes
51075 correctly.
51076 (find_root_device): Use lstat instead of stat.
51077 Don't follow symbolic links.
51078 Fix the path-constructing code.
51079
51080 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51081 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51082 by a BLKGETSIZE ioctl first, because block devices don't fill
51083 the member st_mode of the structure stat on Linux.
51084 [__linux__] (linux_find_partition): Use a temporary buffer
51085 REAL_DEV for the working space. Copy it to DEV before returning.
51086 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51087 buffer cache consistent.
51088 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51089 strncmp. The previous value was merely wrong.
51090 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51091
51092 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51093 FAT size is 12. The previous value was merely wrong.
51094
51095 * kern/main.c (pupa_main): Don't split the starting message from
51096 newlines.
51097
51098 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51099 LF, because BIOS goes crazy about character attributes in this
51100 case.
51101
1cc73a62 511022003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51103
51104 * include/i386/pc/util/biosdisk.h: New file.
51105 * util/i386/pc/biosdisk.c: Likewise.
51106 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51107
1cc73a62 51108 * Makefile.in (INCLUDE_DISTFILES): Added
51109 include/pupa/i386/pc/util/biosdisk.h.
51110 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51111 directory util/i386/pc.
51112 (install-local): Added a rule for sbin_UTILITIES.
51113 (uninstall): Likewise.
51114
51115 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51116
51117 * util/misc.c (xrealloc): New function.
51118 (pupa_malloc): Likewise.
51119 (pupa_free): Likewise.
51120 (pupa_realloc): Likewise.
51121 (pupa_stop): Likewise.
51122 (pupa_putchar): Likewise.
51123
51124 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51125
51126 * include/pupa/util/misc.h (xrealloc): Declared.
51127
51128 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51129 macro.
51130 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51131 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51132
51133 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51134 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51135
51136 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51137 way should be implemented.
51138 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51139
51140 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51141 the size of NAME for safety.
51142 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51143 0x88.
51144
51145 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51146 (pupa_setup_SOURCES): Likewise.
51147
51148 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51149
08b70fe8 511502002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51151
51152 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51153 bunch of pushl's from pusha, because this destroys the return
51154 value.
51155
62ddcc8f 511562002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51157
51158 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51159 This means that any missing prototypes could be fatal. Also, you
51160 must take care when writing assembly code. See the comments at
51161 the beginning of startup.S, for more details.
f19dbdb7 51162
62ddcc8f 51163 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51164 compilation mechanism.
51165 (pupa_chainloader_real_boot): Likewise.
51166 (pupa_biosdisk_rw_int13_extensions): Likewise.
51167 (pupa_biosdisk_rw_standard): Likewise.
51168 (pupa_biosdisk_check_int13_extensions): Likewise.
51169 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51170 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51171 (pupa_get_memsize): Likewise.
51172 (pupa_get_mmap_entry): Likewise.
51173 (pupa_console_putchar): Likewise.
51174 (pupa_console_setcursor): Likewise.
51175 (pupa_getrtsecs): Use pushl instead of push.
51176
51177 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51178 memory instead of the stack for a mmap entry, because some
51179 BIOSes may ignore the maximum size and overflow.
51180
51181 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51182
51183 * genmk.rb (PModule#rule): Compile automatically generated
51184 sources with module-specific CFLAGS as well as other sources.
51185
9962ed99 511862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51187
51188 * configure.ac: Check ld.
51189 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51190 respectively, before checking endianness and sizes.
51191
51192 * Makefile.in (LD): New variable.
f19dbdb7 51193
abdfc3c5 511942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51195
51196 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51197
6a161fa9 511982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51199
51200 * Changelog: New file.
51201