]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Verify signatures of signatures unless --skip-sig is specified.
[grub2.git] / ChangeLog
CommitLineData
0d711431
VS
12013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Verify signatures of signatures unless --skip-sig is specified.
4
f8401f76
VS
52013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
8 \0 checking.
9
10 Saves 70 bytes on compressed image.
11
ac1feb61
VS
122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
15 check.
16
17 Saves 10 bytes on compressed image.
18
00f72e89
VS
192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/kern/misc.c (grub_isprint): Move to ...
22 * include/grub/misc.h (grub_isprint): ... here. Make inline.
23
24 Saves 20 bytes on compressed image due to remving exporting.
25
067e6ae7
VS
262013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
29
30 Saves 5 bytes on compressed image.
31
64a6c791
VS
322013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
35 function get_utf8.
36
37 Saves 379 bytes on compressed image.
38
979d9f52
VS
392013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
42
1437da54
VS
432013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
46
47 Saves 40 bytes on compressed image.
48
d9ee2269
VS
492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
52 mask rather than 64-bit type.
53
54 Saves 20 bytes on compressed image.
55
63efa602
VS
562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
59 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
60
47601ffe
VS
61 Saves 273 bytes on compressed image.
62
2cc679ad
VS
632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
66 variable length arrays.
67
68 Saves 50 bytes on compressed image.
69
2e4659b8
VS
702013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
73
2a40badf
VS
742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/fs/ufs.c: Remove variable length arrays.
77
1ba6b9b9
VS
782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
81
f3e39341
VS
822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/zfs.c: Remove variable length arrays.
85 Reduces zfs.mod by 160 bytes (208 compressed).
86
71523935
VS
872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
90
28153eb8
VS
912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/net/arp.c: Remove variable length arrays.
94 * grub-core/net/bootp.c: Likewise.
95 * grub-core/net/dns.c: Likewise.
96 * grub-core/net/icmp6.c: Likewise.
97 * grub-core/net/net.c: Likewise.
98
88ce4cd7
VS
992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/fs/ntfs.c: Remove variable length arrays.
102 Increases ntfs.mod by 64 bytes (but decreases by 3 when
103 compressed).
104
66123940
VS
1052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/fs/hfs.c: Remove variable length arrays.
108 Reduces hfs.mod by 8 bytes (52 compressed).
109
0927e5bd
VS
1102013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 113 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
114 compressed).
115
9c12ac97
VS
1162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 119 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
120 compressed).
121
97ec2d71
VS
1222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 125 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
126 compressed).
127
156e4ea0
VS
1282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/fs/xfs.c: Remove variable length arrays.
131 Reduces xfs.mod by 40 bytes (43 compressed).
132
3b502c29
VS
1332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/fs/fshelp.c: Remove variable length arrays.
136 Reduces fshelp.mod by 116 bytes (23 compressed).
137
c7037f1d
VS
1382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/normal/completion.c: Remove variable length arrays.
141 * grub-core/normal/menu_entry.c: Likewise.
142
143 Reduces normal.mod by 496 bytes.
144
a07e6ad0
VS
1452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
148 by 356 bytes (158 compressed).
149
2359bf88
VS
1502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
153 by 364 bytes (169 compressed).
154
d28e1163
VS
1552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
158 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
159 * include/grub/types.h (grub_unaligned_uint64_t): New type.
160
e89c2d48
VS
1612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
164 bitmasks to small structures of size chosen to fit in registers.
165
7abdac8e
VS
1662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * conf/Makefile.common: Use -freg-struct-return on i386. This
169 decreases code size and improves performance.
170
518864c0
VS
1712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
174
bbd2b539
VS
1752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
178 "(null)" string.
179 Simplify expressions to save around 256 bytes in kernel.img.
180 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
181
99519c15
VS
1822013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
185 Use GRUB_UTIL_FD_O_* rather than O_*.
186
20285765
VS
1872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Add haiku-specific functions.
190
887c0bb6
VS
1912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
194
cd78a56f
VS
1952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Move stat () and device mode checking into OS-dependent files as
198 long as performance doesn't suffer.
199
a4012f07
VS
2002013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Split make_system_path_relative_to_its_root into separate file
203 relpath.c from getroot.c as it's common between unix and haiku
204 but otherwise haiku doesn't use any functions from unix getroot.c.
205
31de274d
VS
2062013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
209 New function.
210 (grub_util_is_special_file): Likewise.
211
40346de6
VS
2122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
215 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
216
d3923ab9
VS
2172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
220 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
221
663f6eb1
VS
2222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
225 (load_image): Likewise.
226
44d1c20a
VS
2272013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * util/grub-render-label.c: Move backend part to ...
230 * util/render-label.c: ... here.
231
d0a116ee
VS
2322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
235 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
236
b47fcae6
VS
2372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
240
0f7c00c1
VS
2412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
244 CD-ROM in case when it's declared as having subpartitions.
245
29013cba
VS
2462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
247
248 Don't add -lm on haiku.
249
250 * configure.ac: Define BUILD_LIBM to -lm on most platforms
251 and empty on haiku.
252 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
253 -lm.
254
e8559d24
VS
2552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * configure.ac: Use -melf_*_haiku as target on haiku.
258
8104063c
VS
2592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * Makefile.util.def: Add util/setup.c to extra_dist.
262
fc3182c7
VS
2632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
266 unknown types through.
267
f90a3cc0
VS
2682013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
271 (grub_util_check_char_device): Likewise.
272 * include/grub/emu/getroot.h: Likewise.
273
1e3e7419
VS
2742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
277 memset rather than inline static function.
278
92c88fc8
VS
2792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
282 not doing embedded decompressor.
283
3cd910a2
VS
2842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
287 shadowing.
288 * grub-core/kern/disk.c: Likewise.
289 * grub-core/kern/misc.c: Likewise.
290 * include/grub/parser.h: Likewise.
291 * include/grub/script_sh.h: Likewise.
292 * include/grub/zfs/zfs.h: Likewise.
293
7b3aca00
VS
2942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
297
97dfe7e4
VS
2982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
301 defined before trying to use it.
302
bf919aa9
VS
3032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
306 warning.
307
f4ccf29d
VS
3082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
311 Use __unused__ rather than __used__ on gcc < 3.2.
312
0d3a6f85
VS
3132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
316 gcc < 4.0.
317 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
318
757e3eb7
VS
3192013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
322
fb320faf
VS
3232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
326 * include/grub/emu/misc.h: Likewise.
327
ea73acd2
VS
3282013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
331 cur_color.
332
71237a6f
VT
3332013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
334
335 * grub-core/tests/checksums.h: Regenerated due to progress bar
336 get_minimal_size changes.
337
3d46c22f
BC
3382013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
339
340 Added `tr' command support.
341
342 * grub-core/commands/tr.c: New file.
343 * grub-core/Makefile.core.def: Build rules for new module.
344
345 * tests/grub_cmd_tr.in: New test.
346 * Makefile.util.def: Build rules for new test.
347
47e0a61f
VT
3482013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
349
350 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
351
946fd073
VT
3522013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
353
354 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
355 * docs/gurb.texi: Likewise.
356
9c13c576
VT
3572013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
358
359 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
360 Pixmap highlighted section with east and west slices was displayed
361 incorrectly due to negative width of the central slice.
362
ad543f12
VT
3632013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
364
365 * docs/grub.texi: Graphical options information update.
366 Removed outdated. Updated current. Inserted missed.
367
6176a0cd
VS
3682013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * docs/grub.texi: Mention few new platform-specific commands.
371
9688cae2
VS
3722013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
375 currently used so this doesn't really have any effect.
376 Reported by: Douglas Ray <dougray>
377
8154884d
VS
3782013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub-mkstandalone.in: Remove needless copying since we already
381 pass the files to tar.
382
f7b69a3f
VS
3832013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
386 compilation but prevents gcc from displaying messages in non-Latin
387 alphabets.
388 * conf/Makefile.common: Likewise.
389
ceca6ddf
HY
3902013-10-16 Hiroyuki YAMAMORI
391
392 Handle Japanese special keys.
393 Reported by: Hiroyuki YAMAMORI.
394 Codes supplied by: Hiroyuki YAMAMORI.
395
ac48d334
VT
3962013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
397
398 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
399
b2b71bff
VT
4002013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
401
402 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
403 * docs/grub.texi: Likewise.
404
669fc449
VS
4052013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
408 value in case of incomplete read.
409 (grub_util_fd_write): Likewise.
410
59381678
VS
4112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
414
bacfefbb
VS
4152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * util/grub-editenv.c (create_envblk_file): More from here ...
418 * util/editenv.c (grub_util_create_envblk_file): ... to here.
419
f7c49570
VS
4202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
423 canonicalize file name before doing the rest.
424
7b83ca44
VS
4252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
428 mingw32.
429
df1e64c9
VS
4302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Define grub_util_is_directory/regular/special_file and
433 use OS-dependent versions rather than to rely on stat().
434
ec16e026
VS
4352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * util/grub-mkimage.c: Move backend part to ...
438 * util/mkimage.c: ... here.
439
4b4eeb3c
VS
4402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Allow compilation with mingw64 albeit with warnings due to lack of
443 %llx/%llu.
444
445 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
446 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
447 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
448 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
449 on mingw64.
450 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
451
f4e0adc0
VS
4522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
453
454 Remove leftover references to some of the system headers.
455
e0127364
VS
4562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
459 read.
460
20d53541
VS
4612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
464 of strerror.
465
5a869940
VS
4662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
467
468 Split out blocklist retrieving from setup.c to
469 grub-core/osdep/blocklist.c and add windows implementation since
470 generic version doesn't work on NTFS on Windows due to aggressive
471 unflushable cache.
472
c06c7520
VS
4732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
476 files.
477
8f53bb3f
VS
4782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
481 Cut tailing newline. Remove arbitrary limitation. Always use
482 grub_util_tchar_to_utf8.
483
148f1007
VS
4842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
487 * tests/printf_unit_test.c (printf_test): Add %% tests.
488 Reported by: Paulo Flabiano Smorigo.
489
af3b06be
VS
4902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
493 implement fsync.
494
27f9d02e
VS
4952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * configure.ac: Check for nvlist_lookup_string in nvpair since we
498 use nvlist_lookup_string and don't use nvlist_print.
499
f6a81f0a
VS
5002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Add wrappers around rename, unlink, mkdir, opendir, readdir and
503 closedir to handle filename charset translation.
504
d7750b32
VS
5052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * include/grub/emu/hostdisk.h: Move file operations to
508 * include/grub/emu/hostfile.h: ... here.
509
2859196e
VS
5102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
513 unicode path.
514
c018c968
VS
5152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
518
7e45abce
VS
5192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
522 and remove export.h.
523
23934da2
VS
5242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/kern/emu/error.c: Removed.
527 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
528 explicitly as it's already in libgnu.a.
529
c11ebcc8
VS
5302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
533 config-util.h include.
534
70671037
VS
5352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Split emunet into platform-dependent and GRUB-binding parts. Keep
538 platform-dependent part in kernel for easy access to OS functions.
539
25ac643a
VS
5402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
543 open/read/write.
544
69ca5876
VS
5452013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/osdep/windows/emuconsole.c: New file.
548
d9d68ef0
AB
5492013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
550
551 * conf/Makefile.extra-dist: Add osdep/*/init.c
552
58e211cc
VS
5532013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
556
588744d0
VS
5572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * util/grub-probe.c (probe): Separate different drives in hint-str
560 by spaces and not newlines.
561 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
562
44016e52
AB
5632013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
564
565 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
566 Handle CD-ROMs.
567
6de9ee86
VS
5682013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Pass-through unknown E820 types. It required reorganisation of mmap
571 module.
572
f8f3f155
AB
5732013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
574
575 * Makefile.util.def: Add osdep/init.c to grub-mount files.
576
b73249d2
VS
5772013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
578
579 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
580 fseeko.
581
dac86b18 5822013-10-14 qwertial <qwertial>
583
584 * grub-core/gdb_grub.in: Fix overflow and wrong field.
585
17614b84
JM
5862013-10-14 Jon McCune <jonmccune@google.com>
587
588 * docs/grub.texi: Document new signatures possibility.
589
6de292cb
VS
5902013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
593
84379b61
VS
5942013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
597 missing prototype.
598 (grub_util_tchar_to_utf8): Likewise.
599
21d85db1
VS
6002013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
603 * grub-core/kern/emu/main.c: Add missing include.
604 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
605 Don't call grub_util_init_nls.
606 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
607 Likewise.
608
66a1b3ee
VS
6092013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
612 stat.
613
e19bec17
VS
6142013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
617
ee8c1b29
VS
6182013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
621
bb338aaf
VS
6222013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Add a wrapper for fopen. On unix-like systems just pass-through. On
625 windows use unicode version.
626
ae5540d3
VS
6272013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
628
629 Move set_program_name and init_nls to host_init. On windows
630 fix in this fuction console and argument charset as well.
631
4cd3c4fe
AB
6322013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
633
634 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
635 GRUB_ENABLE_CRYPTODISK.
636
637 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
638 GRUB_ENABLE_CRYPTODISK.
639 * util/grub-mkconfig_lib.in: Likewise.
640
78170f3e
CCZ
6412013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
642
643 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
644
3414b6c0
MC
6452013-10-12 Melki Christian <Christian.melki@saabgroup.com>
646
647 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
648 error when enabling debug.
649
6d0740e8
IB
6502013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
651
652 * configure.ac: Use -melf_*_obsd on openbsd.
653
ff2d4dc4
VS
6542013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
657
eac6ae82
VS
6582013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * include/grub/misc.h: Use gnu_printf rather than printf as format
661 template since our functions are independent of libc.
662
ba9baabe
VS
6632013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * util/grub-setup.c (setup): Move copying of partition table as
666 futher up as possible to avoid possible overwrite by floppy routines.
667
6682013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
669
670 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
671
145e2369
VT
6722013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
673
674 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
675 * docs/grub.texi: Likewise.
676
3530bc9d
VS
6772013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
680 it's mostly unused. Move vestiges to the callers.
681
fb9f59c3
VS
6822013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
685 version of salt and hash. Use grub_snprintf rather than snprintf.
686
9be1c255
VS
6872013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * docs/grub.texi: Fix problem with braces.
690
ed8c0887
VS
6912013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * conf/Makefile.extra-dist: Fix extra-dist list.
694 * grub-core/Makefile.core.def: Likewise.
695
f72ab14e
VS
6962013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * docs/grub.texi: Document disk names used on Windows and AROS.
699
2fe53a22
VS
7002013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
703 with AROS devs.
704 * grub-core/osdep/aros/hostdisk.c: Likewise.
705
71c1d67a
VS
7062013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Avoid including hostfile.h when not necessarry as it pulls
709 in OS-specific headers which may redefine generic names
710 like "far".
711
ad297ec7
VT
7122013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
713
714 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
715 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
716 scrollbar_bottom_pad
717 * docs/grub.texi: Likewise.
718
6e9e5dc9
VT
7192013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
720
721 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
722
761c718b
VS
7232013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
726
37149a2f
VS
7272013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
730 Removed.
731 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
732 Made static.
733
3837a151
VS
7342013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
737 leftover.
738
caca1c70
VS
7392013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Move OS-specific driver configuration to grub_util_fd_open. This
742 moves OS-dependent parts from kern/emu/hostdisk.c to
743 grub-core/osdep/*/hostdisk.c.
744
f7676b70
VS
7452013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * util/grub-mkimage.c (generate_image): Use size_t instead of
748 grub_size_t.
749 * util/grub-mkimagexx.c (locate_sections): Likewise.
750 (load_image): Likewise.
751
22f98db2
VS
7522013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
755 size_t.
756 (grub_util_write_image): Likewise.
757
b102ce69
VS
7582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
761 get random when no RNG is available.
762 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
763
acbbe5cb
VS
7642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * include/grub/util/lvm.h: Removed.
767
2112fb3f
VS
7682013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
771 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
772
79f78fbf
VS
7732013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/osdep/windows/sleep.c: Add missing config.h.
776
c2e6f705
VS
7772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
780
aabe433a
VS
7812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/net/drivers/emu/emunet.c: Move to ..
784 * grub-core/osdep/linux/emunet.c: ..here.
785
9a2c903f
VS
7862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * util/ieee1275/ofpath.c: Move to ...
789 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
790 * grub-core/osdep/basic/ofpath.c: ..here.
791
4a445f58
VS
7922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
793
794 Move password-querying (util-version) routines to grub-core/osdep.
795
c1ca4244
VS
7962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
797
798 Move sleep routines to grub-core/osdep.
799
672fa55e
VS
8002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
801
802 Move OS-dependent files to grub-core/osdep and document it.
803
a5b0365a
VS
8042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
807 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
808
29072e99
VS
8092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
812
f8772ea7
VS
8132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * util/misc.c: Remove leftover inclusion of malloc.h.
816
a1a315e7
VS
8172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * include/grub/setjmp.h: Remove leftover GRUBOF.
820
cef86fef
VS
8212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/raid.c: Fold into ...
824 * util/getroot_linux.c: ... here. Make all functions static.
825
c4cf25ee
VS
8262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
829 macros to GRUB ones.
830
53a5f5c2
VT
8312013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
832
833 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
834 occasional bug. If there are too many boot entries or too low
835 scrollbar height then we need to use another formula to calculate
836 the position and size of the scrollbar thumb.
837
de300af2
VS
8382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
839
c4cf25ee 840 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 841
c5827364
VT
8422013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
843
844 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
845 * docs/grub.texi: Likewise.
846
dd2ed8b0
VT
8472013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
848
849 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
850 viewport.
851
7286c384
VT
8522013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
853
ffdfc1f3
VT
854 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
855 minimal width calculations.
7286c384 856
ea547e14
VS
8572013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * docs/grub.texi: Update note on colors on emu console.
860
b726be76
VS
8612013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
864 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
865 it's FS and not GRUB limitation.
866
a5f6ade6
VS
8672013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
870
3b0f3aa2
VS
8712013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
874
1db38304
ST
8752013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
876
877 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
878 kernels by version order.
879
fb295fc0
VS
8802013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
883
47345010
VS
8842013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Add AROS hostdisk and getroot routines.
887
bf25f879
VS
8882013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Make cryptodisk and diskfilter probe data retrievable programmatically
891 and not just printable.
892
24ca4512
VS
8932013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
894
895 Split random retrieving code into separate files.
896
c7c177f0
VS
8972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
900 R_ARM_V4BX.
901
d71b45ae
VS
9022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
905 condition.
906 * grub-core/tests/fake_input.c: Likewise.
907 * grub-core/tests/cmdline_cat_test.c: Likewise.
908
e44b9a83
VS
9092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/video/capture.c: Do not do finalization when .fini
912 is called as there is explicit capture_end.
913
4fa60739
VS
9142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
917 changing windows to avoid crash.
918
17c8bc37
VS
9192013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
922
9d4d7977
VS
9232013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * po/exclude.pot: Add several strings to exclude.
926
0caa407c
VS
9272013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
930
9ae393da
VS
9312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * autogen.sh: Add ./util/grub-gen-widthspec.c and
934 ./util/grub-gen-asciih.c to exclude list.
935
498d5033
VS
9362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
939 and don't mark error strings for translation.
940
7d93298f
VS
9412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
944 properly in case of missing block size.
945
b2cae20c
VS
9462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/lib/arm/setjmp.S: Add missing license section.
949
3896d6b4
VS
9502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * po/swiss.sed: Add replacement for key names and for term computer.
953
ebc1da55
VT
9542013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
955
956 * grub-core/gfxmenu/theme_loader.c: New global options for the
957 theme background image handling. desktop-image-scale-method,
958 desktop-image-h-align, desktop-image-v-align.
959 * grub-core/gfxmenu/view.c: Likewise.
960 * include/gfxmenu_view.h: Likewise.
961 * include/bitmap_scale.h: Proportional scale functions introduced.
962 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
963 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
964 cases of unexpected input variables for scale functions.
965 * docs/grub.texi: Updated documentation for new options.
966
c5739143
VS
9672013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
970
be74aeb3
VT
9712013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
972
973 * grub-core/tests/checksums.h: Corrected due to changes in
974 bilinear interpolation function.
975
d999ac72
VT
9762013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
977
978 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
979 to eliminate artefacts in bilinear interpolation.
980
2b131610
VS
9812013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/video/readers/tga.c: Support paletted tga.
984
de6e5ff8
VS
9852013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
988 incorrect cbcr setting when in color mode.
989
fa31ee9c
VS
9902013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/video/readers/png.c: Support paletted images and clean up
993 greyscale support.
994
e84f8188
VS
9952013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
998 usage of wrong table which resulted in mishandling of 4-byte
999 sequences.
1000
10012013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1002
1003 * grub-core/term/terminfo.c: Add Home and End key sequences.
1004
d72bff09
VS
10052013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1008 Fix formula for computing total number of bytes.
1009
29648c5d
VS
10102013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1013 image processing, fix big-endian and support grayscale.
1014
4a876492
VS
10152013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1018 Correctly will with maximum transparency when using index color.
1019
3ccf16df
VS
10202013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/video/readers/png.c: Support grayscale
1023
10242013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1025
1026 * grub-core/video/readers/jpeg.c: Support grayscale.
1027
3ccf16df 10282013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1029
1030 * grub-core/commands/loadenv.c: Support skipping signature check
1031 and variable names filtering.
1032
30b7f58f
VS
10332013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1036 * grub-core/kern/emu/hostfs.c: Likewise.
1037 * util/getroot_unix.c: Likewise.
1038
bab7b1eb
VS
10392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1042 Migrate all explicit defines to this new one.
1043
43b1c99d
VS
10442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1047 grub_util_fd_strerror when using grub_util_fd_*.
1048 (grub_util_fd_open_device): Likewise.
1049 (grub_util_biosdisk_read): Likewise.
1050 (grub_util_biosdisk_write): Likewise.
1051 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1052 (grub_util_fd_strerror): Likewise.
1053 (grub_util_fd_sync): Likewise.
1054 (grub_util_fd_close): Likewise.
1055 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1056 (grub_util_fd_close): Likewise.
1057 (grub_util_fd_strerror): Likewise.
1058 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1059 function proto rather than macro.
1060 (grub_util_fd_sync): Likewise.
1061 (grub_util_fd_open): Likewise.
1062 (grub_util_fd_strerror): New proto.
1063
e8fd80bc
VS
10642013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1067 platforms on which it doesn't work.
1068
bf645fda
VS
10692013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1072 stat immediately to where it's used.
1073
5177ba14
VS
10742013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * util/getroot.c (grub_util_check_block_device): Move to ...
1077 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1078 * util/getroot.c (grub_util_check_char_device): Move to ...
1079 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1080
9db826e1
VS
10812013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1084 disk closing logic.
1085
49120085
AB
10862013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1087
1088 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1089
b3328b68
AB
10902013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1091
1092 * docs/grub.texi (File name syntax): Document ZFS filenames
1093 (/volume@snapshot/...).
1094
3fff48ab
VS
10952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1098 Always return full path. Fixes a problem with mkrelpath.
1099
39cfdaa9
PFS
11002013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1101
1102 * util/grub-install.in: Add GPT PReP support.
1103 * util/grub-probe.c (probe): Support GPT partition type.
1104 (main): Support -t gpt_parttype.
1105
7c680e1f 11062013-09-23 Aleš Nesrsta <starous@volny.cz>
1107
1108 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1109
890bdabe
MM
11102013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1111
1112 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1113
9c262ff9
TH
11142013-09-23 Tim Hardeck <thardeck>
1115
1116 * util/grub.d/10_hurd.in: Filter out character for the class.
1117 * util/grub.d/10_kfreebsd.in: Likewise.
1118 * util/grub.d/10_linux.in: Likewise.
1119 * util/grub.d/20_linux_xen.in: Likewise.
1120
d755342a
MC
11212013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1122
1123 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1124 "changed".
1125
68b77707
JT
11262013-09-23 Josh Triplett <josh@joshtriplett.org>
1127
1128 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1129 boot partition.
1130
efa68bfa
VS
11312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1134 doesn't use posix_wrap. Keep literal -fno-builtin however.
1135
d9104204
VS
11362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1139
c248781a 11402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11412013-09-23 neil
1142
5830df88 1143 * configure.ac: Do not enable -Wmissing-noreturn as its
1144 usefulness is limited and creates problems on some OS notably with
1145 code generated by bison.
1146
11472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11482013-09-23 neil
1149
1150 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1151 supported by all gcc and when it is, it's already enabled by -Wall.
1152
621bed69
VS
11532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1156 desactivated use of EDID at all.
1157
71764dc8 11582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11592013-09-23 neil
1160
1161 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1162 video if no text is available.
1163
affce7d4 11642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
11652013-09-23 neil
1166
1167 * configure.ac: Substitute TARGET_RANLIB.
1168
11692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11702013-09-23 neil
affce7d4
VS
1171
1172 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1173
1174 Based on patches from AROS.
1175
0e8daad0 11762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 11772013-09-23 neil
0e8daad0
VS
1178
1179 * grub-core/Makefile.am: Override STRIP and RANLIB.
1180 * configure.ac: compute TARGET_RANLIB.
1181 * INSTALL: Document TARGET_RANLIB
1182
1183 Based on patches from AROS.
1184
3f7d9c82
VS
11852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1188 that floppies are unpartitioned.
1189
bca8873a
VS
11902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1193 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1194
11952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1198 less nice but more portable.
1199 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1200
a47a78be
VS
12012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1204 for cheat_fd.
1205 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1206 functions.
1207 (grub_cryptodisk_cheat_insert): Likewise.
1208 (grub_cryptodisk_close): Likewise.
1209
e85a5d5c
VS
12102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1213 Use windows path for DEFAULT_DIRECTORY.
1214
dad9fa6b
VS
12152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1218 difference was likely just gcc version, not anything mingw-related.
1219
7e518ca8
VS
12202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 Use Winapi on both cygwin and mingw32 to share more code between both.
1223
d68d0157
AB
12242013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1225
1226 * util/grub-install.in: Add --grub-editenv option.
1227 * util/grub-install_header (grub_compress_file): Explicitly check for
1228 plain file to avoid cp error.
1229
775b284d
AB
12302013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1231
1232 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1233 names; fix LVM driver name (lvm, not lv).
1234 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1235 names.
1236
3ff4063d
VS
12372013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1240 files rather than one file with loads of #if's.
1241 * util/getroot.c: Likewise.
1242
287faafe
VS
12432013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1246
d1983764
VS
12472013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1250 GNU/Hurd to the list of checked PRNG.
1251
15ce95c4
VS
12522013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1255
207862dd 12562013-09-21 Ales Nesrsta <starous@volny.cz>
1257
7c680e1f 1258 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1259
63653cfd
VS
12602013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1263 * grub-core/disk/lvm.c: Add LVM UUIDs.
1264 * util/getroot.c: Use LVM UUIDs whenever possible.
1265
f5d3e7ef
AB
12662013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1267
1268 * docs/grub.texi (Networking commands): Add documentation for
1269 network related commands.
1270
53c6b7d6
VS
12712013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1274 to determine if device is handled by devmapper.
1275 (convert_system_partition_to_system_disk): Likewise.
1276 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1277 already done in grub_util_open_dm.
1278
e70d6736
LL
12792013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1280
1281 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1282 Clean up stack manipulation (sync_caches_armv*)
1283
90379808
VS
12842013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * util/lvm.c: Remove since unused. Remove remaining references.
1287
386701a8
VS
12882013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 Handle the case of partitioned LVM properly.
1291
1292 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1293 Stop on meeting LVM, mpath or DMRAID.
1294 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1295 (read_device_map): Likewise.
1296 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1297 device is full disk rather than erroring out on LVM and similar cases.
1298
53070787
VS
12992013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1302
1bc783bd
VS
13032013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1306 4K before the end.
1307 Reported by: Leif Lindholm
1308
436ad5c3
PW
13092013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
13102013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1313 codes.
1314
607319c9
CW
13152013-09-18 Colin Watson <cjwatson@ubuntu.com>
1316
1317 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1318 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1319
d404d154
DR
13202013-09-18 Douglas Ray <dougray@cpan.org>
1321
1322 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1323 as secure.
1324
28851ef6
AN
13252013-09-18 Aleš Nesrsta <starous@volny.cz>
1326
1327 * docs/grub.texi: Fix broken link.
1328
897c3bc6
MC
13292013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1330
1331 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1332 to break endless loop.
1333
f1630459
VS
13342013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * util/grub-fstest.c: Fix several printf formats.
1337 * util/grub-mkimage.c: Likewise.
1338 * util/grub-mkimagexx.c: Likewise.
1339 * util/grub-script-check.c: Likewise.
1340
64463dfd
VS
13412013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1344 error.
1345
48972495
VS
13462013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1349
5dd5e64b
VS
13502013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1353 removed in current versions cygwin_conv_*.
1354
1c1f31e5
VS
13552013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * configure.ac: Disable efiemu runtime on cygwin.
1358
c546a259
VS
13592013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1362 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1363
81690478
VS
13642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1367 error message.
1368
6b87c10a
VS
13692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1372 windows variant.
1373 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1374 data.
1375
8f0baaac
VS
13762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1379 when on x86 and not cygwin.
1380 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1381 -Wl,-melf_x86_64.
1382
b224c266
VS
13832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * configure.ac: Set CPP to build one when checkoing for freetype for
1386 build.
1387
506b336b
VS
13882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1391 [!GRUB_BUILD]: Remove has_argument.
1392
8c8c87b7
VS
13932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1396 Replace with a dummy.
1397
7dc5ca13
VS
13982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * configure.ac: Don't change host_os from mingw to cygwin.
1401
c3302aa5
VS
14022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * configure.ac: Change target_os from windows to cygwin.
1405
7b780018
VS
14062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1409
1410 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1411 (build-grub-gen-asciih): Likewise.
1412 (build-grub-gen-widthspec): Likewise.
1413 * Makefile.util.def (grub-pe2elf): Remove.
1414 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1415 * configure.ac: Separate tests for build.
1416 Move ./build-grub-pe2elf to grub-core.
1417 Fix typo.
1418 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1419 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1420 defined.
1421 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1422 constants.
1423 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1424 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1425 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1426
984cfd8a
VS
14272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1430 mingw32 as well based on grub_util_get_disk_size.
1431 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1432 grub_util_get_fd_size.
1433 (sync): Removed.
1434 (fsync): Moved to ...
1435 * grub-core/kern/emu/misc.c (fsync): ... here.
1436
f82d79c9
VS
14372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * include/grub/mm.h (grub_extend_alloc): Remove.
1440 * grub-core/loader/i386/pc/plan9.c: Use own version of
1441 grub_extend_alloc with appropriate types.
1442
fd7dd66d
VS
14432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1446
43ffba7c
VS
14472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1450
3c7eac44
VS
14512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 Fix dependencies on cygwin.
1454
1455 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1456 dependencies when used and defined.
1457 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1458
bdb5ba47
VS
14592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1462 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1463
ed7fbf43
VS
14642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1467 implementation available to cause compile-time rather than runtime
1468 error.
1469
fc46e9fc
VS
14702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * util/grub-fstest.c: Don't check for symlinks on windows.
1473
7f68269a
VS
14742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * INSTALL: Mention unavailability of man pages when cross-compiling.
1477
8ed358e0
VS
14782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1481 and gcry_log_bug.
1482 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1483
fc97214f
VS
14842013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * INSTALL: Document cross-compilation.
1487 * acinclude.m4: Determine whether nm support -P and --defined-only.
1488 * configure.ac: Add TARGET_ to all variables pertaining to target
1489 that don't have it yet.
1490 * gentpl.py: Likewise.
1491 * grub-core/Makefile.am: Likewise.
1492 * grub-core/genmod.sh.in: Likewise.
1493 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1494 as well.
1495
ca1fb563
IB
14962013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1497
1498 * configure.ac: Remove -Wempty-body. It's not essential and needs
1499 recent gcc.
1500
0031b229
IB
15012013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1502
1503 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1504 * util/getroot.c: Likewise.
1505
54ea2f44
VS
15062013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/disk/ahci.c: Add needed explicit cast.
1509 * grub-core/lib/backtrace.c: Likewise.
1510 * grub-core/net/ip.c: Likewise.
1511 * grub-core/net/tcp.c: Likewise.
1512 * grub-core/net/udp.c: Likewise.
1513
3c601f8c
VS
15142013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1517
1d679dda
VS
15182013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/import_gcry.py: Add final newline in visibility.h.
1521
00c28dd9
VS
15222013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * conf/Makefile.common: Fix typo.
1525
32af299a
VS
15262013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1529
e733cf52
VS
15302013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * Makefile.am (widthspec.h): Fix typo.
1533 * util/grub-gen-widthspec.c: Likewise.
1534
c6b066f2
VS
15352013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Move ascii.h and widthspec.h generation to a separate build-time-only
1538 tool.
1539
ad1fe3f9 15402013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1541
1542 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1543 Always fill bootdisk info and improve check for NetBSD disklabel.
1544
92a52dd4
VS
15452013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * conf/Makefile.extra-dist: Add util/bin2h.c.
1548 Reported by: floppym.
1549
b2e9d276
VS
15502013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1553
7b966834
VS
15542013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * configure.ac: Disable unifont and starfield if no freetype was found.
1557
d5c1eef1
VS
15582013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1561 on NetBSD and OpenBSD.
1562
66345b50 15632013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1564
1565 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1566
66345b50 15672013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1568
1569 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1570 reduced. Inheritant options are processed during the theme loading.
1571
66345b50 15722013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1573
1574 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1575
369508b3
AS
15762013-08-14 Avik Sil <aviksil@in.ibm.com>
1577
1578 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1579
15802013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1581
1582 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1583 using qemu.
1584
6f27a3f6
PFS
15852013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1586
1587 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1588 remove-potcdate.sed.
1589
c6ed362a
AB
15902013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1591
1592 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1593 unused attribute from pull argument.
1594
5e7d9464
AB
15952013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1596
1597 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1598 memory leak.
1599
dea55e2a
AB
16002013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1601
1602 * util/getroot.c (pull_lvm_by_command): add --separator option
1603 to vgs call to disable padding of output to 10 characters.
1604
f0b94ded
VS
16052013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1608 here ...
1609 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1610 here.
1611
b828fb5d
VS
16122013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1615 length.
1616
7c9d0c39
VS
16172013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1620 full Canadian cross. Tested with build=x86_64, host=arm,
1621 target=ppc-ieee1275.
1622
816719c8
VS
16232013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * configure.ac: Error if no $BUILD_CC could be found.
1626 Reported by: DevHC.
1627
2af2353b
VS
16282013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1631 i386-multiboot.
1632
797abd0a
VS
16332013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1636 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1637
36e87d25
CW
16382013-08-13 Colin Watson <cjwatson@ubuntu.com>
1639
1640 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1641 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1642 falling back to the partition device, otherwise a later call to this
1643 function may fail spuriously.
1644 Reported by Axel Beckert. Fixes Debian bug #708614.
1645
273349fe
GS
16462013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1647
1648 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1649
418f86c6
GS
16502013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1651
1652 Prevent shadowing of stdlib's devname(3) on BSD.
1653
1654 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1655 and devlast to diskname and disklast, respectively.
1656
c137aea0
CW
16572013-08-11 Colin Watson <cjwatson@ubuntu.com>
1658
1659 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1660
272dc8df 16612013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1662
1663 * docs/grub.texi: Introduce terminal window position options:
1664 terminal-left: terminal window's left position
1665 terminal-top: terminal window's top position
1666 terminal-width: terminal window's width
1667 terminal-height: terminal window's height
1668 terminal-border: terminal window's border width
1669 * grub-core/gfxmenu/theme-loader.c: Likewise.
1670 * include/grub/gfxmenu_view.h: Likewise.
1671 * po/exlude.pot: Likewise.
1672 * grub-core/gfxmenu/view.c: Likewise.
1673 Also updated minimal window size.
1674 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1675 * grub-core/tests/checksums.h: Update (terminal window height
1676 is adjusted now for low resolution screen)
b4743461 1677
748a4533
VS
16782013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1681 position).
1682
fca5f944
VS
16832013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * po/exclude.pot: Add few recent exceptions.
1686
4f47d809
VS
16872013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * tests/grub_func_test.in: Add unicode.pf2.
1690
a62ae90c
VS
16912013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1694 standard rather than noral color, in line with other terminals.
1695
4ed41392
VS
16962013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1699 analysis.
1700
3719fbc5
VS
17012013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1704
459b1d91
VS
17052013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1708 inappropriate printf.
1709
f4e1ab9d
AB
17102013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1711
1712 * .bzrignore: Remove grub-core/lib/dtc-grub,
1713 grub-core/Makefile.libfdt.def
1714 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1715
fa471bfa
VS
17162013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * include/grub/video.h (grub_video_register): Keep double-linked as
1719 well as single-linked invariants.
1720 Reported by: qwertial.
1721
d65be02b
VS
17222013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/commands/nativedisk.c (get_uuid): Handle
1725 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1726
ba8bc620
VT
17272013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1728
1729 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1730 maximum of NW, N, NE heights instead of N's height and maximum of
1731 NW, W, SW widths instead of W's width. (So the box will be always
1732 correctly drawn)
1733
4f0ad029
GS
17342013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1735
1736 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1737 Fix misuse of variable count.
1738
43d53b72
LL
17392013-07-18 Leif Lindholm <leif.lindholm@arm.com>
17402013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
17412013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1742
43d53b72
LL
1743 New ports to arm-uboot and arm-efi.
1744 Mostly by Leif Lindholm with some additions from
1745 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1746
88f8d146
VS
17472013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1750 and not before.
1751 Reported by: Leon Drugi.
1752
3f42504c
VS
17532013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1756 Reported by: Paulo Flabiano Smorigo.
1757
d110499b
VT
17582013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1759
1760 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1761
a8674ad3
VT
17622013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1763
1764 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1765
286fe4b3
VS
17662013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1769
1bd57aa3
VS
17702013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1773
7a87d69f
AB
17742013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1775
1776 * grub-core/net/bootp.c: Export net_* variables.
1777 * grub-core/net/net.c: Likewise.
1778
b2182299
VS
17792013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1782
795b3dc0
VS
17832013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1786
68714c43
VS
17872013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1790
af211bab
VS
17912013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1794
0036f02d
MM
17952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1796
1797 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1798 <= 0.
1799
6d0ddff3
MM
18002013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1801
1802 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1803 functions.
1804
038016f4
MM
18052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1806
1807 * grub-core/fs/zfs/zfs_lz4.c: New file.
1808 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1809
776bdce2
MM
18102013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1811
1812 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1813
c71dbd40
MM
18142013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1815
1816 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1817 (check_pool_label): Likewise.
1818 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1819
18202013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1821
1822 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1823
8e67b50f
AB
18242013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1825
1826 * docs/grub.texi (Commands): Document postition parameters
1827 for menuentry command.
1828
f5ae3717
AB
18292013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1830
1831 * util/grub-mknetdir.in: Remove stray line from help output.
1832
9c28da2a
VS
18332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 Remove early sm712 init as there is no reason for it (the "watchdog"
1836 effect was due to wrong GPIO map).
1837
139072b8
VS
18382013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/commands/pcidump.c: Remove static variables.
1841
c6a61bda
VS
18422013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1845
51369614
VS
18462013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * configure.ac: Move delimiter after the infos.
1849
efa8640a
VS
18502013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1853
6f80a7b2
VS
18542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1857 not filling whole 8x16 space.
1858
a2371e19
VS
18592013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1862
64fce2d8
VS
18632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * configure.ac: Indicate which liblzma is used if any.
1866
eb272d84
PW
18672013-06-21 Paul Wise <pabs3@bonedaddy.net>
18682013-06-21 Craig Sanders <savannah@taz.net.au>
1869
1870 * util/grub-reboot.in: Document submenu usage.
1871
a9e5abee
CW
18722013-06-25 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * .bzrignore: Update with a number of new test-related files.
1875
e639c204
CW
18762013-06-25 Colin Watson <cjwatson@ubuntu.com>
1877
1878 * util/grub-script-check.c: Fail on scripts containing no
1879 commands, to guard against corrupted grub-mkconfig setups that
1880 produce no useful output.
1881 * tests/grub_script_no_commands.in: New test.
1882 * Makefile.util.def (grub_script_no_commands): Add.
1883 Reported by Hans Putter. Fixes Debian bug #713886.
1884
a4c89b17
AB
18852013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1886
1887 * grub-core/disk/diskfilter.c: Forgot to remove comment
1888 from previous commit.
1889
5b06b53c
AB
18902013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1891
1892 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1893 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1894
702da5c9
AB
18952013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1896
1897 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1898
aa62a5b7
AB
18992013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1900
1901 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1902 rescan diskfilter devices until nothing new is found.
1903
4aa237c8
VS
19042013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1907
93d8479b
VS
19082013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 Don't try to detect cbfs on *-emu.
1911
837222cc
VS
19122013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1915
99c971af
VS
19162013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 Add support for processed coreboot payload chainloading.
1919
e6930a45
VS
19202013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Enable coreboot information commands even when not loaded as
1923 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1924
5027af38
VS
19252013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Support for cbfs. Also factor out the part which is common
1928 for all archives to a separate module. This splits tar from cpio
1929 as they are very different but keeps cpio, cpio_be, odc and newc
1930 together since they're very similar.
1931
a5b55c4b
DM
19322013-06-15 David Michael <fedora.dm0@gmail.com>
1933
1934 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1935 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1936
0301a8b3
VS
19372013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * tests/grub_script_eval.in: Really add the eval test.
1940
3d84cb17
VS
19412013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Move flavour-specific parts out of common cpio.c file and
1944 rename remaining to cpio_common.c
1945
593e430c
AB
19462013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1947
1948 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1949 off new function grub_script_execute_new_scope. Change callers to use
1950 either of them as appropriate.
1951 * grub-core/commands/eval.c: New command eval.
1952 * docs/grub.texi (Commands): Document it.
1953
63c29849
AB
19542013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1955
1956 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1957 to fetch values when listing.
1958
cc284112
AB
19592013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1960
1961 Fix make dist on non-pc.
1962
19632013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1964
1965 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1966 without a device name.
1967
69544d1e
VS
19682013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Remove enable_executable_check as it's not needed anymore.
1971 Reported by: dougray.
1972
96dbe648
VS
19732013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1976 ambigouos RAID before discovering RAIDs on top of it.
1977 Reported by: bodom.
1978
ccfc0bdb
VS
19792013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Fix typo (failback vs fallback).
1982
f2587088
AB
19832013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1984
1985 * util/grub.d/30_os-prober.in: Add support for probing EFI
1986 System Partition (as of os-prober 1.58).
1987
cec5cf0c
VS
19882013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * configure.ac: Add yet another path to unifont. For parabola.
1991
e40b4596
JT
19922013-05-30 Josh Triplett <josh@joshtriplett.org>
1993
1994 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1995 handling to copy the killed characters to the kill buffer as
1996 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1997 stored as char. Eliminates UCS4 truncation and corruption
1998 observed when killing characters with Ctrl-u and yanking them
1999 back with Ctrl-y.
2000
fc4c4fdd
VS
20012013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 Detach optional parts of gfxterm and integrate in with coreboot init.
2004
6570b205
VS
20052013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Move blit and fill dispatcher to appropriate files to decrease export
2008 and relocation overhead.
2009
b8323067
VS
20102013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2013 functions.
2014
3cc1878f
VS
20152013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/Makefile.am: Fix compilation problem with some
2018 automake versions.
2019
4b80e43c
VS
20202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2023
57e0c20c
VS
20242013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2027 automake versions.
2028
4fd42c53
VS
20292013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2032 SSDT.
2033
1e908b34
RS
20342013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2035
2036 * grub-core/partmap/dfly.c: New partition map.
2037
1359e474
VS
20382013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2041 checking.
2042 Reported by: Francesco Lavra.
2043
17806392
AB
20442013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2045
2046 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2047 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2048 false conditions.
2049 * conf/Makefile.common: define dist_grubconf_DATA
2050
cdce14fa
VS
20512013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Progressively skip menu elements on small terminals rather
2054 than crashing.
2055
c8d6cc3c
VS
20562013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2059 to avoid losing last column.
2060
a73b31ce
VS
20612013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * po/exclude.pot: Add missing string "%C".
2064
1202c764
VS
20652013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2068 after the test.
2069
50268344
VS
20702013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * util/grub-install.in: Gettextize "Not found" message.
2073
62b15edf
VS
20742013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 Fix distfiles list.
2077 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2078
20792013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2080
2081 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2082 present.
2083 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2084
709ad61b
VS
20852013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2088
d128901a
VS
20892013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2092 attribute since structure is not necessarily aligned.
2093
34b22f5c
AB
20942013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2095
2096 * docs/grub.texi (Device syntax): Clarify description of network
2097 drives.
2098
0f7e980b
VS
20992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2102 for vasprintf presence.
2103
30b03dc2
VS
21042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * util/grub-install.in: Handle efibootmgr presence check.
2107 Reported by: Leif Lindholm.
2108
0dc11c08
VS
21092013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2112 new strings to translate.
2113
f8024c3f
VS
21142013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2117 yet another string (pun intended) to translate.
2118
b4c1da62
VS
21192013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * po/POTFILES-shell.in: Autogenerate it.
2122
0ef7478b
VS
21232013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2126
8200fa15
VS
21272013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2130 misnomer.
2131
091945b2
AB
21322013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2133
2134 * docs/grub.texi (Network): Add description of net_default_interface,
2135 net_default_ip and net_default_mac. Rewrite variables description
2136 to emphasize that they are per-interface.
2137
0e7b2e32
VS
21382013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 New test: cmdline and cat.
2141
16f7c8f6
VS
21422013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/commands/cat.c: Show UTF-8 characters.
2145
3e912fda
VS
21462013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * conf/Makefile.common: Poison float and double on non-emu.
2149
ee0220bc
VS
21502013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * configure.ac: Don't disable extended registers on emu.
2153
89e0240c
VS
21542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * configure.ac: Don't use extended registers on x86_64.
2157 Reported by: Peter Jones.
2158
e56d9637
VS
21592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/term/efi/console.c: Fix compile error.
2162
8098f655
VS
21632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Compressed HFS+ support.
2166
16940e07
VS
21672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2170 pixel".
2171
c5dbc13d
VS
21722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Menu color test.
2175
011f8ae8
VS
21762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/tests/setjmp_test.c: New test.
2179
2aa072d7
VS
21802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 New variables 'net_default_*' to determine MAC/IP of default interface.
2183
43fe02cb
VS
21842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * tests/gettext_strings_test.in: A test to check for strings not
2187 marked for translation.
2188
bed06142
VS
21892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * autogen.sh: Exclude unused libgcrypt files from translation.
2192
fb2666b5
VS
21932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Simplify few strings.
2196
d22840ec
VS
21972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 Mark few forgotten strings for translation.
2200
e34092fd
VS
22012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2204 rather than printf.
2205
47cf82b4
VS
22062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2209 rather than printf.
2210 * grub-core/video/readers/tga.c: Likewise.
2211
1eed0e6e
VS
22122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * tests/priority_queue_unit_test.cc: New test.
2215
c5b7697b
VS
22162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2219 than printf.
2220
5945c2f8
AB
22212013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2222
2223 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2224 variable for one time boot menu entry.
2225
fa292343
B
22262013-05-05 Bean <bean123ch@gmail.com>
2227
2228 * grub-core/commands/testspeed.c: New command testspeed.
2229
310d4214
VS
22302013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 Factor-out human-size printing.
2233
85002bf3
VS
22342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 Agglomerate more mallocs to speed-up gfxterm.
2237
22b06e96
VS
22382013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Speed-up gfxterm by slightly agglomerating mallocs.
2241
b7c036bc
VS
22422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 More video checks.
2245
92323d1f
VS
22462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Speed-up gfxterm by saving intermediate results in index+alpha
2249 format.
2250
0fb356a3
VS
22512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2254 test.
2255
44dea3f9
VS
22562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2259 line of timeout as it may contain the rest of long line.
2260
14af86e4
VS
22612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/normal/main.c: Fix freed memory dereference.
2264
03f7c8c3
VS
22652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Fix several memory leaks.
2268
c686014c
VS
22692013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2272
0788a695
VS
22732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2276
daf01d61
VS
22772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 Fix test -a and -o precedence.
2280 Reported by: adrian15.
2281
82ae74d7
VS
22822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2285
8cec7bd4
AB
22862013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2287
2288 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2289 and add it as source to functional_test module.
2290
aa73d688
VS
22912013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2294
c104b6f9
VS
22952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 New series of tests for gfxterm and gfxmenu.
2298
7391c4d5
VS
22992013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2302 the theme path relative to $prefix/themes.
2303
cff50118
VS
23042013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2307 Fix order bug.
2308 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2309
7c332bdc
VS
23102013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2313 descriptor.
2314
a4f9a5ff
VS
23152013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2318 grub_gfxmenu_timeout_notifications.
2319 (grub_gfxmenu_view_destroy): Likewise.
2320
b5a2114d
VS
23212013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2324
a8905e8a
VS
23252013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Several fixes to ieee1275 and big-endian video.
2328
813c1622
VS
23292013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 Add missing exports on mips.
2332
3f3e7326
VS
23332013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2336 if no unifont is found.
2337 Restore original keyboard.
2338
095accd1
VS
23392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2342 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2343
50361660
VS
23442013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 First automated video test (running videotest and comparing results)
2347
cd0f6eec
VS
23482013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2351 instead of 2 to have full RGB/CMY test pattern.
2352
3f9634e5
VS
23532013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Add few more tests.
2356
583e5b64
VS
23572013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2360 ARCS. All users updated.
2361
aa7bcb99
VS
23622013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2365
95ef1a54
VS
23662013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2369
46546fc5
VS
23702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2373 Reported by: qwertial.
2374
3476e0ef
VT
23752013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2376
2377 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2378 with syntax "XXX deg"/"XXX °".
2379
96f33fed
VS
23802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Make PCI init in i386-qemu port more robust.
2383
23842013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2385
2386 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2387 cached view is reused.
2388 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2389 open boot menus.
2390
c53b4e67
VS
23912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Unify more code in grub-install_header.
2394
f7457fb2
VS
23952013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 Add few new tests.
2398
e2f27a8c
VS
23992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Enforce disabling of firmware disk drivers when native drivers kick in.
2402
ef9d8cd5
VS
24032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/commands/nativedisk.c: Customize the list of modules on
2406 platform. Don't try to search for disks already using native drivers.
2407
f7bf6c31
VS
24082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2411 platforms.
2412
bdc4add8
VS
24132013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2416 handling of variables containing backslash.
2417
e9e46c9a
VS
24182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2421 dereference.
2422 Reported by: qwertial.
2423
0e90dee8
VS
24242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2427
e0aacf24
VS
24282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2431 dereference.
2432 Reported by: qwertial.
2433
3c0003c3
VS
24342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2437
adb7d667
VS
24382013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2441
7cd0df84
VS
24422013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 New command `nativedisk'.
2445
02adbb93
VS
24462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2449 * grub-core/loader/i386/bsd.c: Likewise.
2450
9fb0fd4f
VS
24512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2454
bd69257a
VS
24552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2458 grub_get_unaligned16 rather than shifts.
2459
178c2764
VS
24602013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/kern/file.c: Use const char * rather than casting to
2463 non-const.
2464
eadfad24
VS
24652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/commands/probe.c: Add missing grub_device_close.
2468
9f73ebd4
VS
24692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * INSTALL: Document linguas.sh.
2472
965fa829
VS
24732013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 Remove POTFILES.in and regenerate it in autogen.sh.
2476
d417ddc4
VS
24772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Move --directory/--override-directorry to grub-install_header and unify.
2480
f97ec546
VS
24812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/term/morse.c: Macroify dih and dah.
2484
b2d7470c
PFS
24852013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2486
2487 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2488
141e2a78
VS
24892013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/term/ns8250.c: Systematically probe ports by writing
2492 to SR before using them.
2493
1dd70ebd
PFS
24942013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2495
2496 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2497 disks.
2498 (check_sas): Get sas_adress info.
2499
c796a107
VS
25002013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2503 ports.
2504
43168646
LD
25052013-04-27 Leon Drugi <eyak>
2506
2507 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2508 BSS clearing.
2509
e7b8fd08
VS
25102013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Core compression test.
2513
17f9fd29
VS
25142013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 Implement grub_machine_get_bootlocation for ARC.
2517
dc2a6c8b
VS
25182013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 Improve AHCI detection and command issuing.
2521
f25a2ba6
VS
25222013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Fix pseries test.
2525
a6393224
VS
25262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 Make 'make check' work on emu.
2529
db99fbe8
VS
25302013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Replace libcurses with our own vt100 handling for the ease of testing
2533 and decreasing prerequisites.
2534
b24ca7cd
VS
25352013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2538
63314aa4
VS
25392013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2542 compile when not needed.
2543
c1b00fff
VS
25442013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * tests/pseries_test.in: New test.
2547
f93e89ef
VS
25482013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 Add test to check that different boot mediums work.
2551
c4b456d3
VS
25522013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2555 ofw limited ISO support.
2556
5fe67f39
VS
25572013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * configure.ac: Fix loongson conditional.
2560
7f63a64f
VS
25612013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 Enable mipsel-arc.
2564
b04b5990
VS
25652013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Add serial on ARC platform.
2568
88d2f302
VS
25692013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2572 commit.
2573
86eb23bc
VS
25742013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * tests/partmap_test.in: Add missing double semicolon.
2577
eec3bb75
VS
25782013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * util/grub-mkrescue.in: Fix loongson filename.
2581
e0810df3
VS
25822013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * util/grub-mkrescue.in: Move all files that don't have a location
2585 set in stone under /boot/grub. Use ISO hard links rather than copies
2586 to save some space.
2587
65a6b30b
VS
25882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2591 bogus SLOF values.
2592
6aff0107
VS
25932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 Make check work on mips-arc.
2596
5e013e56
VS
25972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * util/grub-mkrescue.in: Alias sashARCS as sash.
2600
d1989e2e
VS
26012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2604 it's serial.
2605
1a25e72c
VS
26062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * util/grub-install.in: Fix target fo qemu_mips.
2609 Fix extension on EFI.
2610
a59a9826
VS
26112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2614 in front of chosen entry to mark it even if highlighting is lost.
2615
1a40f80c
VS
26162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2619 gfxpayload=keep if cbfb is active.
2620
e343549c
VS
26212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2624
45fbd9a2
VS
26252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Add missing video ids to coreboot and ieee1275 video.
2628
ab1440bd
VS
26292013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * util/grub-mkrescue.in: Add mips-arc support.
2632
cdeb8324
VS
26332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2636
8528c879
VS
26372013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Move mips-arc link address. Previous link address was chosen
2640 in belief that RAM on SGI platforms grows down while in fact it
2641 grows up from an unusual base.
2642
17fca573
VS
26432013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2646 Fix a type which prevented CD-ROM and floppy boot.
2647
d178788e
VS
26482013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Support coreboot framebuffer.
2651
2652 * grub-core/video/i386/coreboot/cbfb.c: New file.
2653
fe4c3e7e
VS
26542013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2657 detecting too small regions.
2658
ec2dd179
VS
26592013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2662
872dac83
VS
26632013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2666 Remove dprintf.
2667 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2668
90ec4b7f
VS
26692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2672 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2673 * grub-core/loader/powerpc/ieee1275/linux.c
2674 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2675
f32555dd
VS
26762013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2679 Look for /boot-rom as well as /rom/boot-rom.
2680
38649799
VS
26812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2684 handling when creating text_layer failed.
2685 * grub-core/video/video.c (grub_video_create_render_target):
2686 Set result to 0 on error.
2687 (grub_video_delete_render_target): Do not dereference NULL.
2688
aeace7f7
VS
26892013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2692 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2693 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2694 (grub_linux_load64): Mask out 2 high bits.
2695
4eafa175
AB
26962013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2697
2698 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2699 more place.
2700
daaa64bd
VS
27012013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Add support for pseries and other bootinfo machines to grub-mkrescue.
2704
2705 Tested by: Paulo Flabiano Smorigo.
2706
d0d2daa6
VS
27072013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * util/grub-mkrescue.in: Add GPT for EFI boot.
2710
b193e100
VS
27112013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2714 It improves performance in qemu.
2715
a0f8f3ac
VS
27162013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * build-aux/snippet: Add missing gnulib files.
2719
284df0e2
AB
27202013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2721
2722 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2723
740201f3
AB
27242013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2725
2726 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2727
a7e03923
PJ
27282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
27292013-04-15 Peter Jones <pjones@redhat.com>
2730
2731 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2732 sectors.
2733 Based on patch by Peter Jones.
2734
25fc51a8
VS
27352013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Fix DMRAID partition handling.
2738
88017d47
VS
27392013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * tests/grub_cmd_date.in: Skip on sparc64.
2742
fa7d914e
VS
27432013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2746 firmware error messages.
2747
cbe57a48
VS
27482013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2751 source and destination differ.
2752
21aecce0
VS
27532013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2756 detection.
2757
25092d29
VS
27582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2761 match config-util.h to avoid warnings and increase compatibility.
2762
79451522 27632013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 27642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2765
2766 Add option to compress files on install/image creation.
2767
78b7d77b
VS
27682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * docs/grub-dev.texi: Rearrange menu to match the section order.
2771 Reported by: Bryan Hundven.
2772
cc2fa5ec
VS
27732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2776
b49fe879
VS
27772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Move GRUB out of system area when using xorriso 1.2.9 or later.
2780
5351da81
VS
27812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * tests/grub_cmd_date.in: Add missing exit 1.
2784
c9d586ea
VS
27852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * tests/partmap_test.in: Skip on sparc64.
2788
3f729741
VS
27892013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Support grub-shell on sparc64.
2792
8ca86b3a
VS
27932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Support mkrescue on sparc64.
2796
aa1af9bb
VS
27972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2800 Needed on OpenBIOS due to incomplete device tree.
2801
ac4fea79
VS
28022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2805 would be otherwise excluded.
2806
28072013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2808
2809 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2810 Inline name defines used only once.
2811
fe22b071
VS
28122013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Fix memory leaks in ofnet.
2815 Reported by: Francesco Lavra.
2816
9d21381b
VS
28172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * docs/man/grub-glue-efi.h2m: Add missing file.
2820
07aec23c
VS
28212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2824
67ab8353
VS
28252013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Better support Apple Intel Macs on CD.
2828
ba44ca6d
VS
28292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Replace stpcpy with grub_stpcpy in tools.
2832
bbdd6305
VS
28332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Handle Japanese special keys.
2836 Reported by: Hiroyuki YAMAMORI.
2837 Codes supplied by: Hiroyuki YAMAMORI.
2838
8573d302
VS
28392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * util/grub-mkimage.c: Document memdisk implying --prefix.
2842
d70dbab7
VS
28432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2846 much we can do about it anyway.
2847
51a4c3e3
AN
28482013-04-12 Aleš Nesrsta <starous@volny.cz>
2849
2850 Fix handling of split transfers.
2851
92c8f58d
VS
28522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/net/http.c: Fix bad free.
2855
b7d17a49
VS
28562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2859 than buffer size.
2860
a3d566d4
VS
28612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2864
a936af56
VS
28652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * tests/util/grub-shell.in: Fix it on powerpc.
2868
51212234
VS
28692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Turn off QEMU ACPI-way since new releases don't have shutdown port
2872 anymore.
2873
a21eec9e
VS
28742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * docs/grub.texi: Update coreboot status info.
2877
e3734b84
VS
28782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * tests/grub_cmd_date.in: New test for datetime.
2881
f9d40055
VS
28822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * tests/partmap_test.in: Fix missing qemudisk setting.
2885
dbc56d8f
VS
28862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Support i386-ieee1275 grub-mkrescue and make check on it.
2889
a79b8a15
VS
28902013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2893 feature for it.
2894
48f39bb4
VS
28952013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2898 GRUB_CMDLINE_XEN_DEFAULT.
2899 Reported by: Marc Warne (GigaTux) <gigatux>
2900
053cfcdd
VS
29012013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 Import new gnulib.
2904
93cd84df
VS
29052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Use ACPI shutdown intests as traditional port was removed.
2908
f4b1fa4f
AB
29092013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2910
2911 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2912 distinction.
2913
49818a59
VS
29142013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2917 Fix few warining messages and leaks while on it.
2918
9277a306
AB
29192013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2920
2921 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2922 links under grub-core/lib/libgcrypt-grub/mpi.
2923
d5e2a158
VS
29242013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Fix ia64-efi image generation on big-endian machines. Deduplicate
2927 some code while on it.
2928 Reported by: Leif Lindholm.
2929
18866643
AB
29302013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2931
2932 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2933 as extra_dist.
2934
ca53deb8
AB
29352013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2936
2937 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2938
d4c4b8e1
BH
29392013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2940
2941 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2942 texinfo-5.1.
2943
47043f95
VS
29442013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/normal/term.c: Few more fixes for menu entry editor
2947 rendering.
2948 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2949
a3216068
VS
29502013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/normal/term.c: Few more fixes for menu entry editor
2953 rendering.
2954 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2955
21026747
AB
29562013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2957
2958 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2959 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2960
59624ca8
AB
29612013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2962
2963 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2964 instead of hardcoding grub.mo.
2965
1f44478c
FN
29662013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2967
2968 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2969
eeada7b1
VS
29702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2973 grub-core/disk/geli.c.
2974
132867de
VS
29752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * util/grub-mkfont.c: Prefer enum to #define.
2978
de73de17
VS
29792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2982
1865baa7
VS
29832013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2986
ce7d92a9
VS
29872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2990
52eab656
VS
29912013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2994
98b23b95
VS
29952013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * include/grub/bsdlabel.h: Use enums.
2998
0467a5dd
VS
29992013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 Move GRUB_CHAR_BIT to types.h.
3002
16cc9f03
AB
30032013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3004
3005 * docs/grub.texi: Document more user commands.
3006
3152aecb
AB
30072013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3008
3009 * docs/grub.texi: Document menuentry --id option.
3010
c506fc30
FL
30112013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3012
3013 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3014
aa428238
VS
30152013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 Unify file copying setup across different install scripts. Add
3018 options for performing partial install.
3019
efe0cdda
PJ
30202013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30212013-04-04 Peter Jones <pjones@redhat.com>
3022
3023 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3024
f75835bd
VS
30252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Use TSC as a possible time source on i386-ieee1275.
3028
2cd5ce6c
VS
30292013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3032 Init err.
3033
c9625630
VS
30342013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * util/grub-setup.c (setup): Handle some corner cases.
3037
be008941
VS
30382013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3041
1a78d573
VS
30422013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/commands/verify.c: Save verified file to avoid it being
3045 tampered with after verification was done.
3046
db8ff59f
VS
30472013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3050 reported width by one to compensate for curesor algorithm problem.
3051
91bf46b1
VS
30522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Fix screen corruption in menu entry editor and simplify the code
3055 flow while on it.
3056
a7b1d693
AB
30572013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3058
3059 * util/grub-mount.c (fuse_init): Return error if fuse_main
3060 failed.
3061
31df9ad8
FL
30622013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3063
3064 * include/grub/elf.h: Add missing ARM relocation codes and fix
3065 existing ones.
3066
07f392eb
VT
30672013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3068
3069 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3070
9efd73ec 30712013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
30722013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3075 into account when calculating radius.
3076
30772013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3078
3079 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3080
4985ddaa
VT
30812013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3082
3083 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3084
8c3635ff
RS
30852013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3086
3087 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3088 missing closing bracket.
3089
74a35e69
RS
30902013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3091
3092 * INSTALL: Mention xorriso requirement.
3093
40f1c000
AB
30942013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3095
3096 * grub-core/commands/verify.c: Fix hash algorithms values for
3097 the first three hashes - they start with 1, not with 0.
3098
e75fdee4
VS
30992013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3102 Try terminating EFI services several times due to quirks in some
3103 implementations.
3104
33028f4c
CW
31052013-03-26 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3108 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3109 BankField extended opcodes.
3110 (get_sleep_type): Add minimal scope handling (just enough to
3111 handle setting the scope to the root path).
3112 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3113 * include/grub/acpi.h: Add enumeration values for Event, Device,
3114 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3115
33871a10
VT
31162013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3117
3118 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3119 memory leak.
3120
8990963a
VS
31212013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/disk/ahci.c: Give more time for AHCI request.
3124
daae8f9e
VS
31252013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3128 command.
3129
6a7fb94b
VS
31302013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Replace the region at 0 from coreboot tables to available in BSD
3133 memory map.
3134
ff99babd
VS
31352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3138 non-BIOS platforms.
3139
30d6b1b2
VS
31402013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3143 platforms.
3144
6ccd0b31
VS
31452013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3148 handling of multi-device filesystems.
3149
23c9cc04
VS
31502013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3153 platforms.
3154
ce50dbd7
VS
31552013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 Add new 'proc' filesystem framework and put luks_script into it.
3158
d975e8d5
VS
31592013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3162 and qemu.
3163
e73ba5e8
VS
31642013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3167
92750e4c
VS
31682013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Add ability to generate newc additions on runtime.
3171
0ec45a68
VS
31722013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3175 description.
3176
320abd43
VS
31772013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * po/POTFILES.in: Regenerate.
3180
d7a6506e
VS
31812013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/commands/verify.c (hashes): Add several hashes
3184 from the spec.
3185
8fe05def
VS
31862013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Slight improve in USB-related boot-time checkpoints.
3189
524e2766
VS
31902013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/commands/boottime.c: Fix copyright header.
3193
cc19857a
VS
31942013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3197 coreboot tables content. Support for cbmemc.
3198
ef8810e9
VS
31992013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Fix a conflict between ports structures with 2 controllers of
3202 same kind.
3203
e9dabdfa
VS
32042013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * include/grub/boottime.h: Add missing file.
3207
f6df57d2
VS
32082013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Initialize USB ports in parallel to speed-up boot.
3211
d745dda7
VS
32122013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Fix USB devices not being detected when requested
3215 due to delayed attach.
3216
e5a2dd7b
VS
32172013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3218
e744219b
VS
3219 Implement boot time analysis framework.
3220
32212013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3224 descriptor to just receive it as argument rather than endpoint
3225 address.
3226
5dd6f587
VS
32272013-03-19 Aleš Nesrsta <starous@volny.cz>
3228
3229 Better estimate the maximum USB transfer size.
3230
2f1071d5
VS
32312013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 Resend a packet if we got the wrong buffer in status.
3234
46ecfc49
VS
32352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3238 multiplication rather than division.
3239
ea811130
VS
32402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3243 than divisions.
3244
d2789cf0
VS
32452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3248 operations to have intended shifts and not divisions.
3249
a9c94590
VS
32502013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3253 intended shifts rather than division.
3254
84cfe81b
VS
32552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3258 computation for some years before epoch. Avode confusing division
3259 while on it.
3260
21344ef6
VS
32612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/video/i386/pc/vbe.c
3264 (grub_video_vbe_print_adapter_specific_info): Replace division by
3265 shifts.
3266
3f2b4d1a
VS
32672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 Adjust types in gdb module to have intended unsigned shifts rather than
3270 signed divisions.
3271
3dac5878
VS
32722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3275 maximum size is 4G - 1 on hfs
3276
5341c0fb
VS
32772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3280
fc3ff2a2
VS
32812013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3284 function.
3285
81455e8e
AB
32862013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3287
3288 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3289 causing gcc error with gcc 4.7.1.
3290
efd4f117
NZ
32912013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3292
3293 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3294 dereference null pointer. While the code is technically correct, gcc
3295 may eliminate a null check if pointer is already dereferenced.
3296
e11645f4
NZ
32972013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3298
3299 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3300 OOM check.
3301 * grub-core/normal/term.c (read_terminal_list): Likewise.
3302
77468368
VS
33032013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Lift up core size limits on some platforms. Fix potential memory
3306 corruption with big core on small memory systems. Document remaining
3307 limits.
3308
f6b58fe5
VS
33092013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3312 gotoxy to 0,0.
3313
19ce697d
VS
33142013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 Remove all trampoline support. Add -Wtrampolines when
3317 present. Remove symbols used for trampolines to make
3318 link fail if trampolines are present.
3319
73b5d90f
VS
33202013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3323 append out of its parent.
3324
cb758e96
VS
33252013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3328 parent.
3329
3188131f
VS
33302013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3333 all vars to a macro. All users updated.
3334
e42b2514
VS
33352013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3338 i386-ieee1275.
3339
83e1a1a1
VS
33402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3343
1d5a880f
VS
33442013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3347
6e4146c4
VS
33482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 Move to more hookless approach in IEEE1275 devices handling.
3351
99fcda8a
VS
33522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/kern/term.c (grub_term_normal_color),
3355 (grub_term_highlight_color): Add back lost defaults.
3356
73bf57e2
VS
33572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Make elfload not use hooks. Opt for flags and iterators instead.
3360
7f8c105f
VS
33612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3364 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3365
396d4091
VS
33662013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3369
33702013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3373 hook pass-through parameter. All users updated and unnested.
3374
74a27421
VS
33752013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3378 out of its parent.
3379
b46d4213
VS
33802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/fs/hfs.c: Remove nested functions.
3383
e114c3cc
VS
33842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3387 the context through.
3388 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3389
f9b7d780
VS
33902013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * util/grub-editenv.c (list_variables): Move print_var out of its
3393 parent.
3394
ca9c2608
VS
33952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3398 function.
3399
5d983f5f
VS
34002013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/gentrigtables.c: Make tables const.
3403
3056d3e7
VS
34042013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Remove nested functions from videoinfo iterators.
3407
e2303774
VS
34082013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3411 for 64-bit platforms.
3412
f42e3a2f
VS
34132013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3416 a FOR_CHILDREN macro.
3417
be174e5e
VS
34182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3421 platform from firmware path.
3422
0789b672
VS
34232013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Enable linux16 on non-BIOS systems for i.a. memtest.
3426
3427 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3428 correctly.
3429 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3430
005a9c32
VS
34312013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3434 Fix end of table condition.
3435
ff2b3cd9
VS
34362013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3439 out of its parent.
3440
4fc40ff8
VS
34412013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/fs/jfs.c: Remove nested functions.
3444
be42d97a
VS
34452013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/fs/minix.c: Remove nested functions.
3448
99373ce4
VS
34492013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/fs/iso9660.c: Remove nested functions.
3452
5aec2afe
VS
34532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3456 of parent function.
3457
6c69e691
VS
34582013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * util/grub-fstest.c: Remove nested functions.
3461
43c91882
VS
34622013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/loader/machoXX.c: Remove nested functions.
3465
4eb8b756
CW
34662013-02-27 Colin Watson <cjwatson@ubuntu.com>
3467
3468 Remove nested functions from disk and file read hooks.
3469
3470 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3471 (struct grub_disk): Add read_hook_data member.
3472 * include/grub/file.h (struct grub_file): Likewise.
3473 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3474 argument.
3475
3476 Update all callers.
3477
df6da5a5
AB
34782012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3479
3480 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3481 Fix off by one error in enumerating extended partitions.
3482
21aecde5
AB
34832013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3484
3485 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3486 memory leak if device name is not found.
3487
f1a19118
AB
34882013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3489
3490 * grub-core/normal/menu_entry.c (update_screen): remove
3491 unused variable `off' which caused scroll down arrow to be always shown.
3492
958bfd20
AB
34932013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3494
3495 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3496 access to unallocated memory.
3497
b7b78edb
AB
34982013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3499
3500 * Makefile.util.def: Add partmap/msdos.c to common library.
3501 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3502 * grub-core/disk/ldm.c: Check for existence of
3503 GRUB_PC_PARTITION_TYPE_LDM.
3504
28d468d6
VS
35052013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3508 sizes and display sector size.
3509
d55ffb02
VS
35102013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 Implement new command cmosdump.
3513
b5ea6ce0
VS
35142013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3515
3516 Support Openfirmware disks with non-512B sectors.
3517
3518 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3519 size of the disk.
3520 * (grub_ofdisk_get_block_size): New function.
3521 * (grub_ofdisk_prepare): Use the correct block size.
3522 * (grub_ofdisk_read): Likewise.
3523 * (grub_ofdisk_write): Likewise.
3524 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3525 New proto.
3526
cc0e476f
VS
35272013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3530
c5dbdc33
VS
35312013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3534 on first error.
3535
3f078c0f
VS
35362013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3539 freeing it.
3540
66a93674
VS
35412013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 Implement USBDebug (full USB stack variant).
3544
c9f0c134
VS
35452013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3548 unless they have unexpected values.
3549
cfe1288b
VS
35502013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3553 grub_print_error.
3554
e42b9969
VS
35552013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3558 zero-out of port structure.
3559
cf94fd62
VS
35602013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3563 of extended attributes.
3564
f81ef4b5
AB
35652013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3566
3567 * util/grub-install.in: change misleading comment about
3568 device.map creation
3569
af18fdb4
VS
35702013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3573 when menu highlight color isn't set.
3574
08bcec50
M
35752013-01-27 C. Masloch <pushbx@38.de>
3576
3577 Improve FreeDOS direct loading support compatibility.
3578
3579 * include/grub/i386/relocator.h (grub_relocator16_state):
3580 New member ebp.
3581 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3582 variable.
3583 (grub_relocator16_boot): Handle %ebp.
3584 * grub-core/lib/i386/relocator16.S: Likewise.
3585 * grub-core/loader/i386/pc/freedos.c:
3586 Load BPB to pass kernel which partition to load from.
3587 Check that kernel file is not too large.
3588 Set register dl to BIOS unit number as well.
3589
7782b8a6
CW
35902013-01-22 Colin Watson <cjwatson@ubuntu.com>
3591
3592 * util/grub-reboot.in (usage): Document the need for
3593 GRUB_DEFAULT=saved.
3594 * util/grub-set-default.in (usage): Likewise.
3595 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3596
e661c180
VS
35972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3600 than defining WORDS_BIGENDIAN manually.
3601
1c22ca9a
VS
36022013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3605 invariants.
3606
d44892fe
CW
36072013-01-21 Colin Watson <cjwatson@ubuntu.com>
3608
3609 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3610 nested.
3611 (blit_comb: add_device_width): Likewise.
3612
5fdbaed1
CW
36132013-01-21 Colin Watson <cjwatson@ubuntu.com>
3614
3615 Remove nested functions from USB iterators.
3616
3617 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3618 (grub_usb_controller_iterate_hook_t): Likewise.
3619 (grub_usb_iterate): Add hook_data argument.
3620 (grub_usb_controller_iterate): Likewise.
3621 (struct grub_usb_controller_dev.iterate): Likewise.
3622
3623 Update all implementations and callers.
3624
4250985a
VS
36252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3628 margin when not needed.
3629
7d8848f3
VS
36302013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3631
bc136973 3632 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3633
36342013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3635
bc136973
VS
3636 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3637 asterisk.
7d8848f3 3638
ed12a003
CW
36392013-01-21 Colin Watson <cjwatson@ubuntu.com>
3640
3641 Fix powerpc and sparc64 build failures caused by un-nesting memory
3642 map iterators.
3643
6a0db449
CW
36442013-01-21 Colin Watson <cjwatson@ubuntu.com>
3645
3646 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3647 parameter declarations.
3648
ccd86b21
VS
36492013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3652
822b726b
VS
36532013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Improve spkmomdem reliability by adding a separator between bytes.
3656
115c2cc1
CW
36572013-01-21 Colin Watson <cjwatson@ubuntu.com>
3658
3659 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3660 an Acer registration utility with several sightings in the wild.
3661 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3662
fc524edf
CW
36632013-01-21 Colin Watson <cjwatson@ubuntu.com>
3664
3665 Remove nested functions from filesystem directory iterators.
3666
3667 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3668 (struct grub_fs.dir): Add hook_data argument.
3669
3670 Update all implementations and callers.
3671
53d3e4e3
CW
36722013-01-21 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * docs/grub.texi (Multi-boot manual config): Fix typo for
3675 "recommended".
3676
c821711f
LL
36772013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3678
3679 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3680 until after its use in generate_image.
3681
6a0debbd
CW
36822013-01-20 Colin Watson <cjwatson@ubuntu.com>
3683
3684 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3685 initrd size to addr_min, since the initrd will be allocated after
3686 this address.
3687
f41e08db
AB
36882013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3689
3690 * conf/Makefile.common: Fix autogen rules to pass definition
3691 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3692
77529e0f
LL
36932013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3694
3695 * include/grub/elf.h: Update ARM definitions based on binutils.
3696
b879aa7b
VS
36972013-01-20 Aleš Nesrsta <starous@volny.cz>
3698
3699 Split long USB transfers into short ones.
3700
8eb8284d
AB
37012013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3702
3703 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3704 is interrupted by ESC.
3705
08dad2dc
VS
37062013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/grub-script-check.c (main): Uniform the error message.
3709
6c724b85
CW
37102013-01-20 Colin Watson <cjwatson@ubuntu.com>
3711
3712 Remove nested functions from ELF iterators.
3713
25239370
CW
37142013-01-20 Colin Watson <cjwatson@ubuntu.com>
3715
3716 Remove nested functions from device iterators.
3717
3718 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3719 (grub_arc_iterate_devs): Add hook_data argument.
3720 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3721 (struct grub_ata_dev.iterate): Add hook_data argument.
3722 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3723 (grub_device_iterate): Add hook_data argument.
3724 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3725 (struct grub_disk_dev.iterate): Add hook_data argument.
3726 (grub_disk_dev_iterate): Likewise.
3727 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3728 Likewise.
3729 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3730 Likewise.
3731 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3732 type.
3733 (struct grub_partition_map.iterate): Add hook_data argument.
3734 (grub_partition_iterate): Likewise.
3735 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3736 (struct grub_scsi_dev.iterate): Add hook_data argument.
3737
3738 Update all callers.
3739
6c0314d6
CW
37402013-01-20 Colin Watson <cjwatson@ubuntu.com>
3741
3742 Fix typos for "developer" and "development".
3743
600dc5f1
VS
37442013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 Add license header to spkmodem-recv.c.
3747
17334a6b
VS
37482013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 Rewrite spkmodem to use PIT for timing. Double the speed.
3751
7d462559
VS
37522013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 Add new command pcidump.
3755
b78d6c32
VS
37562013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 New terminal outputs using serial: morse and spkmodem.
3759
34f71cb8
VS
37602013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Improve bidi handling in entry editor.
3763
4542e71b
VS
37642013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3767 argument to prevent name collision.
3768
09fd6d82
CW
37692013-01-15 Colin Watson <cjwatson@ubuntu.com>
3770
3771 Remove nested functions from script reading and parsing.
3772
3773 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3774 getline_data argument, passed to getline.
3775 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3776 getline_data argument, passed to grub_parser_split_cmdline.
3777 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3778 lexerstate->getline_data to lexerstate->getline.
3779 (grub_script_lexer_init): Add getline_data argument, saved in
3780 lexerstate->getline_data.
3781 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3782 argument, passed to grub_script_parse.
3783 * grub-core/script/script.c (grub_script_parse): Add getline_data
3784 argument, passed to grub_script_lexer_init.
3785 * include/grub/parser.h (grub_parser_split_cmdline): Update
3786 prototype. Update all callers to pass appropriate getline data.
3787 (struct grub_parser.parse_line): Likewise.
3788 (grub_rescue_parse_line): Likewise.
3789 * include/grub/reader.h (grub_reader_getline_t): Add void *
3790 argument.
3791 * include/grub/script_sh.h (struct grub_lexer_param): Add
3792 getline_data member.
3793 (grub_script_parse): Update prototype. Update all callers to pass
3794 appropriate getline data.
3795 (grub_script_lexer_init): Likewise.
3796 (grub_normal_parse_line): Likewise.
3797
3798 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3799 data argument.
3800 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3801 static instead of nested. Rename to ...
3802 (grub_parser_execute_getline): ... this.
3803 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3804 data argument.
3805 * grub-core/normal/main.c (read_config_file: getline): Make static
3806 instead of nested. Rename to ...
3807 (read_config_file_getline): ... this.
3808 (grub_normal_read_line): Add unused data argument.
3809 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3810 getline): Make static instead of nested. Rename to ...
3811 (grub_script_execute_sourcecode_getline): ... this.
3812 * util/grub-script-check.c (main: get_config_line): Make static
3813 instead of nested.
3814
d0d4b8a0
CW
38152013-01-15 Colin Watson <cjwatson@ubuntu.com>
3816
3817 Remove nested functions from memory map iterators.
3818
3819 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3820 argument, passed to hook.
3821 * grub-core/kern/i386/coreboot/mmap.c
3822 (grub_linuxbios_table_iterate): Likewise.
3823 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3824 instead of nested.
3825 (grub_machine_mmap_iterate): Add hook_data argument.
3826 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3827 Add hook_data argument, passed to hook.
3828 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3829 Likewise.
3830 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3831 Likewise.
3832 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3833 Likewise.
3834 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3835 Likewise.
3836 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3837 Likewise.
3838 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3839 Likewise.
3840 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3841 (grub_machine_mmap_iterate): Likewise.
3842 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3843 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3844 prototype.
3845 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3846 Remove NESTED_FUNC_ATTR from here and from all users.
3847 (grub_mmap_iterate): Update prototype.
3848 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3849 pass appropriate hook data.
3850 (grub_machine_mmap_iterate): Likewise.
3851
3852 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3853 static instead of nested.
3854 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3855 Rename to ...
3856 (lsmmap_hook): ... this.
3857 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3858 Likewise.
3859 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3860 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3861 heap_init): Likewise.
3862 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3863 Rename to ...
3864 (mmap_iterate_hook): ... this.
3865 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3866 Likewise.
3867 * grub-core/lib/ieee1275/relocator.c
3868 (grub_relocator_firmware_get_max_events: count): Likewise.
3869 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3870 to ...
3871 (grub_relocator_firmware_fill_events_iter): ... this.
3872 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3873 hook): Likewise. Rename to ...
3874 (grub_relocator_alloc_chunk_align_iter): ... this.
3875 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3876 Rename to ...
3877 (generate_e820_mmap_iter): ... this.
3878 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3879 Rename to ...
3880 (count_hook): ... this.
3881 (grub_linux_boot: hook): Likewise. Rename to ...
3882 (grub_linux_boot_mmap_find): ... this.
3883 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3884 (grub_linux_boot_mmap_fill): ... this.
3885 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3886 hook): Likewise. Rename to ...
3887 (grub_fill_multiboot_mmap_iter): ... this.
3888 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3889 hook): Likewise. Rename to ...
3890 (count_hook): ... this.
3891 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3892 hook): Likewise. Rename to ...
3893 (grub_fill_multiboot_mmap_iter): ... this.
3894 * grub-core/loader/powerpc/ieee1275/linux.c
3895 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3896 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3897 Likewise. Rename to ...
3898 (alloc_phys_choose): ... this.
3899 (determine_phys_base: get_physbase): Likewise.
3900 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3901 find_hook): Likewise.
3902 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3903 (malloc_hook: count_hook): Likewise.
3904 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3905 Likewise. Rename to ...
3906 (lower_hook): ... this.
3907 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3908 (upper_hook): ... this.
3909 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3910 (post64_hook): ... this.
3911 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3912 Likewise. Rename to ...
3913 (lower_hook): ... this.
3914 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3915 (upper_hook): ... this.
3916 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3917 (grub_mmap_iterate: fill_hook): Likewise.
3918 (fill_mask): Pass addr and mask within a single struct.
3919 (grub_cmd_badram: hook): Make static instead of nested. Rename
3920 to ...
3921 (badram_iter): ... this.
3922 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3923 (cutmem_iter): ... this.
3924
22099030
VS
39252013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3928 delimit path in strings using quotes.
3929 * util/getroot.c (grub_guess_root_devices): Likewise.
3930 (grub_make_system_path_relative_to_its_root): Likewise.
3931 * util/grub-probe.c (probe): Likewise.
3932 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3933 (xrealpath): Likewise.
3934
4a9950ec
VS
39352013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 Fix compilation with older compilers.
3938
3939 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3940 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3941 declarations.
3942 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3943 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3944 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3945 identifier with b.
3946 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3947 * include/grub/crypto.h: Add type defines.
3948 * util/import_gcrypth.sed: Remove duplicate type defines.
3949
adcc6020
VS
39502013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 New command list_trusted.
3953
3954 * grub-core/commands/verify.c (grub_cmd_list): New function.
3955
a4528937
CW
39562013-01-13 Colin Watson <cjwatson@ubuntu.com>
3957
3958 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3959 info message.
3960
ca3a7446
CW
39612013-01-13 Colin Watson <cjwatson@ubuntu.com>
3962
3963 Remove nested functions from PCI iterators.
3964
3965 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3966 passed to hook. Update all callers to pass appropriate hook data.
3967 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3968 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3969 Remove NESTED_FUNC_ATTR from here and from all users.
3970 (grub_pci_iterate): Update prototype.
3971 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3972 instead of nested. Rename to ...
3973 (grub_cs5536_find_iter): ... this.
3974 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3975 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3976 Likewise.
3977 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3978 Likewise.
3979 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3980 Likewise.
3981 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3982 Likewise.
3983 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3984 * grub-core/video/radeon_fuloong2e.c
3985 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3986 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3987 find_card): Likewise.
3988 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3989 Likewise.
3990
f8e98fee
VS
39912013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/commands/verify.c: Mark messages for translating.
3994
055b36b6
VS
39952013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3998 fatal.
3999
f7ff879b
VS
40002013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4003 fatal.
4004
40052013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4006
4007 * autogen.sh: Do not try to delete nonexistant files.
4008 * util/import_gcrypth.sed: Add some missing header removals.
4009
01323d49
CW
40102013-01-12 Colin Watson <cjwatson@ubuntu.com>
4011
4012 Clean up dangling references to grub-setup.
4013 Fixes Ubuntu bug #1082045.
4014
4015 * docs/grub.texi (Images): Refer generally to grub-install rather
4016 than directly to grub-setup.
4017 (Installing GRUB using grub-install): Remove direct reference to
4018 grub-setup.
4019 (Device map) Likewise.
4020 (Invoking grub-install): Likewise.
4021 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4022 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4023 * util/grub-install.in (usage): Likewise.
4024
4025 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4026 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4027 grub-setup.
4028 * configure.ac: Remove grub_setup output variable.
4029
4030 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4031 to grub-bios-setup.
4032 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4033 grub-setup to grub-sparc64-setup.
4034
5e3b8dcb
VS
40352013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Import gcrypt public-key cryptography and implement signature checking.
4038
535714bd
VS
40392013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/fs/ntfs.c: Ue more appropriate types.
4042 * grub-core/fs/ntfscomp.c: Likewise.
4043 * include/grub/ntfs.h: Likewise.
4044
3e4f3566
VS
40452013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Support Apple FAT binaries on non-Apple platforms.
4048
4049 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4050 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4051 Likewise.
4052 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4053 Apple FAT binaries.
4054
4dedb13f
VS
40552013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4058 sector devices.
4059
f8861eaf
CW
40602013-01-07 Colin Watson <cjwatson@ubuntu.com>
4061
4062 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4063 explicitly zeroing elements.
4064 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4065 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4066 of elements in a structure already allocated using grub_zalloc.
4067 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4068
86065b0a
CW
40692013-01-07 Colin Watson <cjwatson@ubuntu.com>
4070
4071 * docs/grub.texi (grub_cpu): New subsection.
4072 (grub_platform): Likewise.
4073
c6f1e92f
VS
40742013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4077
f797ec85
VS
40782013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4081 divisions.
4082
033d0b4b
VS
40832013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4086 * grub-core/fs/ntfscomp.c: Likewise.
4087 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4088 (grub_ntfs_comp): Likewise.
4089
21d1b9a0
VS
40902013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4093 Rename to ...
4094 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4095 of groups_per_block. All users updated.
4096
10ca8645
VS
40972013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4100 grub_error properly.
4101 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4102 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4103
a4c3ed4c
VS
41042013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4107 always in /boot/zfs.
4108 Reported by: Yuta Satoh.
4109
0b716507
YS
41102013-01-03 Yuta Satoh <nigoro>
4111
4112 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4113 ${grub_probe}
4114
00c05e22
VS
41152013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * configure.ac: Extend -Wno-trampolines to host.
4118
dadddb76
VS
41192013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4122 entry->len = 0.
4123
54ce53ca
CW
41242013-01-03 Colin Watson <cjwatson@ubuntu.com>
4125
4126 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4127 (Invoking grub-script-check): Likewise.
4128
8912efca
CW
41292013-01-03 Colin Watson <cjwatson@ubuntu.com>
4130
4131 * docs/grub.texi (Invoking grub-mount): New section.
4132 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4133
c3fc8394
CW
41342013-01-02 Colin Watson <cjwatson@ubuntu.com>
4135
4136 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4137 test failures, so that a failing unit test correctly causes 'make
4138 check' to fail.
4139
45d26abb
CW
41402013-01-02 Colin Watson <cjwatson@ubuntu.com>
4141
4142 Fix failing printf test.
4143
4144 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4145 '$' in the correct order when collecting type information.
4146
971dd2c6
CW
41472013-01-02 Colin Watson <cjwatson@ubuntu.com>
4148
4149 * docs/grub.texi (configfile): Explain environment variable
4150 handling.
4151 (source): New section.
4152 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4153
5c67ea6c
CW
41542012-12-31 Colin Watson <cjwatson@ubuntu.com>
4155
4156 Remove several trivially-unnecessary uses of nested functions.
4157
4158 * grub-core/commands/i386/pc/sendkey.c
4159 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4160 instead of nested.
4161 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4162 Rename to ...
4163 (legacy_file_getline): ... this.
4164 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4165 Likewise.
4166 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4167 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4168 to ...
4169 (probe_dummy_iter): ... this.
4170 * grub-core/kern/i386/coreboot/mmap.c
4171 (grub_linuxbios_table_iterate: check_signature): Likewise.
4172 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4173 check_varstate): Likewise. Mark inline.
4174 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4175 an additional parameter.
4176 (find_long: fnd_long): Likewise. Pass two additional parameters.
4177 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4178 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4179 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4180 Likewise. Rename to ...
4181 (grub_cmos_find_port_iter): ... this.
4182 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4183 Rename to ...
4184 (find_rtc_iter): ... this.
4185
4186 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4187 function directly into the function body, since it is only called
4188 once.
4189
33a68ac6
CW
41902012-12-30 Colin Watson <cjwatson@ubuntu.com>
4191
4192 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4193 __attribute__ ((unused)).
4194 * grub-core/video/bochs.c (find_card): Likewise.
4195 * grub-core/video/cirrus.c (find_card): Likewise.
4196 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4197 * grub-core/video/sis315pro.c (find_card): Likewise.
4198 * grub-core/video/sm712.c (find_card): Likewise.
4199
608b647a
CW
42002012-12-28 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4203 Fixes Savannah bug #37821.
4204
fd49ceb3
CW
42052012-12-28 Colin Watson <cjwatson@ubuntu.com>
4206
4207 Apply program name transformations at build-time rather than at
4208 run-time. Fixes Debian bug #696465.
4209
4210 * acinclude.m4 (grub_TRANSFORM): New macro.
4211 * configure.ac: Create output variables with transformed names for
4212 most programs.
4213 * util/bash-completion.d/grub-completion.bash.in: Use
4214 pre-transformed variables for program names.
4215 * util/grub-install.in: Likewise.
4216 * util/grub-kbdcomp.in: Likewise.
4217 * util/grub-mkconfig.in: Likewise.
4218 * util/grub-mkconfig_lib.in: Likewise.
4219 * util/grub-mknetdir.in: Likewise.
4220 * util/grub-mkrescue.in: Likewise.
4221 * util/grub-mkstandalone.in: Likewise.
4222 * util/grub-reboot.in: Likewise.
4223 * util/grub-set-default.in: Likewise.
4224 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4225 * tests/util/grub-shell-tester.in: Remove unused assignment.
4226 * tests/util/grub-shell.in: Likewise.
4227 * util/grub.d/00_header.in: Likewise.
4228
7024b3c0
CW
42292012-12-28 Colin Watson <cjwatson@ubuntu.com>
4230
4231 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4232
4233 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4234 HAVE_RAW_DECL_GETS.
4235 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4236
e3501b13
VS
42372012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4240 Reported by: Eriks Latosheks <foresterlv>.
4241
b40c88a9
VS
42422012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * docs/grub.texi (Network): Update instructions on generating netboot
4245 image.
4246
ce96d01c
VS
42472012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4250 around device name if necessarry.
4251
0f596201
PFS
42522012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4253
4254 * util/grub-install.in: Follow the symbolic link parameter added
4255 to the file command.
4256
600d5bdb
AB
42572012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4258
4259 * util/grub-install.in: Remove stale TODO.
4260
64ebd2f4
PFS
42612012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4262
4263 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4264 dynamic allocation for the bootpath buffer.
4265
74b2fe3e
DTB
42662012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4267
4268 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4269 window too small.
4270
969b804f
VS
42712012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4274 argument rather than font name. All users updated.
4275 (grub_gfxterm_set_window): Likewise.
4276
b9f5ebd6
VT
42772012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4278
4279 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4280 from working.
4281
258f43b7
VS
42822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * util/getroot.c (convert_system_partition_to_system_disk): Support
4285 nbd disks.
4286
cc1ce5f9
VS
42872012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4290 infinite loop on corrupted FS.
4291
e77a16ca
VS
42922012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Fix big-endian mtime.
4295
4296 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4297 together sec and usec.
4298 (grub_ufs_dir): Use correct byteswapping for UFS time.
4299
d9c48c7b
VS
43002012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 Support big-endian UFS1.
4303
4304 * Makefile.util.def (libgrubmods): Add ufs_be.c
4305 * grub-core/Makefile.core.def (ufs1_be): New module.
4306 * grub-core/fs/ufs_be.c: New file.
4307 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4308 the file.
4309
2f9f40ba
LL
43102012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4311
4312 * include/grub/types.h: Fix functionality unaffecting typo in
4313 GRUB_TARGET_WORDSIZE conditional macro.
4314
48ff0889
PFS
43152012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4316
4317 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4318
03711240
GS
43192012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4320
4321 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4322 that /netbsd appears first (when it exists).
4323
a31b11bd
CJ
43242012-10-12 Christoph Junghans <ottxor@gentoo.org>
4325
4326 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4327 Fixes Savannah bug #37558.
4328
e8a5d5d4
CW
43292012-10-12 Colin Watson <cjwatson@ubuntu.com>
4330
4331 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4332 description of extract_entries_configfile.
4333
43342012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4335
4336 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4337 preferred_address.
4338 (grub_cmd_linux): Likewise.
4339 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4340 preferred_lifetime. Update all users.
4341
288c757d
CW
43422012-09-26 Colin Watson <cjwatson@ubuntu.com>
4343
4344 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4345 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4346
0d35da3f
CW
43472012-09-26 Colin Watson <cjwatson@ubuntu.com>
4348
4349 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4350 errors from grub-probe to /dev/null, not stdout.
4351
b78c3127
VS
43522012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4355 sector 1.
4356
473959f0
CW
43572012-09-24 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * util/grub-install.in: Make the error message if $source_dir
4360 doesn't exist more useful.
4361
794c8c33
CW
43622012-09-22 Colin Watson <cjwatson@ubuntu.com>
4363
4364 Fix grub-emu build on FreeBSD.
4365
4366 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4367 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4368 headers on Linux.
4369 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4370 implementation is currently Linux-specific.
4371 * util/getroot.c (exec_pipe): Define only on Linux or when either
4372 libzfs or libnvpair is unavailable.
4373 (find_root_devices_from_poolname): Remove unused path variable.
4374
86d08fdb
CW
43752012-09-19 Colin Watson <cjwatson@ubuntu.com>
4376
4377 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4378 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4379 should fit before end == 63.
4380
735abf54
CW
43812012-09-19 Colin Watson <cjwatson@ubuntu.com>
4382
4383 * util/grub-setup.c (write_rootdev): Remove unused core_img
4384 parameter. Update all callers.
4385 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4386 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4387 GRUB_SETUP_BIOS.
4388
140acd3c
VS
43892012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4392 (grub_add_tab): New function.
4393 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4394 * util/grub.d/10_illumos.in: Likewise.
4395 * util/grub.d/10_kfreebsd.in: Likewise.
4396 * util/grub.d/10_linux.in: Likewise.
4397 * util/grub.d/10_netbsd.in: Likewise.
4398 * util/grub.d/10_windows.in: Likewise.
4399 * util/grub.d/10_xnu.in: Likewise.
4400 * util/grub.d/20_linux_xen.in: Likewise.
4401 * util/grub.d/30_os-prober.in: Likewise.
4402
7ddffdad
VS
44032012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4406 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4407 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4408 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4409 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4410 ieee1275-nocursor.
4411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4412 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4413
4e092454
VS
44142012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4417 le-conversion.
4418 Reported by: BURETTE, Bernard.
4419
735abf54 44202012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4421
4422 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4423 from comment.
4424
dfd39dbd
CW
44252012-09-14 Colin Watson <cjwatson@ubuntu.com>
4426
4427 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4428 IEEE1275 machines. Fixes powerpc-emu compilation.
4429 * include/grub/terminfo.h: Likewise.
4430
3bfa763c
VS
44312012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4434 a const pointer.
4435 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4436 const pointer.
4437 (efiemu_set_variable): Make vendor_guid a const pointer.
4438
250e475b
VS
44392012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 Don't require grub-mkconfig_lib to generate manpages for programs.
4442
4443 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4444 dependencies, don't add grub-mkconfig_lib.
4445 (program): Pass empty adddeps.
4446 (script): Pass grub-mkconfig_lib as adddeps.
4447
592fd0e4
VS
44482012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4451 * util/getroot.c (grub_find_device): Likewise.
4452 (get_mdadm_uuid): Likewise.
4453 (grub_util_is_imsm): Likewise.
4454 (grub_util_pull_device): Likewise.
4455 * util/grub-probe.c (probe): Likewise.
4456
801a3027
BG
44572012-09-10 Benoit Gschwind <gschwind>
4458
4459 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4460 (devs): Add devpath_8.
4461
c5052c81
PJ
44622012-09-08 Peter Jones <pjones@redhat.com>
4463
4464 * grub-core/Makefile.core.def (efifwsetup): New module.
4465 * grub-core/commands/efi/efifwsetup.c: New file.
4466 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4467 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4468 New define.
4469 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4470
8e832f71
JS
44712012-09-05 Jiri Slaby <jslaby@suse.cz>
4472
4473 * configure.ac: Add SuSe path.
4474
f0f55752
CW
44752012-09-05 Colin Watson <cjwatson@ubuntu.com>
4476
4477 * NEWS: Fix typo.
4478
ecadc4c2
CW
44792012-09-05 Colin Watson <cjwatson@ubuntu.com>
4480
4481 * util/import_gcry.py: Sort cipher_files, to make build system
4482 generation more deterministic.
4483
64498f25
VS
44842012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4487 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4488 (grub_set_datetime): Likewise.
4489
9cc836a2
VS
44902012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4493 warnings.
4494
bcfcea01
VS
44952012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4498
a4099485
VS
44992012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4502
265c162a
CW
45032012-09-04 Colin Watson <cjwatson@ubuntu.com>
4504
4505 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4506 required for checkouts from bzr, but it may be useful for users or
4507 distributors wishing to update translations against a tarball
4508 distribution, and it can be helpful for the tarball to be a superset
4509 of what's in bzr.
4510
3d171e95
CW
45112012-09-04 Colin Watson <cjwatson@ubuntu.com>
4512
4513 * Makefile.am (EXTRA_DIST): Add
4514 grub-core/tests/boot/linux.init-mips.S,
4515 grub-core/tests/boot/linux.init-ppc.S, and
4516 grub-core/tests/boot/linux-ppc.cfg.
4517
f2c2503e
CW
45182012-09-04 Colin Watson <cjwatson@ubuntu.com>
4519
4520 * grub-core/mmap/mips/loongson: Remove empty directory.
4521
45222012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4523
4524 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4525 gone.
4526
ab2163d5
CW
45272012-09-04 Colin Watson <cjwatson@ubuntu.com>
4528
4529 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4530 grub-sparc64-setup.
4531
ce938140
GS
45322012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4533
4534 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4535
529f58a5
GS
45362012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4537
4538 * po/POTFILES.in: Regenerated.
4539
16cf79e9
GS
45402012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4541
4542 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4543 (NetBSD): New subsection.
4544
39b27f1e 45452012-07-22 Ales Nesrsta <starous@volny.cz>
4546
4547 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4548 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4549
a885261b
VS
45502012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4553 * util/grub.d/10_hurd.in: Add missing quoting.
4554 * util/grub.d/10_illumos.in: Likewise.
4555 * util/grub.d/10_kfreebsd.in: Likewise.
4556 * util/grub.d/10_linux.in: Likewise.
4557 * util/grub.d/20_linux_xen.in: Likewise.
4558
7bd29c01
VS
45592012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 New command `lsefi'.
4562
4563 * grub-core/Makefile.core.def (lsefi): New module.
4564 * grub-core/commands/efi/lsefi.c: New file.
4565 * include/grub/efi/api.h: Add more GUIDs.
4566
ac625d8f
VS
45672012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4570 (grub_bsd_elf32_hook): Likewise.
4571 (grub_bsd_elf64_size_hook): Likewise.
4572 (grub_bsd_elf64_hook): Likewise.
4573 (grub_bsd_load_elf): Likewise.
4574
e73bb801
VS
45752012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4578 if hash function is unavailable.
4579 (dec_stream_header): Likewise.
4580
e81db8b5
VS
45812012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4584 filter state.
4585
d187a1c3
VS
45862012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 Fix coreboot compilation.
4589
4590 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4591 (grub_vga_text_init_real): ... this.
4592 (grub_vga_text_fini): Rename to ...
4593 (grub_vga_text_fini_real): ... this.
4594
91a05f64
VS
45952012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4598
6af96df7
VS
45992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/lib/legacy_parse.c: Support clear and testload.
4602
4d569e12
VS
46032012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4606
073b57bb
VS
46072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4610
a706f4cc
VS
46112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/net/tftp.c (ack): Fix endianness problem.
4614 (tftp_receive): Likewise.
4615 Reported by: Michael Davidsaver.
4616
e7850aa9
VS
46172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4620
46212012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4624 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4625 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4626
35692881
VS
46272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4630 efi_mmap_size.
4631 Reported by: Stuart Hayes.
4632
c35fc5bd
VS
46332012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4636
4637 * grub-core/Makefile.core.def (mda_text): New module.
4638 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4639 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4640 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4641 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4642 here.
4643 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4644 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4645 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4646 here.
4647 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4648 to ..
4649 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4650 ... here
4651 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4652 here.
4653 * grub-core/term/i386/vga_common.c: Removed.
4654 * include/grub/i386/vga_common.h: Likewise.
4655 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4656 (grub_vga_cr_bw_read): Likewise.
4657 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4658 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4659 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4660 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4661 grub_vga_cr_read/grub_vga_cr_write.
4662 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4663
5f91f701
VS
46642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * configure.ac: Bump version to 2.00.
4667 * grub-core/normal/main.c (features): Add feature_200_final.
4668
0c4f85f6
VS
46692012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
46702012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4671
4672 * NEWS: Fix unclarity and language mistakes.
4673
f923ad22
VS
46742012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4677 additional size to 3 pages.
4678 Reported by: Stuart Hayes.
4679
d22029ba
VS
46802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * NEWS: Add 2.00 entry.
4683
58eee08f
VS
46842012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4687 put explicit "/" for empty path.
4688 (wildcard_expand): Improve dprintf.
4689
c59bdff7
VS
46902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4693 it's equal to currnode. This can happen with "" symlink.
4694
5e6a440a
YB
46952012-06-27 Yves Blusseau <blusseau@zetam.org>
4696
4697 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4698 echo shell command by printf command.
4699
73a68bcb
VS
47002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4703 the value returned by firmware is the maximal position, not diumension.
4704 (grub_terminfo_output_state): Use a more sane fallback.
4705
392a603b
VS
47062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4709
42d0867f
VS
47102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4713 frequency to 150 MHz.
4714
489509f4
VS
47152012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Apple fixes.
4718
4719 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4720 __APPLE_
4721 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4722 definition.
4723 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4724
9f3fc883
VS
47252012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Handle slash in HFS label.
4728
4729 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4730 (grub_hfs_dir): Tanslate slash.
4731 (grub_hfs_label): Don't translate slash.
4732
54853fd7
VS
47332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4736 network protocol listing since it introduces problematic dependency on
4737 net module.
4738
4dc02ddf
VS
47392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4742
c50c867d
VS
47432012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 Init video early on yeeloong to avoid being rebooted by watchdog.
4746
4747 * grub-core/Makefile.am (gensm712): New target.
4748 (sm712_start.S): Likewise.
4749 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4750 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4751 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4752 description.
4753 * include/grub/vga.h: Move registry definitions to...
4754 * include/grub/vgaregs.h: ... here.
4755
5f92c8a1
VS
47562012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4759 signedness.
4760
e9e6f111
VS
47612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4764 platforms with firmware disk drivers in the core.
4765
754ad9eb
VS
47662012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4769 informative verbose message.
4770 (read_lv): Handle 64-bit segment size.
4771
315654c2
VS
47722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4775
fb022c79
VS
47762012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4779 character but still remove trainling spaces.
4780 (grub_fat_label): Ignore archive flag.
4781
8645f72c
VS
47822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4785 cast between linux_kernel_header and linux_kernel_params.
4786
36498496
VS
47872012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4790 type for size.
4791 (grub_raid6_recover_func_t): Likewise.
4792 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4793 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4794
0b5ea6b8
VS
47952012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4798
650cfcfe
GS
47992012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4800
4801 Fix overflow.
4802
4803 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4804 [__NetBSD__]: Add explicit cast before bitshift.
4805
8a4d6a44
VS
48062012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * configure.ac: Bump to 2.00~rc1.
4809
2fb97ed3
VS
48102012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4813 half of $a0.
4814
1fa097dc
VS
48152012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
48162012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4817
4818 * docs/grub.texi: Fix search syntax.
4819 (Multi-boot manual config): Put msdos rather than GPT example.
4820 Grammar corrections.
4821
c890ba78
VS
48222012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4825
0f92dca7
VS
48262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4829
3988c4a0
VS
48302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4833 message on double free. Put the value of magic in case of mismatch.
4834
9e86d4c5
VS
48352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 Speed-up video on yeeloong.
4838
4839 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4840 add cached_ptr.
4841 (grub_video_sm712_video_fini): Unmap cached_ptr.
4842 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4843 (grub_video_sm712_set_active_render_target): Removed.
4844 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4845 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4846 sync caches.
4847
ed24c312
VS
48482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 Avoid flushing the same line multiple times on loongson.
4851
4852 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4853 Step in 32 bytes and not 1 byte.
4854 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4855 Likewise.
4856
d1718e7d
VS
48572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4860 subvolumes.
4861
982f1909
VS
48622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 Implement flow control for http.
4865
4866 * grub-core/net/http.c (parse_line): Handle response 206.
4867 (http_receive): Stall if too many packets are in the queue.
4868 (http_establish): Fix range header.
4869 (http_seek): Fix double free.
4870 (http_close): Likewise.
4871 (http_packets_pulled): New function.
4872 (grub_http_protocol): Set http_seek
4873 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4874 (ack_real): Set window depending on i_stall.
4875 (grub_net_send_tcp_packet): Likewise.
4876 (grub_net_tcp_stall): New function.
4877 (grub_net_tcp_unstall): Likewise.
4878 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4879 (grub_net_tcp_unstall): Likewise.
4880
bd407d6e
VS
48812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4884
c7564b8e
VS
48852012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4888
a3706162
VS
48892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * tests/util/grub-shell.in: Fix a typo.
4892
b27069e0
VS
48932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Implement flow control for tftp.
4896
4897 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4898 packets but stop only if stop condition is satisfied.
4899 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4900 `stall' instead of `eof' as stop condition.
4901 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4902 (http_err): Likewise.
4903 * grub-core/net/tftp.c (ack): Replace the first argument with data
4904 instead of socket.
4905 (tftp_receive): Stall if too many packets are in wait queue.
4906 (tftp_packets_pulled): New function.
4907 (grub_tftp_protocol): Set packets_pulled.
4908 * include/grub/net.h (grub_net_packets): New field count.
4909 (grub_net_put_packet): Increment count.
4910 (grub_net_remove_packet): Likewise.
4911 (grub_net_app_protocol): New field `packets_pulled'.
4912 (grub_net): New field `stall'.
4913
6b9cfac6
VS
49142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4917 sync part to handle them.
4918
f35abd81
VS
49192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4922 * grub-core/net/drivers/ieee1275/ofnet.c
4923 (grub_ieee1275_net_config_real): Likewise.
4924
0e7ec820
VS
49252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4928 the direct route for server/gateway.
4929
9d611a31
VS
49302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4933 IP address to server name since we may not hame the DNS.
4934
418f45ab
VS
49352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4938 freeing random buffer on failure.
4939 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4940
44a0efc1
VS
49412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4944
531e2241
VS
49452012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4948 reserved bytes.
4949 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4950 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4951 Handle malloc error correctly.
4952
cde393c9
VS
49532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4956 blocks.
4957
538478d0
VS
49582012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4961 increment.
4962
9b55efe0
VS
49632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4966 none is explicitly specified.
4967
9eb832c3
VS
49682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4971 while reallocating.
4972
d6b7c7c9
VS
49732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 Respect netmask from bootp/dhcp.
4976
4977 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4978 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4979 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4980 into ...
4981 (grub_net_add_ipv4_local): ... this.
4982 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4983 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4984 (grub_net_add_ipv4_local): New proto.
4985
67caf9eb
VS
49862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4989 determining EFI memory map size.
4990
43657558
VS
49912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4994
eb6d0dd3
VS
49952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4998 when looking for partition separator.
4999
31230544
VS
50002012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5003 Escape commas.
5004
918a2517
VS
50052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Restructure FAT driver to avoid hook in label reading as it hits a
5008 GCC bug.
5009
5010 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5011 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5012 (grub_fat_iterate_dir): Split into ...
5013 (grub_fat_iterate_init): ... this, ...
5014 (grub_fat_iterate_fini): ... this, ...
5015 (grub_fat_iterate_dir_next): ... and this. All users updated.
5016
9f1d654e
VS
50172012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5020 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5021 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5022 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5023 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5024 New fields last_key and last_key_time.
5025 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5026 extended key-esc into extended key-extended key.
5027
52f0f643
VS
50282012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 Avoid unnecessary memcpy of whole video buffer.
5031
5032 * grub-core/video/fb/video_fb.c (dirty): New struct.
5033 (framebuffer): Add members current_dirty and previous_dirty.
5034 (dirty): New function.
5035 (grub_video_fb_fill_rect): Update dirty.
5036 (common_blitter): Likewise.
5037 (grub_video_fb_scroll): Likewise.
5038 (doublebuf_blit_update_screen): Copy only dirty part.
5039 (doublebuf_pageflipping_update_screen): Likewise.
5040 (grub_video_fb_doublebuf_blit_init): Init dirty.
5041 (doublebuf_pageflipping_init): Likewise.
5042 (grub_video_fb_setup): Likewise.
5043
e169a180
VS
50442012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5047 poll rate.
5048
48556879
VS
50492012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 Fix wildcard regexp dot and other special characters handling.
5052 Reported by: Robert Mabee.
5053
5054 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5055 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5056 (split_path): Trigger expansion on '?'.
5057 (unescape): New function.
5058 (wildcard_expand): Unescape parts copied without globbing.
5059 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5060 (grub_script_arglist_to_argv): Don't unescape expansions.
5061
0494408e
VS
50622012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * include/grub/net.h (grub_net_card): New member txbufsize.
5065 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5066 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5067 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5068 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5069 txbufsize.
5070 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5071 compatible property to check for macs. Set
5072 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5073 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5074 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5075 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5076 (send_card_buffer): Use txbuf.
5077 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5078 nested function out of the parent while on it.
5079
cc35fe8f
VS
50802012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5083 presence check.
5084 (grub_ieee1275_net_config_real): Fix config pointer.
5085
970a0a09
VS
50862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5089 filename parsing to non-block devices.
5090
3e19bf87
VS
50912012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5094
c62d1a0c
VS
50952012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5098 All users updated.
5099
ef76bec3
VS
51002012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5103 UUID search command even if hints probing failed.
5104
51052012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5106
5107 * po/POTFILES.in: Regenerated.
5108
70aaf305
VS
51092012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 Speed-up video on fuloong.
5112
5113 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5114 New function.
5115 (grub_pci_device_unmap_range): Handle non-cached address.
5116 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5117 add direct_ptr.
5118 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5119 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5120 (grub_video_sis315pro_set_active_render_target): Removed.
5121 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5122 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5123 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5124 sync caches.
5125 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5126 New proto.
5127
10400f0b
VS
51282012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * docs/grub.texi (Multi-boot manual config): New section.
5131
ba67e2c6
VS
51322012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 Avoid slow read-back from VRAM.
5135
5136 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5137 Move from here ...
5138 * grub-core/video/fb/video_fb.c
5139 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5140 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5141 (front_target): Remove front_target. Add pages.
5142 (grub_video_fb_init): Skip setting front_pages.
5143 (grub_video_fb_fini): Likewise.
5144 (doublebuf_blit_update_screen): Use pages.
5145 (grub_video_fb_doublebuf_blit_init): Likewise.
5146 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5147 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5148 (grub_video_fb_setup): Prefer doublebuffing.
5149
377c98cb
VS
51502012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5153 gzio.
5154
eac49cff
VS
51552012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 Add loongson tests.
5158
5159 * tests/util/grub-shell.in: Handle loongson.
5160 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5161 drivers.
5162 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5163 Reboot instead of shutdown if REBOOT is defined.
5164
0321415e
VS
51652012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5168 sized ports since unlike on real hardware qemu supports only 32-bit
5169 regs.
5170
3f2bdd8f
VS
51712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5174 * util/grub-mkrescue.in: Handle loongson.
5175
29a049c9
VS
51762012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5179 Set is_part appropriately.
5180 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5181 names. Canonicalize partition without full disk.
5182
4abde346
VS
51832012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Revert usb-quiesce since it's wrong.
5186
5187 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5188 (grub_ofdisk_init): Don't do quiesce.
5189
61f1d93b
VS
51902012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5193 PowerMac workaround to Xserves as well.
5194 Information supplied by: Benjamin Herrenschmidt.
5195
a09eb541
VS
51962012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Don't assume that beginning address is also the entry point on ppc.
5199
5200 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5201 (grub_linux_boot): Use linux_entry.
5202 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5203 (grub_linux_load64): Likewise.
5204
505b3c9b
VS
52052012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5208
cbe0b4ef
VS
52092012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5212 needlessly lose the console.
5213
3006e981
VS
52142012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5217 space.
5218
4e5a96b0
VS
52192012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5220
7da036bb
VS
5221 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5222 than current grub_get_rtc() not implemented when booted with
5223 coreboot without TSC.
5224
5225 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5226 Add machine/time.h to kernel headers on loongson.
5227 * grub-core/Makefile.core.def (kernel): Remove
5228 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5229 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5230 (grub_get_rtc): Likewise.
5231 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5232 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5233 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5234 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5235 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5236 rather than installing known non-working time source.
5237 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5238 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5239 * include/grub/time.h: Don't include machine/time.h.
5240 * include/grub/efi/time.h: Removed.
5241 * include/grub/i386/efi/time.h: Likewise.
5242 * include/grub/i386/ieee1275/time.h: Likewise.
5243 * include/grub/powerpc/ieee1275/time.h: Likewise.
5244 * include/grub/sparc64/ieee1275/time.h: Likewise.
5245 * include/grub/x86_64/efi/time.h: Likewise.
5246
52472012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5250
5251 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5252 value.
5253 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5254 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5255 with dotless variants when any combining above is present.
5256
5561c22d
VS
52572012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5260 text and not binary.
5261
96f7e60e
VS
52622012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 Stop polling as soon as we have the packet we were waiting for.
5265
5266 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5267 All users updated.
5268 * grub-core/net/arp.c (have_pending): New var.
5269 (pending_req): Likewise.
5270 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5271 stop indicator.
5272 (grub_net_arp_receive): Set have_pending.
5273 * grub-core/net/dns.c (recv_data): New field stop.
5274 (recv_hook): Set stop.
5275 (grub_net_dns_lookup): Init stop and use as stop condition.
5276 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5277 condition.
5278 * grub-core/net/net.c (grub_net_poll_cards): New argument
5279 stop_condition. Stop when it goes true.
5280 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5281 indicator.
5282 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5283
3e747239
VS
52842012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 Keep TX and RX buffers on EFI rather than always allocate new ones.
5287
5288 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5289 card. All users updated.
5290 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5291 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5292 (get_card_packet): Likewise.
5293 (grub_efinet_findcards): Init new fields.
5294
f695e99a
VS
52952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5298 compilation error on sparc64.
5299
9e5e66d1
VS
53002012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 Use ITC on IA64 rather than broken routine based on daytime.
5303
5304 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5305 ia64.
5306 (grub_get_rtc) [__ia64__]: Likewise.
5307 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5308 (get_itc): New function.
5309 (grub_rtc_get_time_ms): Likewise.
5310 (grub_machine_init): Calibrate ITC.
5311 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5312 Keep only on non-ia64. Don't export since it's broken and used only
5313 if TSC is unavailable.
5314
a1767404
VS
53152012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5318 even if it's used.
5319 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5320 Skip if parent is unused.
5321
34b2bced
VS
53222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5325
5e619f40
VS
53262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 Fix wildcard escaping.
5329
5330 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5331 * grub-core/script/execute.c (wildcard_escape): .. to here.
5332 Don't escape dot.
5333 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5334 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5335 Don't escape dot.
5336 * grub-core/script/execute.c (gettext_append): Always escape.
5337 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5338 * grub-core/script/yylex.l: Don't cut away the escaping.
5339 * tests/grub_script_echo1.in: Add tests with wildcard.
5340
c8ca5855
VS
53412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5344 (ftdi_hw_configure): Likewise.
5345 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5346 define.
5347 (real_config): Handle 1.5 stop bits.
5348 (pl2303_hw_configure): Likewise.
5349
7183452c
VS
53502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * Makefile.am: Add ppc linux bootcheck.
5353 * grub-core/tests/boot/linux-ppc.cfg: New file.
5354 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5355
f57c84cd
VS
53562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * tests/grub_script_expansion.in: Skip network protocols.
5359
ecfc6207
VS
53602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5363
8d03d284
VS
53642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5367 --rom-directory.
5368 Add -graft-points.
5369
61c42af0
VS
53702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 ESCC serial driver for conducting sautomated tests in qemu.
5373 Not tested on real hardware.
5374
5375 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5376 * grub-core/term/ieee1275/escc.c: New file.
5377 * grub-core/Makefile.core.def (escc): New module.
5378
08fd1291
VS
53792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5382 invalid on error.
5383 (serial_hw_fetch): Don't read invalid handle.
5384 (serial_hw_put): Don't write into invalid handle.
5385
08dafeea
VS
53862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 Add a 1.5 stop bits value.
5389
5390 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5391 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5392 GRUB_SERIAL_STOP_BITS_1_5.
5393
9068fdcf
VS
53942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5397 value rather than let it uninited.
5398
f4d5820f
VS
53992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/commands/wildcard.c (+check_file): New function.
5402 (wildcard_expand): Don't expand to non-existing files, expand with
5403 suffix and not attempt to expand if not needed.
5404
3d2de9a7
VS
54052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5408 out of partitions containing other partitions.
5409
c5c81ff9
VS
54102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5413 on some qemu versions with GRUB.
5414
5415 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5416 define.
5417 (grub_openbsd_bootarg_pcibios): New struct.
5418 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5419 Add PCIINFO.
5420
08a14e0b
VS
54212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * tests/util/grub-shell.in: Trim firmware output on EFI.
5424
cede3ca3
VS
54252012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5428 and coreboot since it's already in kernel.
5429
558d3a60
VS
54302012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5433 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5434 to here. New return value start. All users updated.
5435 Recursively scan linear mappings.
5436 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5437 proto.
5438 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5439 Use grub_util_get_dm_node_linear_info.
5440 * util/getroot.c (convert_system_partition_to_system_disk): Use
5441 grub_util_info rather than grub_dprintf.
5442 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5443
60fde14d
VS
54442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5447
5448 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5449 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5450
24bd8838
VS
54512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * include/grub/types.h (grub_set_unaligned64): New function.
5454 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5455 (setup): Likewise.
5456
7bc06a49
VS
54572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5460 (grub_ofdisk_fini): Quiesce USB devices.
5461
49cea015
VS
54622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5465 caches.
5466
8dcbe03b
VS
54672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5470
5b258735
VS
54712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/disk/pata.c (grub_pata_pio_read)
5474 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5475 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5476
37ba07eb
VS
54772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 Extend automated tests to qemu-mips.
5480
5481 * Makefile.am: reorganise tests and enable qemu-mips.
5482 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5483 * grub-core/tests/boot/linux.init-mips.S: New file.
5484 * tests/partmap_test.in: Handle ata0 disks.
5485 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5486 non-pc i386.
5487
070038f8
VS
54882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5491 ia64.
5492 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5493 quotes while on it.
5494
004be2cd
VS
54952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5498 (grub_halt): Likewise.
5499 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5500
b1622487
VS
55012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/term/serial.c (grub_serial_register)
5504 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5505 the behaviour in line with x86 platforms.
5506
b7b4ab33
VS
55072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5510 (grub_ata_strncpy): Likewise.
5511 (grub_ata_identify): Add missing byteswaps.
5512
5e3535ae
VS
55132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5516 byte-swap.
5517 (screen_read_char): Likewise.
5518 (grub_vga_text_cls): Likewise.
5519
c21b17e6
VS
55202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5523 filenames.
5524 (make_file_path): Likewise.
5525
bf293dec
VS
55262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5529 machines.
5530 Tested by: Paulo Flabiano Smorigo.
5531 Crucial information about API supplied by: Coleen <Last name unknown>.
5532 Reviewed by: Coleen <Last name unknown>.
5533
81f6ef0e
VS
55342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * util/grub-mkimage.c: Disable -Wcast-align.
5537
7284143a
VS
55382012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5541 as they are fatal.
5542
b99f3e00
VS
55432012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5546
944f752d
VS
55472012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * util/grub-probe.c (escape_of_path): Fix double free.
5550
6cce6f38
VS
55512012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/commands/videoinfo.c (hook): Show pitch.
5554
1e1eb50e
VS
55552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5558
1c715b5a
VS
55592012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5562 (probe): Add ieee1275 to OFW devices.
5563
007ae52d
VS
55642012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5567
4557a36d
VS
55682012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Handle IBM OFW path.
5571
5572 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5573 available.
5574 (of_path_of_scsi): Handle vdevice.
5575
efbeefe9
VS
55762012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5579 Allocate in multiples of 16 to avoid adding a few bytes free region the
5580 windows bugs upon.
5581
15a940bb
VS
55822012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5585 Allocate in multiples of 16 to avoid adding a few bytes free region the
5586 windows bugs upon.
5587 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5588
6e5efd60
VS
55892012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5592 resolutions.
5593 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5594 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5595
0d3d137e
IS
55962012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5597
5598 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5599
45dbe300
VS
56002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5603 resulted in \\ at the end of the line.
5604
6d8db947
VS
56052012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5608 (grub_parser_cmdline_state): Likewise.
5609 (grub_parser_split_cmdline): Likewise.
5610
de89d338
VS
56112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5614 /dev/root and /dev/dm-*.
5615
00d41dee
VS
56162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5619 fix partially stale display.
5620
f95d1f11
VS
56212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5624 substraction.
5625
6297e197
VS
56262012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5629 Fix MBR remapping workaround.
5630 (grub_util_biosdisk_read) [__linux__]: Likewise.
5631
8a7ecad3
VS
56322012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5635
2b34f944
VS
56362012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * configure.ac: Bump to beta6.
5639
684aef11
CW
56402012-05-31 Christer Weinigel <christer@weinigel.se>
5641
5642 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5643
05b0bb91
VS
56442012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5647 (grub_cmd_linux): Likewise.
5648
bda36bfa
CW
56492012-05-31 Christer Weinigel <christer@weinigel.se>
5650
5651 Fix EHCI low-speed.
5652
5653 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5654 (GRUB_EHCI_MULT_TWO): Likewise.
5655 (GRUB_EHCI_MULT_THREE): Likewise.
5656 (GRUB_EHCI_CMASK_MASK): New enum value.
5657 (GRUB_EHCI_SMASK_MASK): Likewise.
5658 (GRUB_EHCI_CMASK_OFF): Likewise.
5659 (GRUB_EHCI_SMASK_OFF): Likewise.
5660 (grub_ehci_pci_iter): Enable periodic schedule.
5661 (grub_ehci_parse_notrun): Likewise.
5662 (grub_ehci_restore_hw): Likewise.
5663 (grub_ehci_setup_qh): Set flags for low speed transfers.
5664 (grub_ehci_find_qh): Use periodic list for low speed.
5665 (grub_ehci_setup_transfer): Check periodic queue as well.
5666 (grub_ehci_check_transfer): Likewise.
5667 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5668
e12bcb1c
PFS
56692012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5670
5671 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5672 parameter is used.
5673
bcc75fb3
PJ
56742012-05-31 Peter Jones <pjones@redhat.com>
5675
5676 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5677 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5678 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5679
f19cb95e
VS
56802012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5683 uninited variable. Allocate at least setup_sects.
5684
a4e5ca80
VS
56852012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Fix handling of EFI with big memory maps.
5688
5689 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5690 (real_mode_mem): Likewise.
5691 (real_mode_target): Likewise.
5692 (real_mode_pages): Likewise.
5693 (prot_mode_pages): Likewise.
5694 (linux_params): New var.
5695 (linux_cmdline): Likewise.
5696 (free_pages): Don't set real mode variables.
5697 (allocate_pages): Don't allocate real mode memory.
5698 (grub_e820_add_region): Remove the limit.
5699 (grub_linux_boot): Allocate and copy real mode memory.
5700 (grub_linux_unload): Free linux_cmdline.
5701 (grub_cmd_linux): Use temporary storage for parameters.
5702 (grub_cmd_initrd): Likewise.
5703 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5704 (linux_kernel_params): Make it 1K big.
5705
ddb73558
VS
57062012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * Makefile.util.def: Remove -Wno-format.
5709 * grub-core/Makefile.core.def: Likewise.
5710
1c4afb60
VS
57112012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * tests/cmp_unit_test.c: Add missing failure message.
5714 * tests/example_unit_test.c: Likewise.
5715 * tests/printf_unit_test.c: Likewise.
5716
941e3a6d
VS
57172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5720 relaxation of protective MBR requirements.
5721
b105df76
VS
57222012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * configure.ac: Add condition for COND_HOST_XNU.
5725 * Makefile.util.def (10_xnu): New script.
5726 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5727
84e1569e
VS
57282012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5731 objconv bug.
5732
130c0f77
VS
57332012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5736 Binary on other platforms stays identical.
5737
6fd0b143
VS
57382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5741 Apple.
5742
0af1751d
VS
57432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5746
176d5f7d
VS
57472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5750 rather than defining size_t ourselves to avoid conflict.
5751
7de5e20a
VS
57522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5755 initialisation to avoid __bzero reference.
5756
f7143efe
VS
57572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5760 version.
5761 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5762 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5763 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5764 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5765 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5766
e6ad0555
VS
57672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5770 * grub-core/kern/misc.c: Likewise.
5771 * grub-core/loader/i386/xnu.c: Likewise.
5772 * include/grub/i386/tsc.h: Likewise.
5773 * include/grub/symbol.h: Likewise.
5774
4a5a3c4a
VS
57752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5778 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5779 on older compiler.
5780
037f6d90
VS
57812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5784 Implement Apple flavour.
5785 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5786
f7194551
VS
57872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5790 (memmove) [__APPLE__]: Likewise.
5791 (memcpy) [__APPLE__]: Likewise.
5792 (memset) [__APPLE__]: Likewise.
5793 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5794 (memmove) [__APPLE__]: Likewise.
5795 (memcpy) [__APPLE__]: Likewise.
5796 (memset) [__APPLE__]: Likewise.
5797
85a730ca
VS
57982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5801 dependency discard.
5802
40e80b94
VS
58032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/normal/main.c (read_config_file): Provide config_file and
5806 config_directory.
5807 * util/grub.d/41_custom.in: Use config_directoy when available.
5808
9da59c32
VS
58092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5812 (grub_bfs_dir): Likewise.
5813
2787ae53
PJ
58142012-05-27 Peter Jones <pjones@redhat.com>
5815
5816 The old code gives arguments to a printf function which can't work
5817 correctly, and the compiler complains.
5818
5819 * grub-core/tests/example_functional_test.c (example_test): Add
5820 missing text.
5821 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5822 * include/grub/test.h (grub_test_assert_helper): New declaration.
5823 (grub_test_assert): Use grub_test_assert_helper.
5824
526ef13d
VS
58252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5828 (exfctest): ... this to avoid overlong filenames.
5829 All users updated.
5830
20dd511c
VS
58312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 Handle "." and ".." on squashfs.
5834
5835 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5836 Make inode numbers into stack.
5837 (grub_squash_read_symlink): Use stack.
5838 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5839 (make_root_node): Fill stack.
5840 (grub_squash_open): Use stack.
5841
1d80c62a
VS
58422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5845 freeing.
5846
d336f652
VS
58472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5850 stderr on test calls.
5851
8b43f587
VS
58522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5855
80a3dc3f
VS
58562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5859
47e297d4
VS
58602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5863 "..".
5864
df042ccb
VS
58652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5868 (grub_hfsplus_iterate_dir): Add "." and "..".
5869
fc977f48
VS
58702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5873 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5874
f3250e5f
VS
58752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5878 (find_path): Handle "." and "..".
5879
fd8ed4c5
VS
58802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5883 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5884 (grub_affs_iterate_dir): Handle hardlinks.
5885
4ce776d2
MG
58862012-05-26 Matthew Garrett <mjg@redhat.com>
5887
5888 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5889 (grub_efi_console_fini): Likewise.
5890 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5891 (grub_video_gop_fill_mode_info): Rename to ...
5892 (grub_video_gop_fill_real_mode_info): ... this.
5893 (grub_video_gop_fill_mode_info): New function.
5894 (grub_video_gop_setup): Setup double framebuffer.
5895 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5896 Free offscreen.
5897 (grub_video_gop_swap_buffers): Copy framebuffer.
5898 (grub_video_gop_fini): Free offscreen buffer.
5899 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5900 New enum.
5901 (grub_efi_gop_blt_pixel): New struct.
5902
683031ba
VS
59032012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * gentpl.py: Remove error disabling for objconv.
5906
c2deb798
VS
59072012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * configure.ac: Remove -Wunitialized as it's not available on older
5910 compilers.
5911
59122012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5913
5914 Fix extent overflow comparator.
5915
5916 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5917 (grub_hfsplus_read_block): Set type.
5918 (grub_hfsplus_cmp_extkey): Compare type.
5919
d6b1fd36
VS
59202012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5923
0a9aa0f6
VS
59242012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5927 than 0.
5928
8360e159
VS
59292012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5932 (dejavu_bold_14.pf2): New target.
5933
501b9e4b
VS
59342012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * configure.ac: Fix djvu font detection.
5937
7026b0e2
VS
59382012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5941 ext* instead of ext2.
5942
c2a51ade
VS
59432012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5946 name with \0.
5947
8f803a5d
JU
59482012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5949
5950 * docs/grub-dev.texi: Remove dot from .png.
5951
13c6353f
VS
59522012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5955 protective entry in any slot.
5956 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5957 if protective entry is found in any slot.
5958
5959 Protective entry in non-first slot make no sense but is a widespread
5960 brain damage.
5961
4cf6be1b
VS
59622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5965
937d1c44
VS
59662012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5969 with old reiserfs.
5970 (grub_reiserfs_open): Don't free root.
5971
021d90ec
VS
59722012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5975 after freeing for safety.
5976
967b2b64
VS
59772012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5980 Reported by: Jordan Uggla.
5981
34274d02
JU
59822012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5983
967b2b64
VS
5984 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5985 actual implementation. Specifically, clarify that the grub menu will
5986 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5987 passed.
34274d02 5988
dcaaae9d
BH
59892012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5990
5991 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5992 of r0.
5993
7086ad52
VS
59942012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 Remove unjustified hard dependency of normal.mod on gfxterm.
5997
5998 * include/grub/term.h (grub_term_output): New member fullscreen.
5999 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6000 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6001 (grub_gfxterm): Set .fullscreen.
6002 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6003 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6004
37ed2c9b
VS
60052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6008 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6009 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6010
a4469c88
VS
60112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6014
4e461486
VS
60152012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6018 a bad FS.
6019
aa78f5c4
VS
60202012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6023 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6024
197626b5
VS
60252012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6028 (grub_jfs_mount): Fill caseins.
6029 (grub_jfs_find_file): Respect caseins.
6030
8ad3f28c
VS
60312012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6034 through UTF-16.
6035
0c6c324e
VS
60362012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6039 New argument origpath. All users updated.
6040
c6666ba6
VS
60412012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6044 (read_attr): Ensure that we read start of possibly compressed block.
6045
e28e5fe5
VS
60462012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6049 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6050 All users updated.
6051
5fc23ab2
VS
60522012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6055 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6056 (dejavu.pf2): Replace with ...
6057 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6058 this.
6059
79dbc21c
VS
60602012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * util/grub.d/20_linux_xen.in: Add missing line.
6063
d2fcfb0c
VS
60642012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6067 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6068 (grub_utf16_to_utf8): Likewise.
6069
5560e9d6
VS
60702012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6073 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6074 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6075 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6076 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6077 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6078
60792012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6080
6081 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6082 a bad FS.
6083
5560e9d6 60842012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6085
6086 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6087 (grub_udf_read_symlink): Handle read_string failure.
6088
5eae3175
VS
60892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6092 comment.
6093
c1ad82db
VS
60942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 Fix handling of UDF symlinks.
6097
6098 * grub-core/fs/udf.c (read_string): New argument outbuf.
6099 All users updated.
6100 (grub_ufs_read_symlink): Rename to ...
6101 (grub_udf_read_symlink): ... this. All users updated.
6102 Handle symlinks with more than one component.
6103
33eca6e0
VS
61042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6107 symlinks. Replace leading colon with a slash.
6108
57f4a70b
VS
61092012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6112 filename.
6113
38c8ee20
VS
61142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6117 match in inner node.
6118
2e57f28f
VS
61192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6122 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6123 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6124 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6125 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6126 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6127 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6128 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6129 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6130
fe8c2f11
VS
61312012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Use grub-probe and not cmp to check that disk is empty.
6134
6135 * util/grub-install.in: Use grub-probe for zero-check.
6136 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6137 (probe): Handle PRINT_ZERO_CHECK.
6138 (argp_parser): Handle -t zero_check.
6139
61402012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6141
6142 Flush block cache on adding disk to device map.
6143
6144 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6145 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6146 adding.
6147 (read_device_map): Likewise.
6148 (open_device): Flush on opening.
6149
690434e8
VS
61502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6153 (handle_symlink): Fix off-by-one error.
6154 Canonicalize the target.
6155 (grub_cpio_dir): Canonicalize the name.
6156 Fix memory leak.
6157 Set directory.
6158 (grub_cpio_open): Canonicalize the name.
6159
742d2be6
VS
61602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6163 handling.
6164
3244fe96
VS
61652012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6168 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6169
8aeb1837
VS
61702012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6173 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6174 All users updated.
8aeb1837 6175
9133fd05
VS
61762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6179 counterpart.
6180
6d521c5b
VS
61812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Fix UFS1 big file support.
6184
6185 * grub-core/fs/ufs.c (INODE): Removed.
6186 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6187 64-bit.
6188 (INODE_MODE): Simplify.
6189 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6190 (grub_ufs_lookup_symlink): Don't use INODE.
6191
21b82e17
VS
61922012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6195
6196 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6197 (grub_minix_data): Replace log_block_size with block_size.
6198 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6199 (grub_minix_mount): Fill block_size.
6200
62012012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6202
6203 * configure.ac: Bump to beta5.
6204
f417ed04
VS
62052012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 Fix wrapped HFS+ handling.
6208
6209 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6210 blocks_start. All users updated.
6211 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6212 wrapping offset.
6213 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6214
607d282b
VS
62152012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Fix long symlinks on reiserfs.
6218
6219 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6220 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6221 (grub_reiserfs_iterate_dir): Save size for non-directories.
6222 (grub_reiserfs_open): Don't reread stat block as we already know the
6223 size.
6224 (grub_reiserfs_read): Split into...
6225 (grub_reiserfs_read_real): ... and ...
6226 (grub_reiserfs_read): ...this.
6227
ae16024d
VS
62282012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 Fix non-indexed JFS.
6231
6232 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6233 (grub_jfs_data): New field namecomponentlen.
6234 (grub_jfs_mount): Fill namecomponentlen.
6235 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6236
eea1e26e
VS
62372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6240 * tests/grub_script_echo1.in: Add tests.
6241
df760f77
VS
62422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * util/grub-install.in: Ignore empty devicetree directory.
6245
5efb817d
B
62462012-05-08 Bean <bean123ch@gmail.com>
6247
6248 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6249 All users updated.
6250 (free_rsm): Free header as well.
6251 (free_old_fragments): Fix memory leak.
6252 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6253 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6254 (destroy_pq): Likewise.
6255 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6256
668ea6d2
VS
62572012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6260 resulting hash as a precaution.
6261
1739b1fe
VS
62622012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6265 '_' in variable names.
6266 * grub-core/net/net.c (grub_net_network_level_interface_register):
6267 Likewise.
6268
6ae485aa
VS
62692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 Fix AFFS with non-512B blocks.
6272
6273 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6274 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6275 (grub_affs_data): Replace blocksize with log_blocksize.
6276 (grub_affs_read_block): Fix non-512B blocks.
6277 (grub_affs_read_symlink): Likewise.
6278 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6279 (grub_affs_read): Fix non-512B blocks.
6280 (grub_affs_label): Likewise.
6281 (grub_affs_mtime): Likewise.
6282 (grub_affs_mount): Fix block detection routine.
6283
d20fab84
VS
62842012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 Add filesystem mtime to AFFS.
6287
6288 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6289 (aftime2ctime): New function.
6290 (grub_affs_dir): Use aftime2ctime.
6291 (grub_affs_label): Fix return value.
6292 (grub_affs_mtime): New function.
6293 (grub_affs_fs): Add mtime.
6294
e87b10f5
VS
62952012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6298 UTF-8.
6299
7dceec9b
VS
63002012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6303 UTF-8.
6304
2f48221f
VS
63052012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6308
dacd85cf
VS
63092012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6312 flags.
6313 (FLAGS_CASE_SENSITIVE): New enum value.
6314 (cache_entry): New struct.
6315 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6316 cache_size and cache.
6317 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6318 Add log_blocksize and fshelp_flags.
6319 (grub_sfs_read_extent): Handle non-512 blocks.
6320 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6321 (grub_sfs_read_file): Handle non-512 blocks.
6322 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6323 fshelp_flags.
6324 (grub_sfs_read_symlink): Handle non-512 blocks.
6325 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6326 (grub_sfs_dir): Free cache.
6327 (grub_sfs_close): Likewise.
6328
24e9a854
VS
63292012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6332 filesystems.
6333
62ace64d
VS
63342012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6337
83b2e89c
VS
63382012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6341
75ccaea3
VS
63422012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6345 (grub_sfs_read_extent): Likewise.
6346 (grub_sfs_read_block): Likewise.
6347 (grub_sfs_mount): Likewise.
6348 (grub_sfs_iterate_dir): Likewise.
6349 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6350 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6351
1b8463f2
VS
63522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 Fix errors on compressed NTFS with 512B clusters.
6355
6356 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6357 types.
6358 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6359 not 0.
6360 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6361 Relax check for inline extents.
6362 (ntfscomp): Return correct -1 on error and not 0.
6363
4f8e368f
VS
63642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * util/grub-install.in: Fix handling of prefix containing spaces.
6367
6f5d5ee8
VS
63682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6371 (grub_squash_read_data): Fix offset byte-swapping.
6372
ce41ab7a
VS
63732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6376 per common usage and preffered in several parts of code.
6377 (grub_memcmp): Likewise.
6378 (grub_strncmp): Likewise.
6379 * include/grub/misc.h (grub_strcasecmp): Likewise.
6380 (grub_strncasecmp): Likewise.
6381 * Makefile.util.def (cmp_test): New test.
6382 (grub_script_strcmp): Likewise.
6383 * tests/cmp_unit_test.c: New file.
6384 * tests/grub_script_strcmp.in: Likewise.
6385 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6386
49717bf4
VS
63872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * include/grub/pci.h: Move enums into no-asm part.
6390
0a308f64
VS
63912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6394
1796965f
ST
63952012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6396
6397 * util/getroot.c (find_hurd_root_device): Try to make error message
6398 and comments to translators clearer.
6399
4e9b2819
VS
64002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6403
076aeb50
VS
64042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6407 btrfs.
6408
19424d94
VS
64092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * docs/grub.cfg: Update.
6412
ebb73076
VS
64132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * docs/grub.texi (PXE): Remove not present variables.
6416
9a1b669c
VS
64172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/net/net.c (defserver_set_env): New function.
6420 (defserver_get_env): Likewise.
6421 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6422
d38bf7d3
VS
64232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6426 entries.
6427
64282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6429
6430 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6431 * grub-core/kern/emu/hostdisk.c: Likewise.
6432
e5e4ca48
ST
64332012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6434
6435 Handle hurd userspace partitions.
6436
6437 * util/getroot.c (find_hurd_root_device): New function.
6438 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6439
56bb5dd5
VS
64402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6443 names.
6444 Reported by: Bastian Blank.
6445
9e8bc27a
VS
64462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6449 crossing page boundary.
6450
aa01499d
VS
64512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Fix B-tree search in BFS, especially in presence of non-ASCII
6454 characters.
6455
6456 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6457 (find_in_b_tree): Use standard bsearch + btree algorithm.
6458
57006035
VS
64592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6462 and so on.
6463
9d34bb85
MG
64642012-05-03 Matthew Garrett <mjg@redhat.com>
64652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 Suspend broadcom cards in order to stop their DMA.
6468
6469 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6470 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6471 (pci): Don't build on x86 EFI.
6472 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6473 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6474 New function.
6475 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6476 stop_broadcom if running on EFI.
6477 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6478 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6479 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6480 (grub_pci_find_capability): New proto.
6481
01aab997
VS
64822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * docs/grub.texi: Remove dot from the extension as it apparently
6485 doesn't work with some makeinfo versions.
6486
fbd8dca6
VS
64872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6490 with GRUB expectance.
6491
dab797f4
VS
64922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6495
1516bfb4
VS
64962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6499 zero after directory block since last entry may be not 0-terminated if
6500 it ends on block boundary. Use continue instead of if spanning whole
6501 loop.
6502
a3a0eace
VS
65032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 Support 4K sectors UDF inline files.
6506
6507 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6508 (grub_udf_extended_file_entry): Likewise.
6509 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6510 All users updated.
6511 (get_fshelp_size): New function.
6512 (grub_udf_read_icb): Read whole block.
6513 (grub_udf_iterate_dir): Likewise.
6514 (grub_udf_dir): Likewise.
6515 (grub_udf_open): Likewise.
6516
c82f16c1
VS
65172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6520
59fd2aac
VS
65212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6524 inline symlinks in addition to workaround.
6525
3b4afb4d
VS
65262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6529
f45c794a
VS
65302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6533
f25cecbd
VS
65342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6537
bb9a34e8
VS
65382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Fix reiserfs big seek times.
6541
6542 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6543 exact. All users updated.
6544 (grub_reiserfs_read): Use nearest btree search for seeking.
6545 Fix return value on error.
6546
dc478aea
VS
65472012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6550 entries.
6551 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6552 * docs/grub.texi: Update menuentry description.
6553
8db10f47
VS
65542012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6557 crash when embedding onto filesystem.
6558
bcb288ed
VS
65592012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6562 name.
6563
a626fdd7
VS
65642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6567
b2f68477
VS
65682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6571 commit.
6572
ba15b2af
B
65732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
65742012-05-01 Bean <bean123ch@gmail.com>
6575
6576 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6577
a188012e
VS
65782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6581 Special behaviour for len = 0 to read whole file isn't used anywhere and
6582 can cause buffer ovewrflows in several places.
6583
f0a53ed2
VS
65842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6587
5ed554f0
VS
65882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Handle RAIDZ on non-512B sectors.
6591
6592 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6593 max_children_ashift.
6594 (fill_vdev_info_real): Fill max_children_ashift.
6595 (read_device): Use max_children_ashift.
6596
ddc58357
VS
65972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6600
e3282399
VS
66012012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6604 disk names.
6605 * docs/grub.texi: Update device.map parts.
6606
ee618bd4
VS
66072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Don't scan into non-diskfilter devices having diskfilter names.
6610
6611 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6612 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6613 handling.
6614 (scan_disk_hook): New function.
6615
bdf88864
B
66162012-04-29 Bean <bean123ch@gmail.com>
6617
6618 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6619 allocation.
6620
32745f51
MK
66212012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6622
6623 * configure.ac: Detect starfield theme font path
6624 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6625
bc95c8c0
VS
66262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6629 geometry on serial consoles.
6630
147fbcab
VS
66312012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6634 because of network consoles.
6635
0f42c889
VS
66362012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6639 handling.
6640
4a3594c9
VS
66412012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6644 falls on Q syndrom.
6645
5cb53879
VS
66462012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6649 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6650
b282dfe5
VS
66512012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6654 Allocate at lest 8192 for temporary buffer as required for lzo.
6655
daa59f47
VS
66562012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6659 to cluster_bits, since it's already added in.
6660 (grub_fat_read_data): Likewise.
6661
986748ce
VS
66622012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6665 as long as cluster size is multiple of 512 bytes.
6666
a20f6ad0
VS
66672012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * util/grub-mkrescue.in: Fix locale directory.
6670
385f9abb
VS
66712012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/kern/emu/hostdisk.c (map): Make static.
6674
1c557d30
B
66752012-04-23 Bean <bean123ch@gmail.com>
6676
6677 * util/grub-fstest.c (fstest): Add missing break.
6678
524b5d3a
ST
66792012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6680
6681 Fix hurd build.
6682
6683 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6684 not define nr variable.
fe4824e9 6685 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6686 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6687 grub_find_device): Do not define.
524b5d3a 6688
9a06490c
VS
66892012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 Fix kfreebsd compile and behaviour.
6692
6693 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6694 format-security.
6695 * util/getroot.c: Fix wait.h include.
6696 (grub_guess_root_devices): Error if grub_find_device fails.
6697 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6698 (grub_util_get_dev_abstraction): Likewise.
6699 (grub_util_pull_device): Likewise.
6700 (grub_util_get_grub_dev): Likewise.
6701 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6702
48143d96
VS
67032012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 Fix and unify wholedisk detection.
6706
6707 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6708 is_part. All users updated.
6709 (device_is_wholedisk): Removed.
6710 (grub_util_biosdisk_get_grub_dev): Use is_part.
6711
ebbd24f3
VS
67122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6715 mode.
6716
56f7aa1e
VS
67172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * configure.ac: Bump to beta4.
6720
9c815e01
VS
67212012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6724 --fs-uuid --set UUID syntax.
6725
59e2651a
VS
67262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6729 disunification.
6730
54e03cfc
VS
67312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6734
81092a75
MK
67352012-04-18 Mads Kiilerich <mads@kiilerich.com>
6736
6737 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6738
f8315e14
MG
67392012-04-18 Mike Gilbert <floppym@gentoo.org>
6740
6741 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6742
1501ac21
B
67432012-04-18 Bean <bean123ch@gmail.com>
6744
6745 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6746 place.
6747
cb7f944e
VS
67482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6751 users updated.
6752 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6753 corresponding to GRUB partitions.
6754 (grub_util_biosdisk_write): Likewise.
6755
b72d44a1
VS
67562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 Scan mdraid before LVM.
6759
6760 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6761 (grub_diskfilter_register_front): ... this.
6762 (grub_diskfilter_register_back): New function.
6763 All users of grub_diskfilter_register updated.
6764
33d918b8
VS
67652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * util/grub-install.in: Fix an automatic target detection bug.
6768
c6ca973d
VS
67692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * util/grub-install.in: New option --efi-directory.
6772
b41be562
VS
67732012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6776 boot services if we have no other choice.
6777
67782012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6781 document it.
6782 * tests/util/grub-shell.in: Update to --directory.
6783
e0595a73
VS
67842012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6787
4ed80652
VS
67882012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6791 (grub_minix_read_file): Likewise.
6792 (grub_minix_read_inode): Likewise.
6793 (grub_minix_find_file): Likewise.
6794 (grub_minix_dir): Likewise.
6795
56008077
VS
67962012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/grub-setup.c (setup): Fix partition handling and blocklist
6799 check.
6800
ee520775
VS
68012012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6804 redundant buggy overlap check.
6805
16fc9293
VS
68062012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6809 and grub-mknetdir.
6810
9bab65c4
VS
68112012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6814 kh.loadflags on pre-2.00 kernels.
6815
3c491b47
VS
68162012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Terminate UNDI and PXE before launching the payload to avoid problems
6819 with DMA.
6820
6821 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6822 (grub_loader_flags): ... this. All users updated.
6823 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6824 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6825 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6826 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6827 function.
6828 (grub_pxe_restore): Likewise.
6829 (fini_hnd): New var.
6830 (GRUB_MOD_INIT): Register shutdown hook.
6831 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6832 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6833 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6834 (grub_loader_set): Rename second argument to flags.
6835
851ffada
VS
68362012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6839 written bytes.
6840 (grub_get_num_of_utf8_bytes): New function.
6841 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6842 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6843 executing it.
6844 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6845 (grub_ucs4_to_utf8): Change return type.
6846
491c57a8
VS
68472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6850 warning.
851ffada
VS
6851 * grub-core/fs/bfs.c (hop_level): Likewise.
6852 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6853
756773df
VS
68542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/lib/adler32.c: Recode due to license unclearness.
6857
fd556a96
VS
68582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6861 (test_header): Likewise.
6862
9f9d3f69
VS
68632012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Fix --help formatting.
6866
6867 * util/grub-mkconfig_lib.in (print_option_help): New function.
6868 (grub_fmt): Likewise.
6869 * util/grub-install.in: Use print_option_help and grub_fmt.
6870 * util/grub-kbdcomp.in: Likewise.
6871 * util/grub-mkconfig.in: Likewise.
6872 * util/grub-mknetdir.in: Likewise.
6873 * util/grub-mkrescue.in: Likewise.
6874 * util/grub-mkstandalone.in: Likewise.
6875 * util/grub-reboot.in: Likewise.
6876 * util/grub-set-default.in: Likewise.
6877 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6878
561ec77e
VS
68792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * linguas.sh: Remove autogenerated *.po.
6882
7ec2b021
VS
68832012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * po/README: Move language fetcing to ...
6886 * linguas.sh: ... here.
6887 * po/README: Point to linguas.sh.
6888
a88f3270
VS
68892012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * po/README: Exclude ko.po due to disclaimer problems.
6892
d61357ce
VS
68932012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6896 len = 0.
6897 (grub_gettext_translate_real): Handle 0th string.
6898 (grub_gettext_translate): Ensure that "" isn't translated.
6899
505e41dc
VS
69002012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6903 TRANSLATORS comment.
6904 (grub_diskfilter_print_partmap): Propagate changing of error into
6905 warning.
6906
e44092db
VS
69072012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6910 to uint64_t to prevent overflow.
6911 (grub_diskfilter_lv): Increase start_extent and extent_count
6912 to uint64_t to prevent overflow.
6913
9b83956a
VS
69142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * configure.ac: Increase version.
6917
da0d5b3f
VS
69182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6921
6922 * po/Rules-translit: New file.
6923 * po/arabic.sed: Likewise.
6924 * po/cyrillic.sed: Likewise.
6925 * po/greek.sed: Likewise.
6926 * po/hebrew.sed: Likewise.
6927 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6928 * po/Makefile.in.in: Add extra_dist4.
6929
ac66b453
VS
69302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6933
6934 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6935 modify names. Introduce MODE_BIGENDIAN.
6936 * grub-core/fs/minix_be.c: New file.
6937 * grub-core/fs/minix2_be.c: Likewise
6938 * grub-core/fs/minix3_be.c: Likewise.
6939 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6940 minix3_be.
6941 * grub-core/Makefile.core.def (minix_be): New module.
6942 (minix2_be): Likewise.
6943 (minix3_be): Likewise.
6944
69452012-04-01 Felix <email@hamburg.de>
6946
6947 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6948 (devs): Add MBP 2011.
6949
0a2d5a82
VS
69502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6953
d1625889
VS
69542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * grub-core/normal/cmdline.c (print_completion): New field
6957 prompt_len.
6958 (grub_cmdline_get): Handle width properly.
6959
6d36a236
VS
69602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6963
9576977e
VS
69642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6967 after 29th of February.
9576977e 6968
d73ff15d
VS
69692012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Fix exfat endianness handling.
6972
6973 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6974 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6975 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6976 Byte-swap utf16 when necessary.
6977 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6978
bbb39a45
AB
69792012-03-31 Anton Blanchard <anton@samba.org>
69802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Fix btrfs endianness handling.
6983
6984 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6985 (lower_bound): Make root uint64_t. Use root in le.
6986 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6987 (find_path): Fix template key init.
6988 (grub_btrfs_dir): Fix mtime byteswap.
6989 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6990
354e0af7
VS
69912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6994 recursion_depth. Break infinite resursions. All users updated.
6995
4e75f21c
VS
69962012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6999 after free.
7000 Reported by: Peter Jones.
7001
25581802
AB
70022012-03-31 Anton Blanchard <anton@samba.org>
7003
7004 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7005 8 bit values.
7006
08fbf92e
VS
70072012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * util/grub-install.in: Fix nvram call for PreP.
7010
5d1182a6
VS
70112012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7014 the error when some elements are missing into a warning.
7015
3f8cdd90
VS
70162012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7019
51006716
CW
70202012-03-28 Colin Watson <cjwatson@ubuntu.com>
7021
7022 * docs/grub.texi (Invoking grub-probe): New section.
7023 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7024
e1bd676b
VS
70252012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 Fix tab and wide character handling in editor and menu.
7028
7029 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7030 agglomerate control characters with combining marks.
7031 (bidi_line_wrap): Allow break on tab.
7032 (grub_unicode_get_comb_start): New function.
7033 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7034 and tab correctly.
7035 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7036 with a space.
7037 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7038 fixed_tab_size. All users updated.
7039 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7040 (grub_term_getcharwidth): Handle \t.
7041 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7042 and copy.
7043
22e6a774
VS
70442012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 Handle big-endian mdraid.
7047
7048 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7049 * grub-core/Makefile.core.def (mdraid09_be): New module.
7050 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7051 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7052 * grub-core/disk/mdraid_linux_be.c: New file.
7053
3c0eae66
VS
70542012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7057
b6cf74c9
VS
70582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7061 missing quotes which caused confusion among translators.
7062
83c93b9c
VS
70632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * util/grub-mkconfig_lib.in: Fix typo.
7066
ac6fd218
VS
70672012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7070 spaces.
7071 * tests/grub_script_leading_whitespace.in: New file.
7072 * Makefile.util.def (grub_script_leading_whitespace): New test.
7073
ba287dd8
VS
70742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7077 to work.
7078
d2d58d0a
VS
70792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7082 starts with control character.
7083
0382d9bb
VS
70842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7087 overflow.
7088 (grub_gdb_outbuf): Likewise.
7089
d83ff9f9
VS
70902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7093 zero terminator. Fixes a crash.
7094
2282da4a
VS
70952012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7098 beyond 4 GiB.
7099 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7100 images independently of preffered adderss field.
7101
0ae4f0bd
VS
71022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7105 * grub-core/commands/regexp.c: Likewise.
7106 * grub-core/loader/i386/linux.c: Likewise.
7107 * grub-core/partmap/msdos.c: Likewise.
7108 * grub-core/script/execute.c: Likewise.
7109 * grub-core/term/gfxterm.c: Likewise.
7110
546fbe9b
VS
71112012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 Add variable parsing in $"..." and fix several mismatches with bash.
7114
7115 * Makefile.util.def (grub_script_gettext): New test.
7116 * grub-core/script/execute.c (parse_string): New function.
7117 (gettext_append): Likewise.
7118 (grub_script_arglist_to_argv): Use gettext_append.
7119 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7120 * tests/grub_script_gettext.in: New file.
7121
9fdb2d7b
VS
71222012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Fix handling of leading spaces in scripts.
7125
7126 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7127 spaces.
7128 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7129 other than skipping \r. All users updated.
7130 * tests/grub_script_echo1.in: Add space-related tests.
7131 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7132
1a1ac4f6
VS
71332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7136
b63d89b6
VS
71372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * configure.ac: Bump up the version to beta2.
7140
17f38c0f
VS
71412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Fix gettext reload bugs (e.g. inability to disable gettext
7144 once enabled).
7145
7146 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7147 main_context and secondary_context. All functions updated.
7148 (grub_gettext_translate): Rename to ...
7149 (grub_gettext_translate_real): ... this. Return NULL on failed
7150 translate.
7151 (grub_gettext_translate): Handle secondary context.
7152 (grub_gettext_delete_list): Close file and zero-out the context.
7153 (grub_mofile_open): Don't call grub_gettext_delete_list.
7154 Don't close file.
7155 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7156 if locale="" to avoid pointless error message.
7157 (grub_gettext_env_write_lang): Update lang even if load fails.
7158 Handle secondary context.
7159 (grub_gettext_reread_prefix): New function.
7160 (read_main): Likewise.
7161 (read_secondary): Likewise.
7162 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7163 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7164 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7165 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7166
8e56f870
VS
71672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * configure.ac: Decrease warning level to avoid spurious warnings and
7170 to be able to compile with GCC 4.2.
7171 * Makefile.util.def: Remove -Wno-error=logical-op.
7172
82f6d455
WB
71732012-03-10 William Bittner <william.bittner@gmail.com>
7174
7175 * util/import_unicode.py: Add missing brackets around string for
7176 python 3 support.
7177
1ecd61a4
VS
71782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Fix efi chainloader on network root.
7181
7182 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7183 network devices.
7184 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7185 New function.
7186
14361ee8
VS
71872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7190 unused show_text member.
7191 * docs/grub.texi: Document "text" property.
7192
922aabf3
VS
71932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7196 in dprintf.
7197
ec316771
VS
71982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 Fix IMSM handling on Fedora.
7201
7202 * util/getroot.c (grub_util_is_imsm): New function.
7203 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7204
0f021838
VS
72052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * Makefile.am: Strip gold section.
7208 * conf/Makefile.common: Likewise.
7209 * gentpl.py: Likewise.
7210 * grub-core/Makefile.core.def: Likewise.
7211 * grub-core/genmod.sh.in: Likewise.
7212
1039c8eb
VS
72132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7216 * util/grub.d/20_linux_xen.in: Likewise.
7217 Based on Debian patch.
7218
6dd412cd
VS
72192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * util/grub.d/10_linux.in: Fix syntax error resulting in
7222 Richard Laager's patch.
7223 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7224
3fd8bae5
VS
72252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7228 dependencies.
7229
7eea1671
RL
72302012-03-10 Richard Laager <rlaager@wiktel.com>
7231
7232 * util/grub.d/10_linux.in: Fix ZFS root passing.
7233
e8e0566b
VS
72342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7237 * grub-core/commands/xnu_uuid.c: Likewise.
7238 * grub-core/loader/efi/appleloader.c: Likewise.
7239 * grub-core/script/execute.c: Likewise.
7240 * grub-core/script/main.c: Likewise.
7241 * util/grub-mkfont.c: Likewise.
7242
1acc5b1f
VS
72432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * util/grub-mkfont.c (options): Use more appropriate "select" that
7246 "set" for face index.
7247
35d70620
VS
72482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * util/grub-editenv.c (options): Gettextize command summaries.
7251
c9eb96b5
VS
72522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7255 "out of memory" error messagge.
7256
1f493136
VS
72572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7260 of diskfilter for diskfilter on diskfilter support.
7261
6d790129
VS
72622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7265
005f46c9
VS
72662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7269 themes/starfield.
7270
c8f778a0
VS
72712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7274
de1e64eb
VS
72752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7278
c6d54211
VS
72792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7282 of error message.
7283
dd390777
VS
72842012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7287
5fd1c522
VS
72882012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7291 message.
c6d54211 7292 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7293
fae01f6c
VS
72942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7297 Gettextize.
7298 * util/grub-mount.c (options): Likewise.
7299
292fdaff
VS
73002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7303 gettextize.
7304 * grub-core/commands/search_wrap.c (options): Likewise.
7305
ecdbae77
VS
73062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7309
52bfedfa
VS
73102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7313 size calculation.
7314 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7315 none is known.
7316
55b20e58
VS
73172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7320 "temporary" since it's used in identifier and is limited in space.
7321
fda9d101
VS
73222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * po/POTFILES.in: Regenerate. Include *.h since they contain
7325 translatable strings as well.
7326
6a0295e2
VS
73272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7330 byte-swap on big-endian.
7331 Reported by: Lennart Sorensen
7332
807fb77c
VS
73332012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7336 (allocate_pages): Improve dprintf.
7337 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7338 code32_start. Fill code32_start and kernel_alignment in params.
7339 (grub_cmd_initrd): Use prot_init_space.
7340
61ac50ba
VS
73412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7344
abdd26dd
VS
73452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * util/grub-install.in: Add missing dot at the end of sentence.
7348
6e69da9c
VS
73492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7352 * grub-core/commands/videotest.c: Likewise.
7353 * grub-core/loader/i386/linux.c: Likewise.
7354
4a929343
VS
73552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7358 sentence.
7359 Reported by: Milo Casagrande.
7360
bb51c6c6
VS
73612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7364 * grub-core/commands/gptsync.c: Likewise.
7365 * grub-core/commands/hashsum.c: Likewise.
7366 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7367 * grub-core/commands/legacycfg.c: Likewise.
7368 * grub-core/io/gzio.c: Likewise.
7369 * grub-core/net/net.c: Likewise.
7370 * grub-core/term/gfxterm.c: Likewise.
7371 * grub-core/term/terminfo.c: Likewise.
7372 * grub-core/tests/test_blockarg.c: Likewise.
7373 * grub-core/video/video.c: Likewise.
7374 * util/grub-install.in: Likewise.
7375 * util/grub-mkfont.c: Likewise.
7376
b2b149cb
VS
73772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7380
c7c080ad
VS
73812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7384 Reported by: David Prévot.
c7c080ad 7385
f2e243c0
VS
73862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7389 description.
7390
09963c76
VS
73912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * util/grub-script-check.c (main): Fix a syntax error message which was
7394 unclear.
7395
a50514a8
VS
73962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7399
4650daec
VS
74002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7403 messages.
7404
74052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7406
7407 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7408 without argument.
7409 * util/grub-mount.c (options): Likewise.
7410
bbc5a342
VS
74112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7414
ef292a87
VS
74152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * grub-core/net/http.c: Add TRANSLATORS comments.
7418 * grub-core/normal/cmdline.c: Likewise.
7419 * grub-core/normal/misc.c: Likewise.
7420 * grub-core/partmap/msdos.c: Likewise.
7421 * grub-core/parttool/msdospart.c: Likewise.
7422 * grub-core/script/execute.c: Likewise.
7423 * grub-core/script/main.c: Likewise.
7424 * grub-core/term/terminfo.c: Likewise.
7425 * grub-core/video/bitmap.c: Likewise.
7426 * util/grub-install.in: Likewise.
7427 * util/grub-mkimage.c: Likewise.
7428 * util/grub-mklayout.c: Likewise.
7429 * util/grub-setup.c: Likewise.
7430
0fc19bd0
VS
74312012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7434 with similar messages in grub-fstest.
7435
d95862ef
VS
74362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * util/grub-install.in: Unify "option requires an argument" message
7439 with similar messages in other files.
7440 * util/grub-mkconfig.in: Likewise.
7441
b7308f90
VS
74422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * util/grub-set-default.in: Replace printf with gettext_printf (the
7445 string in in question is already translated from grub-reboot)
7446
559dc587
VS
74472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * configure.ac: Bump up the version to beta1.
7450
1a11761f
VS
74512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7454 case when min_align = 0.
7455
24539abd
VS
74562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7459 and fix a case when line_start overflows.
7460
32bd735b
VS
74612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * util/grub-reboot.in (usage): Mention id posibility.
7464 * util/grub-set-default.in (usage): Likewise.
7465
1a2fd1e6
VS
74662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7469 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7470 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7471 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7472 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7473 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7474 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7475
90eeab76
VS
74762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/commands/menuentry.c (options): Remove
7479 GRUB_ARG_OPTION_REPEATABLE.
7480 Reported by: Andreas Vogel
7481
5ad1be82
AV
74822012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7483
7484 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7485
cb055286
HE
74862012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7487
7488 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7489 error.
7490
93b1cd79
VS
74912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 Use sort -V by the idea of Georgi Georgiev.
7494
7495 * util/grub-mkconfig_lib.in (version_sort): New function.
7496 (version_test_numeric): Use version_sort.
7497
0cdc126c
VS
74982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 Use submenus in grub-mkconfig.
7501
7502 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7503 * util/grub-mkconfig_lib.in (grub_quote): New function.
7504 (gettext_printf): Use gettext and not gettext_quoted to fix several
7505 messages.
7506 * util/grub.d/10_hurd.in: Use submenus.
7507 * util/grub.d/10_kfreebsd.in: Likewise.
7508 * util/grub.d/10_linux.in: Likewise.
7509 * util/grub.d/10_netbsd.in: Likewise.
7510 * util/grub.d/20_linux_xen.in: Likewise.
7511 * util/grub.d/30_os-prober.in: Likewise.
7512 * util/grub.d/10_illumos.in: Add missing quoting.
7513 * util/grub.d/10_windows.in: Likewise.
7514
d9bef9bc
VS
75152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Fix menu title instability bug.
7518
7519 * grub-core/commands/menuentry.c (options): New option --id.
7520 (grub_normal_add_menu_entry): New argument id. All users updated.
7521 (grub_cmd_menuentry): Handle --id.
7522 (grub_menu_init): Accept unknown arguments.
7523 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7524 feature_menuentry_options.
7525 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7526 saved_entry.
7527 (get_entry_number): Match with id as well.
7528 * include/grub/menu.h (grub_menu_entry): New member id.
7529 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7530 * util/grub.d/00_header.in: Define menuentry_id_option.
7531 * util/grub.d/10_hurd.in: Define id.
7532 * util/grub.d/10_illumos.in: Likewise.
7533 * util/grub.d/10_kfreebsd.in: Likewise.
7534 * util/grub.d/10_linux.in: Likewise.
7535 * util/grub.d/10_netbsd.in: Likewise.
7536 * util/grub.d/10_windows.in: Likewise.
7537 * util/grub.d/20_linux_xen.in: Likewise.
7538 * util/grub.d/30_os-prober.in: Likewise.
7539
75402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7541
7542 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7543 "scope" with "body".
7544
7c8d0ce7
VS
75452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7548 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7549 prot_size and prot_file_size.
7550
49de079b
VS
75512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7554 All users updated. If easily=1 require raid-5/-6 to be full.
7555 (is_node_readable): Likewise.
7556 (scan_devices): Scan incomplete but readable LVs at the end.
7557 (grub_diskfilter_memberlist): Pull missing devices.
7558 (insert_array): Skip scanning until device is complete or scan is
7559 done otherwise.
7560 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7561 check.
7562 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7563 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7564
aff05d45
MG
75652012-03-03 Matthew Garrett <mjg@redhat.com>
75662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 Avoid EFI boot services when loading Linux.
7569
7570 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7571 avoid_efi_bootservices. All users updated.
7572 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7573 argument avoid_efi_bootservices. All users updated.
7574 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7575 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7576 align, min_align, relocatable, prefered_address. All users updated.
7577 Allocate avoiding boot services if kernel is relocatable.
7578 (grub_cmd_linux): Check if kernel is relocatable.
7579 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7580 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7581 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7582 avoid_efi_boot_services.
7583 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7584 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7585 (linux_kernel_params): Likewise.
7586
3935dde2
MG
75872012-03-03 Matthew Garrett <mjg@redhat.com>
75882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 Use EDID on EFI.
7591
7592 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7593 datasize_out.
7594 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7595 modes. Set gop_handle.
7596 (grub_video_gop_get_edid): New function.
7597 (grub_gop_get_preferred_mode): Likewise.
7598 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7599 (grub_video_efi_gop_adapter): Set .get_edid.
7600 * include/grub/efi/edid.h: New file.
7601 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7602
32107ec0
VS
76032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * util/grub-install.in: Load efivars unconditionally.
7606
e70a2c50
VS
76072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * po/Rules-piglatin: Change suffix from .po-update-en to
7610 .po-update-en-piglatin.
7611
8f9cace1
VS
76122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 Add a pig farm.
7615
7616 * po/piglatin.sed: New file.
7617 * po/en@piglatin.header: Likewise.
7618 * po/Rules-piglatin: Likewise.
7619 * po/README: Add en@piglatin to autogenerated languages.
7620
8f95d002
VS
76212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7624 "Command for ...".
7625 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7626 "Check" since we don't check anything.
7627 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7628 is 64-bit one.
7629 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7630 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7631 (grub_md_sha512_real): Likewise.
7632
805a8dcc
VS
76332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/commands/gptsync.c: Fix typographic quoting.
7636 * grub-core/commands/ieee1275/suspend.c: Likewise.
7637 * grub-core/commands/parttool.c: Likewise.
7638 * grub-core/commands/search_wrap.c: Likewise.
7639 * grub-core/commands/videoinfo.c: Likewise.
7640 * grub-core/gfxmenu/gui_label.c: Likewise.
7641 * grub-core/hello/hello.c: Likewise.
7642 * grub-core/kern/emu/main.c: Likewise.
7643 * grub-core/net/net.c: Likewise.
7644 * grub-core/normal/menu.c: Likewise.
7645 * grub-core/normal/menu_text.c: Likewise.
7646 * grub-core/normal/misc.c: Likewise.
7647 * util/grub-editenv.c: Likewise.
7648 * util/grub-install.in: Likewise.
7649 * util/grub-kbdcomp.in: Likewise.
7650 * util/grub-mkconfig.in: Likewise.
7651 * util/grub-mknetdir.in: Likewise.
7652 * util/grub-mkrescue.in: Likewise.
7653 * util/grub-mkstandalone.in: Likewise.
7654 * util/grub-reboot.in: Likewise.
7655 * util/grub-set-default.in: Likewise.
7656 * util/grub-setup.c: Likewise.
7657 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7658
40211ab8
VS
76592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7662 * grub-core/commands/keystatus.c: Likewise.
7663 * grub-core/commands/loadenv.c: Likewise.
7664 * grub-core/commands/probe.c: Likewise.
7665 * grub-core/commands/regexp.c: Likewise.
7666 * grub-core/commands/true.c: Likewise.
7667 * grub-core/commands/videoinfo.c: Likewise.
7668 * grub-core/disk/cryptodisk.c: Likewise.
7669 * grub-core/disk/ldm.c: Likewise.
7670 * grub-core/disk/loopback.c: Likewise.
7671 * grub-core/disk/luks.c: Likewise.
7672 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7673 * grub-core/kern/disk.c: Likewise.
7674 * grub-core/kern/emu/hostdisk.c: Likewise.
7675
0c7d99c7
VS
76762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7679 * util/grub-install.in: Add missing quote in the comment.
7680
e7d2559b
VS
76812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7684 * grub-core/commands/lsmmap.c: Likewise.
7685 * grub-core/commands/minicmd.c: Likewise.
7686 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7687 * grub-core/commands/regexp.c: Likewise.
7688 * grub-core/gdb/gdb.c: Likewise.
7689 * grub-core/term/gfxterm.c: Likewise.
7690 * util/grub-mkconfig.in: Likewise.
7691 * util/grub-mkfont.c: Likewise.
7692 * util/grub-mklayout.c: Likewise.
7693 * util/grub-mknetdir.in: Likewise.
7694 * util/grub-mkrescue.in: Likewise.
7695 * util/grub.d/30_os-prober.in: Likewise.
7696
49ce9e50
VS
76972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7700 with "Direct color" and "Packed" with "Packed pixel".
7701 (grub_cmd_videoinfo): Simplify legend.
7702
e4b791fa
VS
77032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7706 absolutely unclear error message.
7707
fd1265cb
VS
77082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * util/grub-mkstandalone.in: Remove confusing leftover print.
7711
8822a8a0
VS
77122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7715 comments.
7716 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7717 (GRUB_MOD_INIT): Likewise.
7718 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7719 VGA mode.
7720 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7721 comments.
7722 * util/grub-install.in (usage): Likewise.
7723 Spell ID in whole letters.
7724 Add missing ending dot.
7725 Quote variables.
7726 * util/grub-reboot.in: Fix capitalisation.
7727 * util/grub-set-default.in: Likewise.
7728
937fd0cc
VS
77292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7732 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7733 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7734 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7735 Disable -Werror for -Wdeprecated-declarations.
7736 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7737 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7738 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7739 (grub_util_get_grub_dev): Make luks handling dependent on
7740 HAVE_DEVICE_MAPPER and not __linux__.
7741 (get_win32_path): Fix format security.
7742 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7743 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7744 Don't try grub_find_zpool_from_dir.
7745 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7746 #ifdef-out paresdir.
7747
1bab1ae3
VS
77482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * util/grub-pe2elf.c (usage): Add missing noreturn.
7751 (write_section_data): Rename name to shname to avoid shadowing.
7752 (write_symbol_table): Rename name to symname to avoid shadowing.
7753 Fix write_reloc_section call.
7754
ef023e42
VS
77552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7758 to ensure that it's after the last byte of .text.
7759
48afcb75
VS
77602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * util/ieee1275/ofpath.c (my_isdigit): New function.
7763 (trailing_digits): Use my_isdigit.
7764 (strip_trailing_digits): Likewise.
7765
88d51eff
VS
77662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7769 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7770
17edc2ba
VS
77712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/kern/i386/pc/startup.S: Define __start.
7774
ad5518d7
VS
77752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7778 strip already transforms he format.
7779
9e95e1bf
VS
77802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7783
9cc3ee5c
VS
77842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * util/grub-install.in: Add missing gettext init.
7787 * util/grub-kbdcomp.in: Likewise.
7788 * util/grub-mkconfig.in: Likewise.
7789 * util/grub-mknetdir.in: Likewise.
7790 * util/grub-mkrescue.in: Likewise.
7791 * util/grub-mkstandalone.in: Likewise.
7792 * util/grub-reboot.in: Likewise.
7793 * util/grub-set-default.in: Likewise.
7794 * util/grub.d/00_header.in: Likewise.
7795 * util/grub.d/10_hurd.in: Likewise.
7796 * util/grub.d/10_windows.in: Likewise.
7797 * util/grub.d/30_os-prober.in: Likewise.
7798 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7799
49e08a06
VS
78002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * po/Rules-swiss: Fix header comment.
7803
3809cb41
AV
78042012-02-29 Andreas Vogel <anvoit>
7805
7806 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7807 resulted in leak of arguments.
7808
fa6ec573
VS
78092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7812 reed_solomon_size const definition instead of computing it since
7813 Apple assembler doesn't support the later.
7814
22899b9c
VS
78152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * gentpl.py (kernel): Rewrite Apple part.
7818
a132afc3
VS
78192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7822
9d742bd4
VS
78232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7826 ELF section gap.
7827 (load_image): Likewise.
7828
f04a9a21
VS
78292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * configure.ac: Fix a typo in previous commit.
7832
46cf439c
VS
78332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 Don't add -Wl,-N on Apple platform.
7836
7837 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7838 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7839
c4c48c54
VS
78402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/Makefile.core.def (lzma_decompress): Use
7843 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7844
31a12124
VS
78452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/genmod.sh.in: Rewrite the Apple part.
7848
4f3aa1af
VS
78492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7852 comparison.
7853
7bd8b0c7
VS
78542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * acinclude.m4 (grub_CHECK_PIC): New test.
7857 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7858
97304d7c
VS
78592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7862 to avoid the warning.
7863
fb883812
VS
78642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7867 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7868 after. All users updated.
7869
a121c964
VS
78702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Use the common size routine in hostfs so we can read disks as well.
7873
7874 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7875 (grub_util_get_fd_size): ... this. Return size in bytes.
7876 All users updated.
7877 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7878 grub_util_get_fd_size.
7879
c66d6410
VS
78802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7883 Add blocksize retrieval.
7884
dfc8aeb0
VS
78852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * configure.ac: Restore CFLAGS after efiemu check.
7888
403e25a5
VS
78892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7892 Apple bug.
7893
382775d1
VS
78942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7897
6fd4e6e4
VS
78982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7901 (grub_cmd_halt): Likewise.
7902
bea359d6
VS
79032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7906 for local arithmetics.
7907 Break %sp init into 2 instructions.
7908 Add 0 byte at the end.
7909
32eb6ee1
VS
79102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7913 before loops.
7914
e8377389
VS
79152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7918 for context.
7919
8cb17de7
VS
79202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/disk/ldm.c (make_vg): Init part.name.
7923 (grub_ldm_detect): Silence spurious warning.
7924 (grub_util_is_ldm): Likewise.
7925
595717e6
VS
79262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7929 sane value to avoid a spurious warning.
7930
c4b7e588
VS
79312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7934 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7935
59824957
VS
79362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7939 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7940
70115b99
VS
79412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7944 hardcoding the relevant info.
7945
56733740
VS
79462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7949 missing const qualifiers.
7950 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7951
43481481
VS
79522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * util/getroot.c [__APPLE__]: Add missing includes.
7955 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7956
3cb38f01
VS
79572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7960
d9dbf11e
VS
79612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7964 avoid conflicts.
7965
0c42a45d
VS
79662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7969
46c34eb0
VS
79702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7973 and grub_file_close call.
7974
99ce1597
VS
79752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 Add LZSS Mach-O support (needed for new xnu kernelcache).
7978
7979 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7980 * grub-core/loader/lzss.c: New file.
7981 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7982 on Mach-O open failure.
7983 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7984 Don't free cmdsXX in uncompressedXX is set.
7985 (grub_macho_file): Init new fields.
7986 New argument is_64bit. All users updated.
7987 Handle compressed. Error out if no suitable architecture is found.
7988 Don't close file.
7989 (grub_macho_open): New argument is_64bit. All users updated.
7990 * grub-core/loader/macho32.c: Add defines for new fields.
7991 * grub-core/loader/macho64.c: Likewise.
7992 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7993 (grub_macho_parse): Handle compressed.
7994 Defer actual processing if compressed.
7995 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7996 "filename". All users updated.
7997 (grub_macho_size): New argument "filename". All users updated.
7998 (grub_macho_get_entry_point): Likewise.
7999 (grub_macho_load): Handle compressed.
8000 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8001 (GRUB_MACHO_LZSS_OFFSET): New define.
8002 (grub_decompress_lzss): New proto.
8003 * include/grub/machoload.h (grub_macho_file): New fields to handle
8004 compressed.
8005 (grub_macho_contains_macho64): Remove proto.
8006 (grub_macho_contains_macho32): Likewise.
8007 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8008
ebd17d6f
VS
80092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8012
2702b4e4
VS
80132012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 Fix make dist.
8016
8017 * Makefile.am (starfield_theme_files): New var.
8018 (starfield_DATA): Use starfield_theme_files.
8019 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8020 Add bootcheck-related files.
8021 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8022 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8023 and font_char_metrics.txt.
8024 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8025 (setjmp): Add lib/ia64/longjmp.S.
8026 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8027 * po/POTFILES.in: Regenerate.
8028 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8029 DISTFILES.common.extra1.
8030 * util/devicemap.c: Removed.
8031 * grub-core/lib/i386/relocator_backward.S: Likewise.
8032 * util/import_gcry.py: Remove unused files. Add extra_dist for
8033 ChangeLog.
8034
cf1adfdf
VS
80352012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8038 grub_gettext_delete_list before changing grub_gettext_max to avoid
8039 running out of array bounds.
8040
80412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8042
8043 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8044 grub_vga_text_init/grub_vga_text_fini.
8045
cf1adfdf 80462012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8047
8048 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8049
541d92e9
VS
80502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * configure.ac: Bump to 2.00~beta0.
8053
7931dddf
VS
80542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8057 missing initialisation.
8058
f1b16fa3
VS
80592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8062
83ddae23
VS
80632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Support v2 xnu boot arguments.
8066
8067 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8068 New argument fsbfreq_out.
8069 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8070 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8071 be used.
8072 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8073 darwin_version.
8074 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8075 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8076 (grub_xnu_boot_params): Rename to ...
8077 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8078 (grub_xnu_boot_params_v2): New struct.
8079
dc693fe6
VS
80802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8083 zeroing of CRC field before computing CRC.
8084
5a6e39c2
VS
80852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8088 Change order of allocations to decrease fragmentation.
8089
6c21f5d7
VS
80902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8093
cfe456dc
CW
80942012-02-27 Colin Watson <cjwatson@ubuntu.com>
8095
8096 Use write-combining MTRR to speed up video with buggy BIOSes.
8097
8098 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8099 (cpuid): New define.
8100 (rdmsr): Likewise.
8101 (wrmsr): Likewise.
8102 (mtrr_base): Likewise.
8103 (mtrr_mask): Likewise.
8104 (grub_vbe_enable_mtrr_entry): New function.
8105 (grub_vbe_enable_mtrr): Likewise.
8106 (grub_vbe_disable_mtrr): Likewise.
8107 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8108 control off to BIOS.
8109 (grub_video_vbe_init): Fill mtrr.
8110 (grub_video_vbe_fini): Disable mtrr.
8111 (grub_video_vbe_get_info_and_fini): Likewise.
8112 (grub_video_vbe_setup): Enable mtrr.
8113
e3c78337
CW
81142012-02-27 Colin Watson <cjwatson@ubuntu.com>
8115
8116 * include/grub/partition.h (grub_partition_map): Change prototype of
8117 embed to take a maximum value for nsectors.
8118 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8119 * include/grub/fs.h (grub_fs): Likewise.
8120 * grub-core/partmap/msdos.c (embed_signatures): New array.
8121 (pc_partition_map_embed): Check for and avoid sectors matching any
8122 of the signatures in embed_signatures, up to max_nsectors.
8123 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8124 returned sector map to max_nsectors.
8125 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8126 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8127 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8128 * util/grub-setup.c (setup): Allow for the embedding area being
8129 split into multiple blocklists. Tell dest_partmap->embed the
8130 maximum number of sectors we care about.
8131
81322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8135 Specify blocklist_install and reserver_first_sector for all fs.
8136 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8137 blocklists.
8138
984b973f
VS
81392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * util/grub-install.in: Clarify strings.
8142 Fix source dir check.
8143
f122e0d6
RL
81442012-02-27 Richard Laager <rlaager@wiktel.com>
8145
8146 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8147 "zfs" and "fuse.zfs" as synonyms.
8148
071114bb
VS
81492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * configure.ac: Put platform and target_cpu substitutions back since
8152 they are used for directories.
8153
817e6abc
RL
81542012-02-27 Richard Laager <rlaager@wiktel.com>
81552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8158 * util/grub.d/20_linux_xen.in: Likewise.
8159
897b7419
RL
81602012-02-27 Richard Laager <rlaager@wiktel.com>
8161
8162 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8163 with full paths.
8164
a414bd15
RL
81652012-02-27 Richard Laager <rlaager@wiktel.com>
8166
8167 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8168 unescape.
8169
30ac48c4
VS
81702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 Don't use insecure popen in getroot.
8173
8174 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8175 (exec_pipe): ... here.
8176 (find_root_devices_from_poolname): Use exec_pipe.
8177
53f13848
VS
81782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 Remove platform and target_cpu replacement.
8181
8182 * configure.ac: Remove platform and target_cpu substitutions.
8183 * tests/util/grub-shell.in: Use modinfo.
8184 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8185 explicitly.
8186
90cb2803
VS
81872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 Autodetect platform in grub-install but allow override.
8190
8191 * util/grub-install.in: Autodetect platform. Support --target and
8192 --directory. Read platform from modinfo.sh.
8193
b9136427
VS
81942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 Support btrfs multi-volume probe.
8197
8198 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8199 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8200 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8201 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8202 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8203 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8204 grub_find_root_devices_from_btrfs if on btrfs.
8205
c36e5cd1
VS
82062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 Remove any awareness of *.c util files about target.
8209
8210 * Makefile.util.def (grub-setup): Split to ...
8211 (grub-bios-setup): ... and this.
8212 (grub-sparc64-setup): ... and this.
8213 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8214 * docs/man/grub-setup.h2m: Split into ...
8215 * docs/man/grub-sparc64-setup.h2m: ... this.
8216 * docs/man/grub-bios-setup.h2m: ... and this.
8217 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8218 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8219 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8220 (grub_target_addr_t): Remove.
8221 (grub_target_size_t): Remove.
8222 (grub_target_ssize_t): Remove.
8223 * util/grub-install.in: Use new grub-*-setup.
8224 * util/grub-mkimagexx.c (Elf_Word): New define.
8225 (Elf_Half): Likewise.
8226 (Elf_Section): Likewise.
8227 (ELF_ST_TYPE): Likewise.
8228 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8229 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8230
584b2f8a
VS
82312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 Replace grub_target_addr with more appropriate types.
8234
8235 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8236 grub_target_addr with grub_addr.
8237 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8238 grub_target_addr with grub_port.
8239 (grub_cmd_write): Likewise.
8240 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8241 grub_target_addr with grub_addr.
8242 (grub_cmd_write): Likewise.
8243 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8244
5a0dc6fb
VS
82452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8248 const qualifier for vendor_guid.
8249
786aff6e
VS
82502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8253 const qualifier.
8254 (efiemu_memequal): Likewise.
8255 (find_variable): Likewise.
8256
49017b17
VS
82572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 Fix missing console prototype on qemu-mips.
8260
8261 * include/grub/mips/qemu_mips/console.h: New file.
8262
c5988629
MG
82632012-02-27 Matthew Garrett <mjg@redhat.com>
82642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8267 * include/grub/efi/efi.h: Likewise.
8268 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8269 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8270 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8271 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8272 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8273 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8274
e33f8d69
MG
82752012-02-27 Matthew Garrett <mjg@redhat.com>
8276
8277 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8278
fb312cd9
VS
82792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8282 error.
8283
7134247c
VS
82842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * configure.ac: Remove inappropriate use of program_transform_name
8287 on grubdir and bootdir but allow explicit specification of those
8288 variables.
8289
6a313124
VS
82902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * util/grub-mknetdir.in (grub_prefix): Removed.
8293 (subdir): Use @bootdirname@ and @grubdirname@.
8294
2311c5ca
VS
82952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8298
7d5d60f7
VS
82992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * po/POTFILES.in: Regenerated.
8302
8151bc82
VS
83032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Remove improper use of program_transform_name on pkglibrootdir.
8306
8307 * configure.ac (pkglibrootdir): Removed.
8308 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8309 * util/grub-mkimage.c: Likewise.
8310
b4a6a533
VS
83112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8314 warning.
8315
668f304f
VS
83162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * util/grub-install.in: Use file identifier if no UUID is available
8319 or user explicitly prompted for it.
8320
665f2341
NP
83212012-02-27 Navdeep Parhar <nparhar@gmail.com>
8322
8323 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8324 (freebsd_get_zfs): New function.
8325 (grub_freebsd_boot): Pass zfs UUID.
8326 (grub_cmd_freebsd): Set zfs UUID.
8327
8151bc82 83282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8329
8330 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8331 pkglibrootdir.
8332
e4c498a1
MG
83332012-02-27 Mike Gilbert <floppym@gentoo.org>
8334
8335 Add configure flag to control libzfs integration.
8336
8337 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8338
1e9a9a3f
VS
83392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8342 device.
8343 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8344 small devices.
8345
036985b8
VS
83462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8349 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8350 be used on non-modules.
8351
8352 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8353 Rename to grub_boot_init.
8354 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8355 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8356 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8357 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8358 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8359 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8360 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8361 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8362 includes.
8363 (grub_machine_init): Remove empty inits.
8364 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8365 includes.
8366 (grub_machine_init): Remove empty inits.
8367 * grub-core/term/arc/console.c: Remove explicit proto.
8368 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8369 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8370 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8371 grub_at_keyboard_fini.
8372 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8373 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8374 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8375 grub_gfxterm_fini.
8376 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8377 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8378 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8379 grub_vgatext_fini.
8380 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8381 * grub-core/term/serial.c (GRUB_MOD_INIT)
8382 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8383 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8384 grub_serial_fini.
8385 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8386 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8387 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8388 grub_terminfo_fini.
8389 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8390 (GRUB_MOD_FINI): Likewise.
8391 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8392 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8393 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8394 grub_video_radeon_fuloong2e_fini.
8395 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8396 [LOONGSON]: Rename to grub_video_sis315pro_init.
8397 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8398 grub_video_sis315pro_fini.
8399 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8400 [LOONGSON]: Rename to grub_video_sm712_init.
8401 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8402 grub_video_sm712_fini.
8403 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8404 (grub_at_keyboard_fini): Likewise.
8405 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8406 Don't declare grub_{modname}_init.
8407 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8408 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8409 New proto.
8410 (grub_keylayouts_fini) [!EMU]: Likewise.
8411 * include/grub/serial.h (grub_serial_init) [!EMU]:
8412 New proto.
8413 (grub_serial_fini) [!EMU]: Likewise.
8414 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8415 New proto.
8416 (grub_terminfo_fini) [!EMU]: Likewise.
8417 * include/grub/video.h (grub_font_init) [!EMU]:
8418 New proto.
8419 (grub_font_fini) [!EMU]: Likewise.
8420 (grub_gfxterm_init) [!EMU]: Likewise.
8421 (grub_gfxterm_fini) [!EMU]: Likewise.
8422 (grub_video_sm712_init) [!EMU]: Likewise.
8423 (grub_video_sm712_fini) [!EMU]: Likewise.
8424 (grub_video_sis315pro_init) [!EMU]: Likewise.
8425 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8426 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8427 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8428
d5534665
VS
84292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Make nand a prefix for nand devices.
8432
8433 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8434
10133b5f
VS
84352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8438 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8439
8e307a62
VS
84402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * include/grub/env.h (grub_env_find): Remove prototype.
8443 * grub-core/kern/env.c (grub_env_find): Make static.
8444 (grub_env_set): Remove useless set.
8445
a4c65f34
VS
84462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/kern/i386/realmode.S: Remove useless align.
8449
d87893d5
VS
84502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * include/grub/dl.h (grub_dl_load_file): Don't export.
8453
50159add
VS
84542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8457 grub_dprintf.
8458
b2582b84
VS
84592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8462 grub_errors.
8463 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8464 not reloading whole superblock but only the part which is really needed.
8465 Remove useless grub_errors.
8466 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8467 grub_errors.
8468
e2a83395
VS
84692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Don't export grub_get_rtc.
8472
8473 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8474 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8475
e7d2a906
VS
84762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8479
6cf1363b
VS
84802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8483 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8484
eece3349
VS
84852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 Remove prio_list.
8488
8489 * include/grub/list.h (grub_prio_list): Removed.
8490 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8491 GRUB_COMMAND_PRIO_MASK.
8492 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8493 GRUB_COMMAND_FLAG_ACTIVE.
8494 (grub_prio_list_insert): Removed.
8495 (grub_prio_list_remove): Likewise.
8496 (GRUB_AS_PRIO_LIST): Likewise.
8497 (GRUB_AS_PRIO_LIST_P): Likewise.
8498 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8499 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8500 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8501 * grub-core/kern/command.c (grub_register_command_prio): Inline
8502 the prio_list code.
8503 (grub_unregister_command): Likewise.
8504
94f064b4
VS
85052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 Fix interrupt mixup from previous commit.
8508
8509 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8510 (grub_realidt): New var.
8511 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8512 Load idt.
8513 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8514 New declaration.
8515 (grub_relocator16_boot): Set grub_relocator16_idt.
8516 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8517 (LOCAL(realidt)): ... this.
8518 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8519 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8520 (grub_realidt): New variable.
8521
27317084
VS
85222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8525 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8526 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8527 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8528 Gettextize.
8529 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8530 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8531 * po/POTFILES.in: Regenerate.
8532
47b40053
VS
85332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8536 errors.
8537
2b343101
VS
85382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8541 \0.
8542 (add_length): Likewise.
8543
ff27c3dd
LK
85442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
85452012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8546
8547 GDB serial and backtrace support.
8548
8549 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8550 (prot_to_real): Likewise.
8551 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8552 * grub-core/Makefile.core.def (backtrace): New module.
8553 (gdb): Likewise.
8554 * grub-core/gdb/cstub.c: New file.
8555 * grub-core/gdb/gdb.c: Likewise.
8556 * grub-core/gdb/i386/idt.c: Likewise.
8557 * grub-core/gdb/i386/machdep.S: Likewise.
8558 * grub-core/gdb/i386/signal.c: Likewise.
8559 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8560 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8561 * include/grub/backtrace.h: Likewise.
8562 * include/grub/gdb.h: Likewise.
8563 * include/grub/i386/gdb.h: Likewise.
8564
85652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8566
8567 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8568 New function.
8569 (add_length): Likewise.
8570 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8571 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8572 proto.
8573 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8574 __argp_get_display_len.
8575
ff27c3dd 85762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8577
8578 $"..." support in scripts.
8579
8580 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8581 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8582 * grub-core/script/yylex.l: Likewise.
8583 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8584 value.
8585
ff27c3dd 85862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8587
8588 * gentpl.py: Remove obsolete pkglib_DATA handling.
8589
ff27c3dd 85902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8591
8592 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8593 mailing list.
8594
8595 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8596 * util/grub-kbdcomp.in: Likewise.
8597 * util/grub-mkconfig.in: Likewise.
8598 * util/grub-mkconfig_lib.in: Likewise.
8599 * util/grub-mknetdir.in: Likewise.
8600 * util/grub-mkrescue.in: Likewise.
8601 * util/grub-mkstandalone.in: Likewise.
8602 * util/grub-reboot.in: Likewise.
8603 * util/grub-set-default.in: Likewise.
8604 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8605
ff27c3dd 86062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8607
8608 Remove GRUB_PREFIX.
8609
8610 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8611 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8612 used for backward compatibility.
8613
ff27c3dd 86142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8615
8616 Add new all_video module.
8617
8618 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8619 * grub-core/Makefile.core.def (all_video): New module.
8620 * grub-core/genmoddep.awk: Generate dependency of all_video from
8621 video.lst.
8622 * grub-core/lib/fake_module.c: New file.
8623 * grub-core/normal/main.c (features): Add feature_all_video_module.
8624 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8625 don't do explicit search again.
47454da5 8626 insmod all_video in load_video if available.
22c7ce85 8627
ff27c3dd 86282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8629
8630 Another round of string clarification and adding TRANSLATORS comments.
8631
ff27c3dd 86322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8633
8634 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8635
ff27c3dd 86362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8637
8638 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8639 to grub_ssize_t.
8640 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8641 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8642
ff27c3dd 86432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8644
8645 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8646 trailing newline implicitly. All users updated.
8647
ff27c3dd 86482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8649
8650 Implement serial on IEEE1275 and EFI.
8651
8652 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8653 on emu. Mention arc and emu as the only platforms without serial
8654 support.
8655 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8656 ieee1275 platforms.
8657 * grub-core/term/efi/serial.c: New file.
8658 * grub-core/term/ieee1275/serial.c: Likewise.
8659 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8660 specification if no ns8250 driver is available.
8661 (grub_cmd_serial): Likewise.
8662 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8663 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8664 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8665 (grub_efi_parity_type_t): New type.
8666 (grub_efi_stop_bits_t): Likewise.
8667 (grub_efi_serial_io_interface): New struct.
8668 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8669 available for all interfaces.
8670 Add EFI and IEEE1275 fields.
8671 (grub_ofserial_init): New proto.
8672 (grub_efiserial_init): Likeiwse.
8673 * util/grub.d/00_header.in: Don't check for the presence of serial
8674 module.
8675
ff27c3dd 86762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8677
8678 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8679 name as if it was an alias.
8680
114076ef
VS
86812012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/commands/lsacpi.c (options): Fix typo.
8684
6a656b0e
VS
86852012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 Convert grub-emu to argp.
8688
8689 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8690 emu.
8691 * util/argp_common.c: Rename to ...
8692 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8693 Add missing includes.
8694 * grub-core/kern/emu/main.c: Convert to argp.
8695 * po/POTFILES.in: Regenerate.
8696 * util/grub-install.in (usage): Make first letter lowcase in messages
8697 for uniformity.
8698 * util/grub-setup.c (options): Likewise.
8699
1e3f8ae8
VS
87002012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8703 Put back accidently commented-out code.
8704
ed167a80
VS
87052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8708 loop check using Brent algorithm.
8709 (grub_hfsplus_btree_search): Likewise.
8710
6753c0ec
VS
87112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * util/grub-install.in: Fix usage of wrong device for PreP install.
8714
4e27343f
VS
87152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * conf/Makefile.common (CFLAGS_GNULIB): Add
8718 -Wno-unsafe-loop-optimizations.
8719 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8720 on tools.
8721 * grub-core/commands/legacycfg.c: Add pragma to skip
8722 -Wunsafe-loop-optimizations.
8723 (check_password_md5_real): Fix loop counter type.
8724 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8725 reading.
8726 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8727 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8728 loop condition.
8729 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8730 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8731 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8732 condition.
8733 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8734 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8735 avoid possible infinite loops.
8736 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8737 and -Wunsafe-loop-optimizations.
8738 * grub-core/script/yylex.l: Likewise.
8739 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8740 (print_glyphs): Avoid infinite loops.
8741 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8742
697f18b0
GS
87432012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8744
8745 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8746 to avoid infinite loop.
8747 (disp_acpi_rsdt_table): Likewise.
8748
274416e8
VS
87492012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/font/font.c (grub_font_load): Add support for default
8752 path for fonts ($prefix/fonts).
8753 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8754 for checking if string is a path.
8755 * grub-core/normal/main.c (features): Add feature_default_font_path.
8756 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8757 * util/grub.d/00_header.in: Use default directory if possible.
8758 * util/grub-install.in: Install unicode.pf2.
8759
b3e08622
VS
87602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8763 * po/Rules-swiss: New file.
8764 * po/swiss.sed: Likewise.
8765
fe42ce09
VS
87662012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/fs/btrfs.c (find_device): Fix typos.
8769 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8770 * util/grub-mkrelpath.c (argp_parser): Likewise.
8771 Reported by: Yuri Chornoivan.
8772
72f1d065
DO
87732012-02-23 Dalet Omega <daletomega@gmail.com>
8774
8775 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8776 for usual informative messages.
8777
c5884973
DO
87782012-02-23 Dalet Omega <daletomega@gmail.com>
8779
8780 Starfield theme.
8781
8782 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8783 * conf/Makefile.common: Define starfielddir.
8784 * configure.ac: Configure starfield.
8785 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8786 * themes/starfield/README: Likewise.
8787 * themes/starfield/blob_w.png: Likewise.
8788 * themes/starfield/boot_menu_c.png: Likewise.
8789 * themes/starfield/boot_menu_e.png: Likewise.
8790 * themes/starfield/boot_menu_n.png: Likewise.
8791 * themes/starfield/boot_menu_ne.png: Likewise.
8792 * themes/starfield/boot_menu_nw.png: Likewise.
8793 * themes/starfield/boot_menu_s.png: Likewise.
8794 * themes/starfield/boot_menu_se.png: Likewise.
8795 * themes/starfield/boot_menu_sw.png: Likewise.
8796 * themes/starfield/boot_menu_w.png: Likewise.
8797 * themes/starfield/slider_c.png: Likewise.
8798 * themes/starfield/slider_n.png: Likewise.
8799 * themes/starfield/slider_s.png: Likewise.
8800 * themes/starfield/src/blob_nw.xcf: Likewise.
8801 * themes/starfield/src/bootmenu/: Likewise.
8802 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8803 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8804 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8805 * themes/starfield/src/slider_c.xcf: Likewise.
8806 * themes/starfield/src/slider_n.xcf: Likewise.
8807 * themes/starfield/src/slider_s.xcf: Likewise.
8808 * themes/starfield/src/terminalbox/: Likewise.
8809 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8810 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8811 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8812 * themes/starfield/starfield.png: Likewise.
8813 * themes/starfield/terminal_box_c.png: Likewise.
8814 * themes/starfield/terminal_box_e.png: Likewise.
8815 * themes/starfield/terminal_box_n.png: Likewise.
8816 * themes/starfield/terminal_box_ne.png: Likewise.
8817 * themes/starfield/terminal_box_nw.png: Likewise.
8818 * themes/starfield/terminal_box_s.png: Likewise.
8819 * themes/starfield/terminal_box_se.png: Likewise.
8820 * themes/starfield/terminal_box_sw.png: Likewise.
8821 * themes/starfield/terminal_box_w.png: Likewise.
8822 * themes/starfield/theme.txt: Likewise.
8823
17d73325
VS
88242012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * util/grub.d/00_header.in: Add missing export theme.
8827
dbebaf92
VS
88282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8831 already included.
8832 Reported by: Eren D.
8833
3d68bffb
VS
88342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * conf/Makefile.common (grubdatadir): Removed.
8837 (Makefile.am): Move eveything grubdata to pkgdata.
8838
4b59234d
VS
88392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/commands/acpihalt.c (get_sleep_type):
8842 Remove unused variable.
8843
463dcadc
VS
88442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8847 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8848 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8849 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8850 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8851 i18n with gettext no-op.
8852 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8853 GRUB_ACPI_OPCODE_STRING_CONST.
8854 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8855 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8856
e5b90c82
VS
88572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * po/POTFILES.in: Regenerate.
8860
2a704ca9
VS
88612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8864 -Wno-error=missing-noreturn.
8865
84f9d341
VS
88662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8869 condition to avoid possibly infinite loops.
8870 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8871 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8872
d46683f9
VS
88732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8876 condition to avoid possibly infinite loops.
8877
c44866b2
VS
88782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8881 on show_error.
8882
96790539
VS
88832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8886
1ba7e295
VS
88872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8890
21ffe8f1
VS
88912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * util/bin2h.c (usage): Add missing attribute noreturn.
8894
0ccb6b3c
VS
88952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8898 if the size isn't divisible by 512.
8899
b00d7fb6
VS
89002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 Make list_push and list_remove functions rather than inline functions
8903 to decrease size and avoid aliasing violations.
8904
8905 * include/grub/list.h (grub_list_push): Move to ...
8906 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8907 * include/grub/list.h (grub_list_remove): Move to ...
8908 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8909
9d369087
VS
89102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8913 and -Wunused-result.
8914
af0250d9
VS
89152012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8918 Reported by: Seth Goldberg
8919
aad32b14
VS
89202012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8923
ac96441c
ST
89242012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8925
8926 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8927 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8928 command line.
8929 * docs/grub.texi (Simple configuration): Document
8930 GRUB_CMDLINE_GNUMACH.
8931
89322012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8933
8934 * conf/Makefile.common (platform_SCRIPTS): New variable.
8935 (platform_PROGRAMS): Likewise.
8936 * gentpl.py: Mark *,module and *.image for install.
8937 * grub-core/gdb_grub.in: Add a notice of expected environment.
8938 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8939 (gmodule.pl): Likewise.
8940
ac96441c 89412012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8942
8943 Replace grub_checkkey with grub_getkey_noblock.
8944
8945 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8946 (grub_getkey_noblock): ... this. All users updated.
8947
ac96441c 89482012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8949
8950 * grub-core/kern/emu/console.c: Move to ...
8951 * grub-core/term/emu/console.c: ...here.
8952 (grub_ncurses_getkey): Fix return value if no key is detected.
8953
e51b5666
VS
89542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8957 (grub_unit_test_fini): Likewise.
8958 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8959
89602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * include/grub/test.h (GRUB_UNIT_TEST)
8963
d9a62292
VS
89642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8967 Better error handling.
8968 (grub_script_return): Likewise.
8969 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8970
77c9182f
VS
89712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8974 rimplicit redifinition.
8975
edb13cf9
VS
89762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8979 GRUB.
8980
a9e9dc7c
VS
89812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8984 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8985 prompt here.
8986
b4ba8e02
VS
89872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8990 as GRUB_ERR_BUG. Don't malloc if no device is available.
8991
dded5540
VS
89922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8995 Mark calling with invalid term as GRUB_ERR_BUG.
8996
0cf69874
VS
89972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9000 packets rather than raising an error.
9001
59bfe502
VS
90022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9005 in if.
9006
db5fc596
VS
90072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9010 diagnostic to dprintf.
9011 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9012
e4b7f404
VS
90132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9016 device name.
9017
e7b02f9e
VS
90182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9021 (grub_ntfs_iterate_dir): Likewise.
9022
0331e102
VS
90232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Efiemu stylistic fixes and gettext.
9026
9027 * grub-core/efiemu/i386/loadcore32.c
9028 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9029 * grub-core/efiemu/i386/loadcore64.c
9030 (grub_arch_efiemu_relocate_symbols64): Likewise.
9031 * grub-core/efiemu/i386/pc/cfgtables.c
9032 (grub_machine_efiemu_init_tables): Likewise.
9033 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9034 (grub_efiemu_loadcore_initXX): Add a filename argument.
9035 All users updated.
9036 Improved error message.
9037 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9038 Add a filename argument.
9039 All users updated.
9040 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9041 Reclassify double relocation as GRUB_ERR_BUG.
9042
306fc074
VS
90432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9046 handling.
9047
794d8ef2
VS
90482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9051 on partition.
9052
90532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9054
9055 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9056
794d8ef2 90572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9058
9059 Improve string. Gettextize.
9060
78dde88e
VS
90612012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9064 utils.
9065 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9066
4786a90f
VS
90672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9070 [GRUB_UTIL]: New function.
9071 (insert_array) [GRUB_UTIL]: Store partmaps.
9072 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9073 partmaps.
9074 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9075 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9076 (probe_abstraction): Print diskfilter and not raid.
9077 Reported by: Lennart Sorensen
9078
0b6225bd
VS
90792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9082 * util/grub-mkimagexx.c (MASK3): New define.
9083 (add_value_to_slot_20b): Use MASK3.
9084 (add_value_to_slot_21): Likewise.
9085 (relocate_addresses): Fix format specification.
9086 (load_image): Explicitly init symtab_section.
9087
b055f8f6
VS
90882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9091 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9092
b77c2fb7
VS
90932012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9096 on powerpc.
9097 Reported by: Lennart Sorensen
9098
e3ec28ab
VS
90992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * gentpl.py: Add missing license header.
9102 * docs/grub.texi: Update copyright year.
9103
c8d9ead6
GS
91042012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9105
9106 Source grub-mkconfig_lib from the build directory at build time.
9107 Suggested by: Vladimir Serbinenko.
9108
9109 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9110 * util/grub-install.in: Define pkgdatadir if not already set, and source
9111 grub-mkconfig_lib from there.
9112 * util/grub-kbdcomp.in: Likewise.
9113 * util/grub-mkconfig.in: Likewise.
9114 * util/grub-mknetdir.in: Likewise.
9115 * util/grub-mkrescue.in: Likewise.
9116 * util/grub-mkstandalone.in: Likewise.
9117 * util/grub-reboot.in: Likewise.
9118 * util/grub-set-default.in: Likewise.
9119 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9120
ebcecdf1
VS
91212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Increase warning level.
9124
9125 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9126 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9127 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9128 (TARGET_CFLAGS): Likewise.
9129 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9130 * grub-core/Makefile.core.def (decompressor_xz): Add
9131 -Wno-unreachable-code.
9132 (normal): Add -Wno-redundant-decls.
9133 (xzio): Add -Wno-unreachable-code.
9134 (lzopio): Add -Wno-redundant-decls -Wno-error.
9135 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9136 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9137 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9138 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9139 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9140 * grub-core/kern/i386/coreboot/init.c: Add exception to
9141 -Wsuggest-attribute=noreturn.
9142 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9143 * grub-core/kern/ia64/dl_helper.c: Likewise.
9144 * grub-core/kern/mips/dl.c: Likewise.
9145 * grub-core/kern/sparc64/dl.c: Likewise.
9146 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9147 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9148 (memcmp): Likewise.
9149 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9150 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9151 * grub-core/loader/mips/linux.c: Likewise.
9152 * grub-core/loader/multiboot_elfxx.c: Likewise.
9153 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9154 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9155 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9156 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9157 fixme.
9158 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9159 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9160 Fix prototype.
9161
37bb97fe
VS
91622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9165 address.
9166
29a3550b
VS
91672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9170 Avoid improper use of strings.
9171 (grub_cmd_legacy_initrdnounzip): Likewise.
9172
dfdffd0d
VS
91732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9176 attribute.
9177 (grub_util_info): Likewise.
9178 (grub_util_error): Likewise.
9179
102fae4a
VS
91802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9183 * util/grub-fstest.c (fstest): Likewise.
9184
7e94d044
VS
91852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9188 (grub_md_sha512_real): Likewise.
9189 (grub_util_get_geli_uuid): Likewise.
9190 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9191 (grub_util_biosdisk_open): Fix format specification.
9192 Respect format security.
9193 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9194 (xrealloc): Likewise.
9195 (xasprintf): Likewise.
9196
5ebd9769
VS
91972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * util/import_gcry.py: Include grub/crypto.h in init.c.
9200
495fc8c1
VS
92012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9204 (generate_image): Make prefix a const char *.
9205 Fix format specifications. Respect format security.
9206 Avoid void * arithmetics.
9207 Avoid shadowing.
9208 (argp_parser): Remove unused variable. Respect format security.
9209 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9210 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9211 (count_funcs): Remove unused variable.
9212 (relocate_addresses): Fix format specification.
9213 Disable x86-64 with elf32. Remove unused variables.
9214 (add_fixup_entry): Avoid shadowing.
9215 (make_reloc_section): Fix format specification.
9216 Use assert.
9217 (locate_sections): Fix format specifications.
9218 (load_image): Avoid shadowing.
9219
043c2ea3
VS
92202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9223 Fix format specifications. Respect format security.
9224 Don't translate already translated grub_errmsg.
9225 (argp_parser): Remove unused variable
9226
3ec65a81
VS
92272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9230
a4d9fe4a
VS
92312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9234 (main): Likewise. Use xmalloc. Respect format security.
9235
15b81d49
VS
92362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9239 a const char *.
9240 (argp_parser): Remove unused variable.
9241
31731fc0
VS
92422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9245 (add_pixel): Make static.
9246 (add_font): Likewise.
9247 (write_string_section): Make name and str a const char *.
9248 (write_be16_section): Make name a const char *.
9249 (print_glyphs): Make static.
9250 (write_font_ascii_bitmap): Likewise.
9251 (write_font_width_spec): Likewise.
9252 (write_font_pf2): Likewise.
9253 (argp_parser): Remove unused variable.
9254 Respect format security.
9255 (main): Avoid shadowing. Respect format security.
9256
0809527b
VS
92572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * util/grub-editenv.c (argp_parser): Make static.
9260 (create_envblk_file): Use xmalloc.
9261 (open_envblk_file): Likewise.
9262 Resepect format security.
9263 (set_variables): Respect format security.
9264
45b0c8b7
VS
92652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * util/getroot.c (grub_find_device): Respect format security.
9268 (get_mdadm_uuid): Remove unused variable.
9269 (grub_util_pull_device): Dont call gettext on already translated
9270 grub_errmsg.
9271 (find_system_device): Remove unused variable.
9272 (grub_util_get_grub_dev): Likewise.
9273 (grub_make_system_path_relative_to_its_root): Respect format security.
9274
1b024b4e
VS
92752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * util/grub-fstest.c (execute_command): Make first argument
9278 a const char *.
9279 (read_file): Avoid shadowing.
9280 Reuse underlying error message if device open fails.
9281 (cmd_cmp): Respect format security.
9282 (root): Make const char *.
9283 (fstest): Remove args argument and use global copy.
9284 Respect format security.
9285 (argp_parser): Make static.
9286 (main): Make default_root const char *.
9287
5d1d4e28
VS
92882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * util/grub-mount.c (root): Make const char *.
9291 (execute_command): Make first argument a const char *.
9292 (fuse_init): Respect format security.
9293 (argp_parser): Make static. Remove unused variable.
9294 (main): Make default_root a const char *.
9295 Respect format security.
9296
36eb7379
VS
92972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * util/grub-probe.c (probe): Don't call gettext on already translated
9300 grub_errmsg.
9301 Remove unused variables.
9302 (argp_parser): Remove unused variable.
9303
76fb2ea9
VS
93042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * util/grub-script-check.c (argp_parser): Remove unused variable.
9307 (main): Rename read to curread to avoid shadowing.
9308
56c98584
VS
93092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/misc.c (grub_util_write_image_at): Fix format specification.
9312 (grub_util_write_image): Likewise.
9313 (grub_script_execute_argument_to_string): Removed (unused).
9314 (grub_script_execute_menuentry): Likewise.
9315 (grub_putchar): Likewise.
9316
164ebb48
VS
93172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9320 (FUNCTION) [GRUB_UTIL]: Likewise.
9321 (VARIABLE) [GRUB_UTIL]: Likewise.
9322
44318d61
VS
93232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9326 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9327
31a26002
VS
93282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9331 buffer.
9332
93332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9336 (LzmaEnc_SaveState): Removed (unused).
9337 (LzmaEnc_RestoreState): Likewise.
9338 (LzmaEnc_InitPriceTables): Made static.
9339 (LzmaEnc_Construct): Likewise.
9340 (LzmaEnc_FreeLits): Likewise.
9341 (LzmaEnc_Destruct): Likewise.
9342 (LzmaEnc_Init): Likewise.
9343 (LzmaEnc_InitPrices): Likewise.
9344 (LzmaEnc_Finish): Likewise.
9345 (LzmaEnc_PrepareForLzma2): Removed (unused).
9346 (LzmaEnc_MemPrepare): Likewise.
9347 (LzmaEnc_GetNumAvailableBytes): Likewise.
9348 (LzmaEnc_GetCurBuf): Likewise.
9349 (LzmaEnc_CodeOneMemBlock): Likewise.
9350
6fa67967
VS
93512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9354 (grub_util_ldm_embed): Likewise.
9355
9a7428e6
VS
93562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * util/grub-editenv.c (print_var): Rename name to varname to
9359 avoid shadowing.
9360 (main): Rename index to curindex to avoid shadowing.
31a26002 9361 Make filename a const char *.
9a7428e6 9362
4f96abd1
VS
93632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9366 to arg_getline to avoid shadowing.
9367
44d10dad
VS
93682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9371 disk_ to avoid shadowing.
9372
340ba63e
VS
93732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9376 curindex to avoid shadowing.
9377 Make static.
9378 (MatchFinder_GetNumAvailableBytes): Make static.
9379
22965bce
VS
93802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9383 avoid shadowing.
9384
7b5784d4
VS
93852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9388 argument from encrypt to do_encrypt to avoid shadowing.
9389
6f48ca01
VS
93902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9393 incorrect nesting of #if's.
9394
a4ea2dff
VS
93952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9398 checks which are always false on some platforms.
9399 (grub_cmd_lsacpi): Likewise.
9400 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9401 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9402 Likewise.
9403
def9fc1b
VS
94042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9407 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9408
a67b2a04
VS
94092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9412 re_dfa_t to avoid breaking alignment invariants.
9413 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9414 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9415
44c6828d
VS
94162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9419 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9420
bebe0dd0
VS
94212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9424 Fix declaration.
9425
a9cdb3cf
VS
94262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9429 conserve alignment invariants.
9430 (grub_ehci_ehcc_read16): Likewise.
9431 (grub_ehci_oper_read32): Likewise.
9432 (grub_ehci_oper_write32): Likewise.
9433 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9434 Conserve alignment invariants.
9435
ccc3b1b8
VS
94362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9439 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9440 declarations.
9441
987fbd95
VS
94422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9445 Remove unused variable.
9446
0df363f3
VS
94472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9450 Remove set in if.
9451
b2c0c4a6
VS
94522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * include/grub/net.h: Remove double declarations.
9455
690c531f
VS
94562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 Remove "payload" command in ia64 Linux loader since I couldn't
9459 find any evidence of it being used for anything.
9460 Replace "relocate" command with an environment variable
9461
9462 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9463 fields.
9464 (ia64_boot_payload): Removed.
9465 (last_payload): Likewise.
9466 (RELOCATE_OFF): Likewise.
9467 (RELOCATE_ON): Likewise.
9468 (RELOCATE_FORCE): Likewise.
9469 (relocate): Likewise.
9470 (free_pages): Don't free payloads.
9471 (grub_load_elf64): Use common error messages.
9472 Use "linux_relocate" variable.
9473 Increase the space after boot_params.
9474 (grub_cmd_payload): Removed.
9475 (grub_cmd_relocate): Likewise.
9476 (grub_cmd_fpswa): Improve messages.
9477 (cmd_payload): Removed.
9478 (cmd_relocate): Likewise.
9479 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9480 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9481
01783768
VS
94822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 Convert UHCI to DMA framework.
9485
9486 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9487 (grub_uhci_pci_iter): Fill new members
9488 (grub_alloc_td): Use P2V and V2P functions.
9489 (grub_free_queue): Likewise.
9490 (grub_alloc_qh): Likewise.
9491 (grub_uhci_setup_transfer): Likewise.
9492 (grub_uhci_check_transfer): Likewise.
9493
43206939
VS
94942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9497 Remove assignment in if while on it.
9498
571e140e
VS
94992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * util/grub-mkstandalone.in: Fix modules directory.
9502
a9d96eeb
VS
95032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9506 on i386-pc target.
9507 (argp_parser): Accept "auto" as compression specification.
9508
e4e37e8d
VS
95092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 Fix `help' with unloaded modules.
9512
9513 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9514 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9515 (grub_dyncmd_dispatcher): Small stylistic fix.
9516 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9517 explicit help is requested.
9518
e1ea3ade
VS
95192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9522 Explicitly init restart while on it.
9523
27556881
VS
95242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9527 uninited variable.
9528
d65f6b36
VS
95292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * util/grub-mknetdir.in: Use . rather than source for POSIX
9532 compatibility.
9533
0a1e473c
VS
95342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9537
ce6647c8
VS
95382012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9541 variable.
9542
66747894
VS
95432012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9546 without quotes.
9547
71645f6e
VS
95482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9551
0e1c1f61
VS
95522012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9555 iteration of partitions.
9556
9c4b5c13
VS
95572012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 Improve gettext support. Stylistic fixes and error handling fixes while
9560 on it.
9561
215c90cb
VS
95622012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9565 part. Instead setup the correct stack in RM.
9566 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9567 for stack.
9568 * include/grub/i386/relocator_private.h: New file.
9569
b5c1f9bf
VS
95702012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9573 argument.
9574 * util/grub-fstest.c (options): Add missing DEVICE part.
9575
b525fd83
VS
95762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 Clarify and unify messages.
9579
9580 * grub-core/commands/hashsum.c (options): Unify messages.
9581 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9582 literal-only message as translatable.
9583 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9584 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9585 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9586 commands.
9587 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9588 key, not the key used to unlock. Clarify what it's used for.
9589 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9590 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9591 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9592 * util/grub-editenv.c (options): Unify "verbose" message.
9593 * util/grub-fstest.c (read_file): Unify error message.
9594 (fstest): Add quotes around commands.
9595 (options): Unify "verbose" message.
9596 * util/grub-install.in: Add quotes around variable name.
9597 * util/grub-kbdcomp.in: Unify error message.
9598 * util/grub-mkfont.c (main): Likewise.
9599 * util/grub-mkrescue.in: Likewise.
9600 * util/grub-mklayout.c (options): Unify "verbose" message.
9601 * util/grub-mkstandalone.in: Unify help and verbose messages.
9602 * util/grub-mount.c (options): Unify "verbose" message.
9603 * util/grub-probe.c (options): Likewise.
9604 * util/grub-script-check.c (options): Likewise.
9605 * util/grub-setup.c (setup): Unify no-terminator message.
9606 (options): Use DEVICE and not DEV.
9607 Unify "verbose" message.
9608 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9609
0ae70393
VS
96102012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 Improve and unify messages.
9613
9614 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9615 name. All users updated.
9616 Print filename in error.
9617 (read_device_map): Print filename in error.
9618 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9619 (grub_util_get_os_disk): Likewise.
9620 (grub_util_biosdisk_get_grub_dev): Likewise.
9621 (grub_util_check_block_device): Likewise.
9622 (grub_util_check_char_device): Likewise.
9623 (grub_make_system_path_relative_to_its_root): Likewise.
9624 * util/grub-editenv.c (create_envblk_file): Likewise.
9625 (open_envblk_file): Likewise.
9626 (write_envblk): Likewise.
9627 * util/grub-fstest.c (cmd_cp): Likewise.
9628 (cmd_cat): Likewise.
9629 (cmd_cmp): Likewise.
9630 * util/grub-menulst2cfg.c (main): Likewise.
9631 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9632 (write_font_width_spec): Likewise.
9633 (write_font_pf2): Likewise.
9634 * util/grub-mkimage.c (generate_image): New argument outname.
9635 All users updated.
9636 Remove unreacheable message.
9637 (options): Unify messages.
9638 (help_filter): Likewise.
9639 * util/grub-mklayout.c (usage): Removed (unused).
9640 (main): Print filename in error.
9641 * util/grub-mkrescue.in: Fix wrong quoting.
9642 * util/grub-setup.c (setup): Print filename in error.
9643 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9644 (check_sas): Likewise.
9645 * util/misc.c (grub_util_get_fp_size): Removed.
9646 (grub_util_get_image_size): Print filename in error.
9647 (grub_util_read_at): Removed.
9648 (grub_util_read_image): Print filename in error.
9649 (grub_util_load_image): Likewise.
9650 (grub_util_write_image_at): New argument filename. All users updated.
9651 Print filename in error.
9652 (grub_util_write_image): New argument filename. All users updated.
9653 Print filename in error.
9654 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9655 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9656
0a96117d
VS
96572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/Makefile.core.def (pxechain): New module.
9660 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9661 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9662 function.
9663 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9664 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9665
aca002f7
VS
96662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9669 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9670 * include/grub/err.h (grub_error_saved): New struct.
9671 (grub_errmsg): Make array size explicit.
9672 * include/grub/misc.h (grub_error_save): New function.
9673 (grub_error_load): Likewise.
9674 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9675 (grub_error_push): Update `errno' member name.
9676 (grub_error_pop): Likewise
9677 * grub-core/net/tftp.c (tftp_data): New member save_err.
9678 (tftp_receive): Save error.
9679 (tftp_open): Restore error.
9680
a51dab13
VS
96812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9684 to real mode down to execute A20-related code in protected mode as
9685 intended.
9686
eb6e6649
GS
96872012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9688
9689 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9690 NULL when the argument `level' has an unexpected value.
9691
92cd0f6e
VS
96922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 Move platform-dependent files from $prefix to $prefix/$platform.
9695
9696 * config.h.in (GRUB_TARGET_CPU): New definition.
9697 (GRUB_PLATFORM): Likewise.
9698 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9699 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9700 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9701 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9702 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9703 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9704 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9705 * grub-core/normal/term.c (read_terminal_list): Likewise.
9706 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9707 $prefix/locale.
9708 (grub_gettext_init_ext): Likewise.
9709 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9710 grub_platform.
9711 * util/grub-install.in: Update directories.
9712 * util/grub-mknetdir.in: Likewise.
9713 * util/grub-mkrescue.in: Likewise.
9714
db606889
VS
97152012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9718 grub_error framework. All users updated.
9719
c39992a4
VS
97202012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9723 lists (by always binsearching), improve caching (cache strings
9724 used for binsearch, not only results), improve
9725 maintainability (by using more structured binary search) and correct
9726 error handling.
9727
1e5ec32f
VS
97282012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/script/execute.c (grub_script_return): Fix warning.
9731
ac576cde
VS
97322012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/script/execute.c (grub_script_return): Fix potential
9735 NULL-dereference.
9736 Reported by: Jim Meyering.
9737
498453f6
VS
97382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * po/POTFILES.in: Regenerate.
9741 * util/grub-install.in: Gettextize the strings missed in first pass.
9742
8be63f2e
VS
97432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * Makefile.util.def (grub-mkdevicemap): Removed.
9746 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9747 * include/grub/util/deviceiter.h: Removed.
9748 * util/deviceiter.c: Likewise.
9749 * util/getroot.c (grub_util_get_os_disk): New function.
9750 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9751 replacement for EFI.
9752 * util/grub-mkdevicemap.c: Removed.
9753 * util/grub-probe.c (probe): Handle PRINT_DISK.
9754 (argp_parser): Handle -t disk.
9755
8e1e4e39
VS
97562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/grub-mkfont.c: Migrate to argp.
9759 * util/grub-mklayout.c: Likewise.
9760 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9761 * util/grub-mkrelpath.c: Likewise.
9762 * util/grub-probe.c: Likewise.
9763 * util/grub-script-check.c: Likewise.
9764
4459819a
VS
97652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * util/grub-reboot.in: Add missing datarootdir.
9768 Add missing newline.
9769 * util/grub-set-default.in: Add missing datarootdir.
9770 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9771 * util/grub-mkrescue.in: Likewise.
9772
f65741c7
VS
97732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9776
c1a33466
VS
97772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * util/grub-kbdcomp.in: Add decent help and gettextize.
9780 * docs/man/grub-kbdcomp.h2m: New file.
9781
c76899a0
VS
97822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 Migrate grub-mkimage.c to argp.
9785
9786 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9787 (grub-setup): Likewise.
9788 * util/grub-setup.c (print_version): Move to ...
9789 * util/argp_common.c (print_version): ... here.
9790 * util/grub-setup.c (argp_program_version_hook): Move to ...
9791 * util/argp_common.c (argp_program_version_hook): ... here.
9792 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9793 safety.
9794 * util/grub-mkimage.c (main): Migrate to argp.
9795
57db0757
VS
97962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * util/grub-mkrescue.in: Use same message as
9799 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9800 for better translations.
9801
18534ad9
VS
98022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9805 options with generic grub-mkrescue.in with the goal of future
9806 merge.
9807
c84ba308
VS
98082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/kern/mm.c: Add missing include of i18n.h
9811 * grub-core/lib/relocator.c: Likewise.
9812
347998c2
VS
98132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9816 error.
9817 (allocate_pages): Check return value.
9818 Replace fatal with error.
9819 (grub_linux_boot): Replace printf with dprintf.
9820 Check find_mmap_size return value.
9821 Replace fatal with error.
9822 Don't call grub_machine_fini.
9823 (grub_load_elf64): Replace printf with dprintf.
9824 (grub_cmd_linux): Likewise.
9825 (grub_cmd_initrd): Likewise.
9826 (grub_cmd_payload): Likewise.
9827
c779226e
VS
98282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9831 message.
9832 * grub-core/video/radeon_fuloong2e.c
9833 (grub_video_radeon_fuloong2e_setup): Likewise.
9834 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9835 * grub-core/video/video.c (grub_video_set_mode): Don't override
9836 standard out of memory message.
9837
dc87d45a
GS
98382012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9839
9840 NetBSD disk wedge support.
9841
9842 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9843 [__NetBSD__]: Handle NetBSD disk wedges.
9844 * util/getroot.c (convert_system_partition_to_system_disk)
9845 [__NetBSD__]: Likewise.
9846
055f856f
MW
98472012-02-03 Mark Wooding <mdw@distorted.org.uk>
9848
9849 * util/grub-mkconfig.in: Use umask rather than chmod to create
9850 grub.cfg.new to avoid insecure grub.cfg.
9851
4a9f8346
VS
98522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/commands/ls.c: Gettextize.
9855 * grub-core/commands/setpci.c: Likewise.
9856 * grub-core/commands/videotest.c: Likewise.
9857 * grub-core/disk/geli.c: Likewise.
9858 * grub-core/kern/mm.c: Likewise.
9859 * grub-core/lib/relocator.c: Likewise.
9860 * grub-core/loader/efi/appleloader.c: Likewise.
9861 * grub-core/loader/i386/xnu.c: Likewise.
9862 * grub-core/loader/ia64/efi/linux.c: Likewise.
9863 * grub-core/loader/xnu.c: Likewise.
9864 * grub-core/net/dns.c: Likewise.
9865 * grub-core/net/net.c: Likewise.
9866 * grub-core/script/lexer.c: Likewise.
9867 * grub-core/script/parser.y: Likewise.
9868 * grub-core/script/yylex.l: Likewise.
9869 * util/getroot.c: Likewise.
9870 * util/grub-setup.c: Likewise.
9871
a646a366
VS
98722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9875 number.
9876
54e2be26
VS
98772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9880
f7c71e68
VS
98812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9884 macro.
9885 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9886 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9887
a32d5c71
VS
98882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9891 * util/grub-install.in: Gettextize.
9892 * util/grub-mkconfig.in: Likewise.
9893 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9894 if not available.
9895 (grub_warn): Gettextize.
9896 * util/grub-mknetdir.in: Gettextize.
9897 * util/grub-mkrescue.in: Likewise.
9898 * util/grub-mkstandalone.in: Likewise.
9899 * util/grub-reboot.in: Likewise.
9900 * util/grub-set-default.in: Likewise.
9901 * util/grub.d/00_header.in: Likewise.
9902 * util/grub.d/10_hurd.in: Likewise.
9903 * util/grub.d/10_kfreebsd.in: Likewise.
9904 * util/grub.d/10_linux.in: Likewise.
9905 * util/grub.d/10_netbsd.in: Likewise.
9906 * util/grub.d/10_windows.in: Likewise.
9907 * util/grub.d/20_linux_xen.in: Likewise.
9908 * util/grub.d/30_os-prober.in: Likewise.
9909 * po/POTFILES-shell.in: Regenerate.
9910
69edd81a
RL
99112012-02-03 Richard Laager <rlaager@wiktel.com>
9912
9913 * util/grub-mkimage.c (main): Fix format-security warning.
9914 * util/grub-mkrelpath.c (main): Likewise.
9915 * util/grub-probe.c (main): Likewise.
9916
65f08dbf
RL
99172012-02-03 Richard Laager <rlaager@wiktel.com>
9918
9919 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9920 failure.
9921 Put back lost PRINT_DRIVE.
9922
e9084abe
RL
99232012-02-03 Richard Laager <rlaager@wiktel.com>
9924
9925 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9926 (grub_guess_root_devices): Replace strlen with sizeof.
9927 Avoid crash.
9928 (find_root_devices_from_poolname): Remove unused variable.
9929 Handle raidzN.
9930
cf5f7ee7
VS
99312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 Support install on multi-device filesystems.
9934
9935 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9936 (grub_guess_root_devices): ...this. Return char **. All users updated.
9937 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9938 Removed.
9939 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9940 (find_root_devices_from_poolname): ... here.
9941 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9942 Support zfs-fuse.
9943 (grub_guess_root_device): Rename to ...
9944 (grub_guess_root_devices): ... this. Return char **. All users updated.
9945 * util/grub-install.in: Handle multi-device filesystems.
9946 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9947 argument. All users updated.
9948 Handle multi-device filesystems.
9949 Use 'delim' as separator.
9950 Remove device check to allow filesystems on file.
9951 (main): Support -0 argument. Handle multi-device.
9952 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9953 Fix a cross-device check while on it.
9954 (arguments): Remove root_dev.
9955 (argp_parser): Remove -r.
9956 (main): Remove root_dev.
9957
2f53a9ed
VS
99582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9961
17e1d934
VS
99622012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9965 symbol.
9966 Reported by: NODA, Kai <nodakai>.
9967
d3e3fab5
VS
99682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 Fix ehci on amd64.
9971
9972 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9973 pointers.
9974 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9975 (grub_ehci_setup_qh): Likewise.
9976 (grub_ehci_find_qh): Likewise.
9977 (grub_ehci_transaction): Likewise.
9978 (grub_ehci_setup_transfer): Likewise.
9979 (grub_ehci_check_transfer): Likewise.
9980 (grub_ehci_portstatus): Likewise.
9981 (grub_ehci_detect_dev): Likewise.
9982 (grub_ehci_transfer_controller_data): New field td_last_phys.
9983 (grub_ehci_setup_transfer): Fill td_last_phys.
9984 (grub_ehci_check_transfer): Use td_last_phys.
9985
3008675b
SG
99862012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9987
9988 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9989 if no submenu is present.
9990
fc9b5652
AN
99912012-02-01 Aleš Nesrsta <starous@volny.cz>
9992
9993 CBI support.
9994
9995 * include/grub/usb.h (grub_usbms_protocol_t): New values
9996 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9997 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9998 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9999 (grub_usbms_dev): Add subclass, protocol and intrpt.
10000 Remove in_maxsz and out_maxsz.
10001 (grub_usbms_reset): Rename to ...
10002 (grub_usbms_bo_reset): .. this.
10003 (grub_usbms_cbi_cmd): New function.
10004 (grub_usbms_cbi_reset): Likewise.
10005 (grub_usbms_reset): Likewise.
10006 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10007 (grub_usbms_transfer): Rename to ...
10008 (grub_usbms_transfer_bo): ... this.
10009 (grub_usbms_transfer_cbi): Likewise.
10010 (grub_usbms_transfer): Likewise.
10011
a2b81d53
AN
100122012-02-01 Aleš Nesrsta <starous@volny.cz>
100132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10016 the support for the CS5536 modification thereos and few bugfixes.
10017
10018 * grub-core/Makefile.core.def (ehci): New module.
10019 * grub-core/bus/usb/ehci.c: New file.
10020 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10021 port and hubaddr. All users updated.
10022 Save port and hubaddr into dev structure.
10023 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10024 define.
10025 * include/grub/pci.h (grub_dma_phys2virt): New function.
10026 (grub_dma_virt2phys): Likewise.
10027 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10028
b1d51f02
VS
100292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10032 check as some mkfs implementations omit it.
10033
fc694106
VS
100342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10037
6c0920e3
VS
100382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10041 Add new member volname2.
10042 (grub_jfs_label): Use volname2 if available.
10043
d1a46f9a
VS
100442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10047 over last_mounted as seen in image generated by mkfs.nilfs2.
10048 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10049
dec8ed14
VS
100502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10053 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10054 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10055
7397c69b
VS
100562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10059 over the sector.
10060
b3fe42ad
VS
100612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10064 subvolume name (by removing a bogus and useless check).
10065
10476bb0
VS
100662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10069 sizeof while on it.
10070
9c08ad87
VS
100712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10074 (grub_scsi_read_capacity10): ... this.
10075 (grub_scsi_read_capacity16): New function.
10076 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10077 0xffffffff.
10078 Fix off-by-one error.
10079 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10080 64-bit unsigned.
10081 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10082 (grub_scsi_read_capacity10): ... this.
10083 (grub_scsi_read_capacity_data): Rename to ...
10084 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10085 (grub_scsi_read_capacity16): New struct.
10086 (grub_scsi_read_capacity16_data): Likewise.
10087 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10088 grub_scsi_cmd_read_capacity10.
10089 New command grub_scsi_cmd_read_capacity16.
10090
bc8d0f45
VS
100912012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 SCSI >2TiB support.
10094
10095 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10096 (grub_scsi_write16): Likewise.
10097 (grub_scsi_read): Use read16 when necessary.
10098 (grub_scsi_write): Likewise.
10099 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10100 (grub_scsi_write16): Likewise.
10101 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10102
cc774926
VS
101032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 SCSI write support (for usbms mainly).
10106
10107 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10108 a const pointer.
10109 (grub_scsi_write): Implement.
10110 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10111
67639fd7
VS
101122012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10115 variable.
10116
9079d3ed
VS
101172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10120
c6a6f204
VS
101212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * po/POTFILES.in: Regenerate.
10124
ecbf8cd1
VS
101252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10128 with grub_printf to avoid unnecessary fatal failure.
10129
0b3b3b38
VS
101302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10133 (INT_MAX): Likewise.
10134 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10135 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10136 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10137 (strcpy): Likewise.
10138 (strstr): Likewise.
10139 (strchr): Likewise.
10140 (strncpy): Likewise.
10141 (strcat): Likewise.
10142 (strncat): Likewise.
10143 (strcoll): Likewise.
10144 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10145 (GRUB_INT_MAX): Likewise.
10146
db7337a3
VS
101472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10150 unexpected error.
10151 (optimize_utf8): Likewise.
10152 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10153
f37c87e1
VS
101542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/boot/i386/pc/lnxboot.S: Use
10157 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10158 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10159 location.
10160 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10161 definition.
10162 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10163
63fe43f3
VS
101642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10167 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10168 now to avoid double free.
10169 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10170 hostdisk.
10171 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10172 * util/grub-probe.c (escape_of_path): Always return a new copy.
10173 (print_full_name): Escape path.
10174 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10175 Fix hints on abstractions.
10176
ebe2c961
VS
101772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10180 Don't add "root" line if no compatibility hont is available.
10181 Suggested by: Seth Goldberg.
10182
2b5336a2
VS
101832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10186 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10187 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10188 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10189
74310bd8
VS
101902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10193
c30582ba
VS
101942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * util/grub-pe2elf.c (ehdr): Make static.
10197 (shdr): Likewise.
10198 (num_sections): Likewise.
10199 (offset): Likewise.
10200
5f47782c
VS
102012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Eliminate ofpath limits and possible overflows.
10204
10205 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10206 (OF_PATH_MAX): Removed.
10207 (MAX_DISK_CAT): New const.
10208 (find_obppath): Use allocated rather than preallocated buffer.
10209 Return result. Argument of_path removed. All users updated.
10210 Add missing fdstat.
10211 (xrealpath): New function.
10212 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10213 Allocate rather than use preallocated buffer. All users updated.
10214 (__of_path_common): Use allocated rather than preallocatecd buffer.
10215 Return result. Argument of_path removed. All users updated.
10216 (vendor_is_ATA): Read only needed part form the file.
10217 (check_sas): Allocate depending on contents rather than fixed.
10218 (main) [STANDALONE]: Handle NULL result.
10219
f990cbf9
VS
102202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10223
9c6e84b8
VS
102242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 Cryptodisk write support.
10227
10228 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10229 (grub_cryptodisk_decrypt): Moved logic to ...
10230 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10231 (grub_cryptodisk_write): Implement.
10232 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10233 (grub_util_fd_write): ... this. Make global.
10234 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10235
87cf9744
VS
102362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * include/grub/list.h (grub_list_remove): Don't crash if element is
10239 removed twice.
10240
ca8c0baf
VS
102412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 Rename ofconsole to console.
10244
10245 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10246 as sysnonym to console.
10247 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10248 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10249 Rename grub_ofconsole_ to grub_console_. All users updated
10250 (grub_console_term_output): Rename "ofconsole" to "console".
10251 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10252 as "console".
10253
64c8b8f6
VS
102542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10257 handling.
10258 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10259 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10260 GRUB_DISK_DEVICE_FILE_ID.
10261
f6c434d5
VS
102622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10265 and improve performance.
10266
5858b42d
VS
102672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10270 missing ieee1275/ prefix on whole disk.
10271
4ed3c26b
VS
102722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10275 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10276
df71143e
VS
102772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10280
076e7c0f
VS
102812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Merge common RAID and LVM logic to an abstract diskfilter.
10284 Add LDM support using the same framework.
10285
10286 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10287 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10288 (libgrubmods): Remove grub-core/disk/raid.c and
10289 grub-core/partmap/gpt.c.
10290 * grub-core/Makefile.core.def (ldm): New module.
10291 (raid): Renamed to diskfilter. All users updated.
10292 * grub-core/disk/raid.c: Moved to ...
10293 * grub-core/disk/diskfilter.c: ... here.
10294 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10295 (lv_num): New var.
10296 (find_array): Renamed to ...
10297 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10298 (grub_is_array_readable): Renamed to ...
10299 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10300 (insert_array): New argument id.
10301 (is_node_readable): New function.
10302 (scan_device): Rename to ...
10303 (scan_disk): .. this. Restrict to one disk.
10304 (scan_devices): New function.
10305 (grub_diskfilter_iterate): Support multi-LV.
10306 Skip invisible and nameless LVs.
10307 (grub_diskfilter_memberlist): Support multi-LV.
10308 (grub_diskfilter_read_node): New function.
10309 (grub_raid_read): Most of logic moved to ...
10310 (read_segment): ... here
10311 (read_lv): New function.
10312 (grub_diskfilter_get_vg_by_uuid): New function.
10313 (grub_diskfilter_make_raid): Likewise.
10314 * grub-core/disk/ldm.c: New file.
10315 * grub-core/disk/lvm.c (vg_list): Removed.
10316 (lv_count): Likewise.
10317 (scan_depth): Likewise.
10318 (is_lv_readable): Likewise.
10319 (grub_lvm_getvalue): Advance pointer past the number.
10320 (find_lv): Removed.
10321 (do_lvm_scan): Refactored into ...
10322 (grub_lvm_detect): ... this. Support raid.
10323 (grub_lvm_iterate): Removed.
10324 (grub_lvm_memberlist): Likewise.
10325 (grub_lvm_open): Likewise.
10326 (grub_lvm_close): Likewise.
10327 (read_lv): Likewise.
10328 (read_node): Likewise.
10329 (is_node_readable): Likewise.
10330 (is_lv_readable): Likewise.
10331 (grub_lvm_read): Likewise.
10332 (grub_lvm_write): Likewise.
10333 (grub_lvm_dev): Use diskfilter
10334 (GRUB_MOD_INIT): Likewise.
10335 (GRUB_MOD_FINI): Likewise.
10336 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10337 new interface.
10338 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10339 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10340 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10341 grub_diskfilter_read_node.
10342 Fix a bug with xor.
10343 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10344 grub_diskfilter_read_node.
10345 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10346 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10347 (grub_disk_dev_iterate): Move from here...
10348 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10349 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10350 Make global.
10351 (grub_hostdisk_find_partition_start): Likewise.
10352 (grub_hostdisk_os_dev_to_grub_drive): New function.
10353 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10354 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10355 * util/getroot.c (make_device_name): ... here.
10356 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10357 Move to ...
10358 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10359 * grub-core/kern/emu/hostdisk.c
10360 (convert_system_partition_to_system_disk): Move to ...
10361 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10362 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10363 * util/getroot.c (device_is_wholedisk): ... here.
10364 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10365 * util/getroot.c (find_system_device): ... here.
10366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10367 Move to ...
10368 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10370 Move to ...
10371 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10372 Handle LDM.
10373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10374 Move to ...
10375 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10376 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10377 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10378 DISKFILTER.
10379 * include/grub/raid.h: Renamed to ...
10380 * include/grub/diskfilter.h: ... this.
10381 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10382 (GRUB_RAID_LAYOUT_*): Make into array.
10383 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10384 (grub_diskfilter_vg): New struct.
10385 (grub_diskfilter_pv_id): Likewise.
10386 (grub_raid_member): Removed.
10387 (grub_raid_array): Likewise.
10388 (grub_diskfilter_pv): New struct.
10389 (grub_diskfilter_lv): Likewise.
10390 (grub_diskfilter_segment): Likewise.
10391 (grub_diskfilter_node): Likewise.
10392 (grub_diskfilter_get_vg_by_uuid): New proto.
10393 (grub_raid_register): Inline.
10394 (grub_diskfilter_unregister): Likewise.
10395 (grub_diskfilter_make_raid): New proto.
10396 (grub_diskfilter_vg_register): Likewise.
10397 (grub_diskfilter_read_node): Likewise.
10398 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10399 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10400 (grub_util_is_ldm): Likewise.
10401 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10402 (grub_hostdisk_find_partition_start): Likewise.
10403 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10404 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10405 New definition.
10406 (grub_gpt_partition_map_iterate): New proto.
10407 * include/grub/lvm.h (grub_lvm_vg): Removed.
10408 (grub_lvm_pv): Likewise.
10409 (grub_lvm_lv): Likewise.
10410 (grub_lvm_segment): Likewise.
10411 (grub_lvm_node): Likewise.
10412 * util/getroot.c [...]
10413 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10414 (probe_abstraction): Likewise.
10415 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10416 (main): Remove dead logic.
10417
8a7f9b9c
VS
104182012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Simplify root device discover and don't fail when trying to open
10421 incorrect devices.
10422
10423 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10424 function.
10425 (get_diskname_from_path): Likewise.
10426 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10427 of iterating.
10428
30545b85
VS
104292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10432
28ea58cf
VS
104332012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10436 pastthe end.
10437
692dabca
VS
104382012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * util/grub-install.in: Add missing \.
10441 Reported by: gentoofan
10442
f6e4ea70
VS
104432012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10446 (direct_read): Use correct compressed size.
10447 (grub_squash_read_data): Likewise.
10448
104492012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10450
10451 * docs/grub.texi (Platform limitations): New section.
10452 (Platform-specific operations): Likewise.
10453 * docs/grub-dev.texi (Porting): Likewise.
10454
76261110
VS
104552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 IEEE1275 disk write support.
10458
10459 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10460 const void *.
10461 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10462 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10463 and seek loginc to ...
10464 (grub_ofdisk_prepare): ... here.
10465 (grub_ofdisk_write): Implement.
10466
fc36d603
VS
104672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 ARC disk write support.
10470
10471 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10472 (reopen): New argument writable. All users updated.
10473 Handle required access mode.
10474 (grub_arcdisk_write): Implement.
10475 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10476 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10477
e06c2e7a
VS
104782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10481 (read_sblock): Don't attempt to read superblocks outside the disk size.
10482
ff447958
VS
104832012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10486 first superblock to find the second one when possible.
10487
9e88df39
VS
104882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * util/grub-install.in: Fix an ARC bug.
10491 Print a warning if no platform-specific setup is available.
10492
bb26e4ff
VS
104932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 Use static allocation rather than scratch pointer in reed_solomon.
10496 It decreases its size significantly and avoids a variable in .text.
10497
10498 * grub-core/lib/reed_solomon.c (scratch): Removed.
10499 (chosenstat): New const or static array.
10500 (sigma): Likewise.
10501 (errpot): Likewise.
10502 (errpos): Likewise.
10503 (sy): Likewise.
10504 (mstat): Likewise.
10505 (errvals): Likewise.
10506 (eqstat): Likewise.
10507 (pol_evaluate): Replace x with log_x argument. All users updated.
10508 (syndroms): Removed.
10509 (gauss_solve): Use statically allocated arrays.
10510 (rs_recover): Likewise.
10511 Calculate syndroms directly.
10512 (decode_block): Use statically allocated arrays.
10513 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10514 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10515
2e13ede5
VS
105162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Eliminate fixed limit on reed solomon decoder length.
10519
10520 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10521 rather than hardcoding the address.
10522 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10523 no_reed_solomon_length.
10524 Move gate_a20 to no-reed-solomon part.
10525 Don't force a particular size of no reed-solomon part.
10526 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10527 Removed.
10528 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10529 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10530
f8a9ab12
VS
105312012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/commands/wildcard.c (match_files): Handle filenames
10534 without explicit device.
10535 (wildcard_expand): Don't add explicit device if not already present.
10536 * tests/grub_script_echo1.in: Add a new expansion test.
10537
87edb894
VS
105382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Replace single-linked with double-linked lists. It results in more
10541 compact and more efficient code.
10542
10543 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10544 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10545 (grub_list_remove): Moved from here ...
10546 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10547 (grub_prio_list_insert): Set prev.
10548 * include/grub/list.h (grub_list): Add prev. All users updated.
10549
48b391e9
VS
105502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 Handle newer autotools. Add some missing quotes while on it.
10553
10554 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10555 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10556 (pkgdata_DATA): ... here.
10557 * Makefile.util.def (update-grub_lib): Removed.
10558 * conf/Makefile.common (pkglib_DATA): Removed.
10559 (pkglib_SCRIPTS): Likewise.
10560 (pkgdata_DATA): New variable.
10561 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10562 needed.
10563 Add missing quotes.
10564 Remove unused variable while on it.
10565 * tests/util/grub-shell.in: Likewise.
10566 * util/grub-install.in: Likewise.
10567 * util/grub-mkconfig.in: Likewise.
10568 * util/grub-mknetdir.in: Likewise.
10569 * util/grub-mkrescue.in: Likewise.
10570 * util/grub-mkstandalone.in: Likewise.
10571 * util/grub.d/00_header.in: Likewise.
10572 * util/grub.d/10_hurd.in: Likewise.
10573 * util/grub.d/10_illumos.in: Likewise.
10574 * util/grub.d/10_kfreebsd.in: Likewise.
10575 * util/grub.d/10_linux.in: Likewise.
10576 * util/grub.d/10_netbsd.in: Likewise.
10577 * util/grub.d/10_windows.in: Likewise.
10578 * util/grub.d/20_linux_xen.in: Likewise.
10579 * util/grub.d/30_os-prober.in: Likewise.
10580 * util/update-grub_lib.in: Removed.
10581
105822012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10583
10584 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10585 a workaround for intel problem.
10586
66832792
PRP
105872012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
105882012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
105892012-01-23 pfsmorigo
10590
10591 * util/grub-install.in: Support dd'in into PreP partition.
10592 * util/grub-probe.c (probe): Support discovering partition type.
10593 (main): Support -t msdos_parttype.
10594
7816a17e
VS
105952012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10598 infinite recursion using counter.
10599 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10600 init to skip it if the magic check fails.
10601 (dec_stream_header): Init s->crc32.
10602
8f9d3a8c
ZB
106032012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
106042012-01-22 Zachary Bedell <pendorbound@gmail.com>
106052012-01-22 Richard Laager <rlaager@wiktel.com>
10606
10607 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10608 All users updated.
10609 (find_bestub): Determine correct size.
10610 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10611 (scan_disk): Align the size down.
10612 Call check pool before find_bestub to have ashift.
10613
b055dd32
VS
106142012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10617 dprintf in no-malloc zone.
10618
d779e9bd
ML
106192012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10620
10621 * configure.ac: Add back in test for limits.h.
10622
b508af69
VS
106232012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Support 4K-sector NTFS.
10626
10627 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10628 (grub_ntfs_data): Remove blocksize.
10629 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10630 Remove data argument. All users updated.
10631
dad9c8b5
VS
106322012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10635 being in .text to avoid dprel references.
10636 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10637 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10638 (grub_arch_highmemsize): Likewise.
10639 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10640 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10641 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10642
d43a777e
VS
106432012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10646
10647 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10648 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10649
34e4208f
VS
106502012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10653 GRUB_UTIL.
10654 (grub_set_datetime_cmos): Likewise.
10655
3ec0fc1c
VS
106562012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 Make XZ compression parameters dependent on target and not host CPU.
10659
10660 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10661 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10662
22489834
VS
106632012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10666 set but not used variable.
10667
8502fbca
VS
106682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10671 created when no uuid support is compiled into mkfs.reiser.
10672
76df2068
VS
106732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10676 (utf8_to_macroman): Do the opposite.
10677 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10678
64e3f8f6
VS
106792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * configure.ac: Refise build qemu_mips w/o unifont.
10682
9c271078
VS
106832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Eliminate grub_min/grub_max prone to overflow usage.
10686
10687 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10688 (poll_nonroot_hub): Likewise.
10689 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10690 (grub_affs_label): Likewise.
10691 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10692 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10693 (grub_hfs_label): Likewise.
10694 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10695 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10696 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10697 (zap_leaf_array_get): Likewise.
10698 (dnode_get_path): Likewise.
10699 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10700 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10701 * grub-core/script/execute.c (grub_script_break): Likewise.
10702 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10703 grub_max.
10704 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10705 * include/grub/misc.h (grub_min): Removed.
10706 (grub_max): Likewise.
10707
80662dbc
VS
107082012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10709
10710 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10711 direct.inode = 0.
10712
e6da1467
VS
107132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10716
b1ac4cb1
VS
107172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10720
b4bf7c3b
VS
107212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10724 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10725
8ee1101a
VS
107262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10729 rather than a hack for grub_strncasemap.
10730
107312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 Support multiple initrds
10734 Note: part of this was accidently committed in r3739.
10735
10736 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10737 initrd.
10738 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10739 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10740 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10741 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10742 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10743
4d1e2bc9
VS
107442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10747 disks with unknown size.
10748 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10749
75b49ebe
VS
107502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Remove defines pertaining to arbitrary limits not affecting GRUB
10753 anymore.
10754
10755 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10756 (EXT2_MAX_SYMLINKCNT): Likewise.
10757 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10758 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10759 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10760 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10761 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10762 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10763 (DN_MAX_OBJECT_SHIFT): Likewise.
10764 (DN_MAX_OFFSET_SHIFT): Likewise.
10765 (DN_MAX_OBJECT): Likewise.
10766 (DNODES_PER_LEVEL_SHIFT): Likewise.
10767 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10768 (SPA_MAXBLOCKSIZE): Likewise.
10769 (SPA_BLOCKSIZES): Likewise.
10770 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10771 (MZAP_MAX_BLKSZ): Likewise.
10772
74a1dce7
VS
107732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10776 handle NULL appropriately.
10777 Remove MIN.
10778
30c7d3ce
VS
107792012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 Fix efiemu.
10782
10783 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10784 cpu/types.h.
10785 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10786 * configure.ac: Fix efiemu check.
10787
3c76ea0c
VS
107882012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10791 grub_probe.
10792 Reported by: adamwill
10793
7e532280
SG
107942012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10795
10796 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10797
30492374
VS
107982012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 Fix handling of wide characters in gfxterm.
10801
10802 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10803 (clear_char): Likewise.
10804 (paint_char): Skip code == NULL chars.
10805 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10806
e70cb72f
VS
108072012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * grub-core/normal/charset.c: Move comment to right place.
10810
5c827cf9
VS
108112012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10814 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10815 (grub_affs_mount): Revert the correct version checking.
10816
53603892
VS
108172012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * docs/grub.texi (Unicode): Mention several other unsupported features.
10820
ff094b9b
VS
108212011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10824 case statements as compile-time one.
10825 (direct_read): Prevent spurious warnings.
10826 (grub_squash_read_data): Likewise.
10827
c029da8a
VS
108282011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Various squash4 fixes and LZO and XZ support.
10831
10832 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10833 Add xzembed source files.
10834 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10835 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10836 (grub_squash_inode): New subtype long_dir.
10837 (SQUASH_TYPE_LONG_DIR): New inode type.
10838 (COMPRESSION): New enum.
10839 (XZBUFSIZ): New const.
10840 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10841 (read_chunk): Use data->decompress.
10842 (zlib_decompress): New function.
10843 (lzo_decompress): Likewise.
10844 (xz_decompress): Likewise.
10845 (squash_mount): Set new data fields.
10846 (grub_squash_iterate_dir): Handle long dir.
10847 (squash_unmount): Free xzdec and xzbuf.
10848 (grub_squash_open): Check ino type.
10849 (direct_read): Stylistic fixes. Use data->decompress.
10850 (grub_squash_read_data): Likewise.
10851 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10852 (get_byte): Likewise.
10853 (grub_zlib_disk_read): Removed.
10854 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10855 (GRUB_POSIX_BOOL_DEFINED): New define.
10856 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10857 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10858 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10859 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10860
7a45a539
VS
108612011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 Don't override more informative errors.
10864
10865 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10866 * grub-core/font/font.c (open_section): Likewise.
10867 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10868 filename. Don't override errors.
10869 (grub_cmd_openbsd_ramdisk): Don't override errors.
10870 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10871 (grub_cmd_initrd): Likewise.
10872 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10873 (grub_cmd_initrd): Likewise.
10874 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10875 (grub_cmd_linux): Likewise.
10876 (grub_cmd_initrd): Likewise.
10877 (grub_cmd_payload): Likewise.
10878 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10879 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10880 (grub_cmd_module): Likewise.
10881 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10882 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10883 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10884 (grub_cmd_xnu_mkext): Likewise.
10885 (grub_cmd_xnu_ramdisk): Likewise.
10886 (grub_xnu_check_os_bundle_required): Likewise.
10887 (grub_xnu_load_kext_from_dir): Likewise.
10888 (grub_cmd_xnu_kextdir): Likewise.
10889 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10890
b2d004db
VS
108912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10894 as 1024 in block size field. Found on one of my test images.
10895 Small optimisation while on it.
10896
ec000eac
VS
108972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10900 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10901 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10902 performance fixes while on it.
10903 (grub_sfs_close): Fix memory leak while on it.
10904 (grub_sfs_label): Convert Latin1 to UTF-8.
10905
f50e1165
VS
109062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10909 space to avoid overflows.
10910 (grub_hfs_label): Convert from macroman to UTF-8.
10911
2ae254de
VS
109122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10915
0108f491
VS
109162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10919
f45f5f89
VS
109202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * unicode: Import Unicode 6.0 data.
10923
4d8c4765
VS
109242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10925
63fa8ef9
VS
10926 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10927 outside of range.
10928
109292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10932
10933 * include/grub/charset.h (grub_getend): New function.
10934 * grub-core/script/function.c (grub_script_function_find): Use
10935 grub_getend.
10936 * grub-core/normal/completion.c (add_completion): Likewise.
10937
f3cb4a4e
VS
109382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10941 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10942 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10943 (GRUB_UNICODE_TAG_END): Likewise.
10944 (GRUB_UNICODE_LAST_VALID): Likewise.
10945
5da8dbc5
VS
109462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10949 len and make it smaller. All users updated.
10950 * util/import_unicode.py: Put length and not end character.
10951 Check length.
10952
8569f13d
VS
109532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Make better Unicode-compliant and unify some UTF-8 code pathes.
10956
10957 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10958 valid character.
10959 (grub_is_valid_utf8): Use grub_utf8_process.
10960 Check resulting code range.
10961 (grub_utf8_to_ucs4): Use grub_utf8_process.
10962 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10963 valid character.
10964
cc4fddf5
VS
109652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10968
bbc47747
VS
109692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * docs/grub.texi (Filesystems): Mention AFS.
10972
f63d6bf4
VS
109732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * docs/grub.texi (Filesystems): Clarify restrictions.
10976 (Regexp): Mention non-Unicode regexp behaviour.
10977 (Other): Mention non-Unicode matching behaviour.
10978
74bbf0db
VS
109792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10980
f63d6bf4 10981 Make HFS implementation use MacRoman.
74bbf0db
VS
10982
10983 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10984 (macroman): New const array.
10985 (macroman_to_utf8): New function.
10986 (utf8_to_macroman): Likewise.
10987 (grub_hfs_find_dir): Use utf8_to_macroman.
10988 (grub_hfs_dir): Use macroman_to_utf8.
10989 Set case_insensitive.
10990
4ea0316e
VS
109912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10994
d3c13cbd
VS
109952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 Integrate hints into autogeneration scripts.
10998
10999 * docs/grub.texi (Filesystems): Add a hostdisk example.
11000 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11001 (grub-probe): Add ofpath.
11002 * gentpl.py: Remove group nosparc64.
11003 * grub-core/commands/search.c (cache_entry): New struct.
11004 (cache): New var.
11005 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11006 * grub-core/commands/search_wrap.c (options): Add platform-specific
11007 hint options.
11008 (grub_cmd_search): Handle platform-specific hints.
11009 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11010 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11011 (grub_util_biosdisk_data): Likewise.
11012 (grub_util_biosdisk_open): Set device_map.
11013 (read_device_map): Handle "" as indication of no map.
11014 Set device_map.
11015 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11016 (grub_util_biosdisk_get_compatibility_hint): New function.
11017 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11018 * include/grub/emu/hostdisk.h
11019 (grub_util_biosdisk_get_compatibility_hint): New proto.
11020 * util/grub-install.in: Don't call grub-mkdevicemap.
11021 Add platform-specific hint to load.cfg.
11022 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11023 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11024 hints. Set root preliminary to compatibility hint, not to OS name.
11025 * util/grub-probe.c (PRINT_*): Add hints.
11026 (print): Make static.
11027 (escape_of_path): New function.
11028 (guess_bios_drive): Likewise.
11029 (guess_efi_drive): Likewise.
11030 (guess_baremetal_drive): Likewise.
11031 (print_full_name): Likewise.
11032 (probe): Handle hints.
11033 (main): Likewise.
11034 * util/ieee1275/devicemap.c: Removed.
11035 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11036 updated.
11037 (grub_util_devname_to_ofpath): Return NULL on failure.
11038
11039 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11040 resource leak.
11041 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11042
11043 * po/POTFILES.in: Regenerated.
11044
11045 Allow purely long options
11046
11047 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11048 (SHORT_ARG_USAGE): Likewise.
11049 (grub_arg_show_help): Compare opt with help_options.
11050 (parse_option): Receive opt as argument. If makes big simplificatons.
11051 All users updated
11052
00ce2df3
VS
110532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11056 Restructure to avoid warning.
11057
e77e325f
VS
110582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * util/grub-install.in: Account for possible escaped comma in device
11061 name.
11062
165099ea
VS
110632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11066 channel.
11067
ce4a999d
VS
110682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11071 allocation and zero-setting.
11072 (grub_ieee1275_get_devname): Check that alias is complete.
11073
379586ad
VS
110742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11077 unaligned segments.
11078
9197b0ad
VS
110792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11082 prefix.
11083 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11084 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11085 Add ieee1275 prefix.
11086
edddb7f9
VS
110872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * docs/grub.texi (Filesystems): Update.
11090
a1a8b1b9
VS
110912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 Support odc, newc and bigendian cpio formats.
11094
11095 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11096 * grub-core/Makefile.core.def (newc): New module.
11097 (odc): Likewise.
11098 (cpio_be): Likewise.
11099 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11100 (MAGIC): Likewise.
11101 (MAGIC2): Likewise.
11102 (head) [MODE_ODC]: Adapt for the format.
11103 (head) [MODE_NEWC]: Likewise.
11104 (head) [!MODE_*]: Write fields of interest as arrays.
11105 (MAGIC_USTAR): Removed.
11106 (read_number) [MODE_NEWC]: Change to hex.
11107 (read_number) [!MODE_*]: Parse binary arrays.
11108 (grub_cpio_find_file): Factor out the code for better structure and
11109 always use read_number.
11110 (grub_cpio_mount): Use MAGIC and MAGIC2.
11111 (grub_cpio_dir): Exit on first hook non-0 return.
11112 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11113 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11114 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11115 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11116 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11117 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11118 * grub-core/fs/newc.c: New file.
11119 * grub-core/fs/odc.c: Likewise.
11120 * grub-core/fs/cpio_be.c: Likewise.
11121
58eba9ee
VS
111222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 Fix handling of tar numbers occupying the whole field.
11125
11126 * grub-core/fs/cpio.c (read_number): New function.
11127 (grub_cpio_find_file): Use read_number instead of strtoull.
11128
a54a0e12
VS
111292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11132 occupying the whole field size.
11133
a6120aca
LA
111342011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11135
11136 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11137
a93964ce
VS
111382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11141
3ea1ca46
SG
111422011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11143
11144 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11145 TARGET_IMG_LDFLAGS.
11146
b87f7ef2
VS
111472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11150 (mountinfo_entry): Increase the field size to take escaping into
11151 account.
11152 (find_root_device_from_libzfs): Add one byte to size of strings for
11153 security.
11154
62092395
VS
111552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11158 an assert.
11159 * util/grub-setup.c (setup): Likewise.
11160
1f0b1a77
VS
111612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11164 _LzmaDecodeA.
11165
8eba9997
VS
111662011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * docs/grub.texi (Internationalisation): New section.
11169
dd0c91e9
VS
111702011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * docs/grub.texi (Loopback booting): New section.
11173
111742011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11175
11176 * util/grub-mkstandalone.in: Fix minor typo errors.
11177
198e150a
VS
111782011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11181
11182 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11183 net/icmp.c and net/icmp6.c.
11184 (http): New module.
11185 (priority_queue): Likewise.
11186 * grub-core/io/bufio.c: Rewritten.
11187 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11188 TYPE_WITH_CONFIGFILE_OPTION.
11189 (legacy_commands): Add bootp and dhcp.
11190 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11191 (grub_legacy_parse): Likewise.
11192 * grub-core/lib/priority_queue.c: New file.
11193 * grub-core/net/arp.c: Add missing license header.
11194 (arp_find_entry): Removed.
11195 (arp_find_entry): Likewise.
11196 (grub_net_arp_resolve): Rename to ...
11197 (grub_net_arp_send_request): ...this.
11198 (grub_net_arp_receive): New card argument.
11199 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11200 Set router and DNS server.
11201 (grub_net_configure_by_dhcp_ack): Handle routing information.
11202 (grub_cmd_bootp): Set checksum.
11203 (grub_bootp_init): Remove net_dhcp.
11204 * grub-core/net/dns.c: New file.
11205 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11206 completion.
11207 (get_card_packet): Handle allocation.
11208 (grub_efinet_findcards): Set mtu.
11209 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11210 (get_card_packet): Handle allocation.
11211 (emucard): Set mtu.
11212 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11213 (GRUB_MOD_INIT): Set mtu.
11214 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11215 mtu.
11216 (get_card_packet): Handle allocation.
11217 (grub_ofnet_findcards): Set mtu.
11218 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11219 assert.
11220 (grub_net_recv_ethernet_packet): Handle IPv6.
11221 * grub-core/net/http.c: New file.
11222 * grub-core/net/icmp.c: Likewise.
11223 * grub-core/net/icmp6.c: Likewise.
11224 * grub-core/net/ip.c (ip6addr): New type.
11225 (ip6hdr): Likewise.
11226 (reassemble): Likewise.
11227 (cmp): New function.
11228 (reassembles): New variable.
11229 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11230 (id): New variable.
11231 (send_fragmented): New function.
11232 (grub_net_send_ip_packet): Rename to ...
11233 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11234 Handle non-UDP.
11235 (grub_net_recv_ip_packets): Rename to ...
11236 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11237 (free_rsm): New function.
11238 (free_old_fragments): Likewise.
11239 (grub_net_recv_ip4_packets): New function.
11240 (grub_net_send_ip6_packet): Likewise.
11241 (grub_net_send_ip_packet): Likewise.
11242 (grub_net_recv_ip6_packets): Likewise.
11243 (grub_net_recv_ip_packets): Likewise.
11244 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11245 (LINK_LAYER_CACHE_SIZE): New const.
11246 (link_layer_find_entry): New function.
11247 (grub_net_link_layer_add_address): Likewise.
11248 (grub_net_link_layer_resolve_check): Likewise.
11249 (grub_net_link_layer_resolve): Likewise.
11250 (grub_net_ipv6_get_slaac): Likewise.
11251 (grub_net_ipv6_get_link_local): Likewise.
11252 (grub_cmd_ipv6_autoconf): Likewise.
11253 (parse_ip): Handle one number representation.
11254 (parse_ip6): New functoion.
11255 (match_net): Handle IPv6.
11256 (grub_net_resolve_address): Handle IPv6 and DNS.
11257 (grub_net_resolve_net_address): Handle IPv6.
11258 (route_cmp): New function.
11259 (grub_net_route_address): Find best route.
11260 (grub_net_addr_to_str): Handle IPv6.
11261 (grub_net_addr_cmp): New function.
11262 (grub_net_add_addr): Register local route.
11263 (print_net_address): Handle net address.
11264 (grub_net_poll_cards): Retransmit TCP.
11265 (grub_net_poll_cards_idle_real): Likewise.
11266 (have_ahead): New function.
11267 (grub_net_seek_real): Use underlying seek.
11268 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11269 * grub-core/net/tcp.c: New file.
11270 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11271 (cmp): New function.
11272 (ack): Likewise.
11273 (tftp_receive): Handle unordered input.
11274 (destroy_pq): New function.
11275 (tftp_close): Close pq.
11276 * grub-core/net/udp.c: Put missing license header.
11277 (grub_net_udp_socket): New function.
11278 (udp_socket_register): Likewise.
11279 (grub_net_udp_close): Likewise.
11280 (grub_net_recv_udp_packet): Check checksum.
11281 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11282 * include/grub/misc.h (grub_memchr): New function.
11283 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11284 (grub_net_card_driver): Return buf in recv.
11285 (grub_net_slaac_mac_list): New struct.
11286 (grub_network_level_protocol_id): Add ipv6.
11287 (grub_net_network_level_addr): Likewise.
11288 (grub_net_network_level_net_addr): Likewise.
11289 (grub_net_app_protocol): Add seek.
11290 (grub_net_socket): Removed.
11291 (grub_net_sockets): Likewise.
11292 (grub_net_socket_register): Likewise.
11293 (grub_net_socket_unregister): Likewise.
11294 (FOR_NET_SOCKETS): Likewise.
11295 (grub_net_add_addr): Add const.
11296 (GRUB_NET_BOOTP_*): New enum.
11297 (grub_net_addr_cmp): New proto.
11298 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11299 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11300 (grub_net_hwaddr_to_str): NEw proto.
11301 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11302 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11303 (grub_dns_init): New proto.
11304 (grub_dns_fini): Likewise.
11305 (grub_net_tcp_retransmit): Likewise.
11306 (grub_net_link_layer_add_address): Likewise.
11307 (grub_net_link_layer_resolve_check): Likewise.
11308 (grub_net_link_layer_resolve): Likewise.
11309 (grub_net_dns_lookup): Likewise.
11310 (grub_net_add_dns_server): Likewise.
11311 (grub_net_remove_dns_server): Likewise.
11312 (GRUB_NET_TRIES): New const.
11313 (GRUB_NET_INTERVAL): Likewise.
11314 * include/grub/net/arp.h: Mostly rewritten.
11315 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11316 * include/grub/net/ip.h: Mostly rewritten.
11317 * include/grub/net/netbuff.h: Indent.
11318 * include/grub/net/tcp.h: New file.
11319 * include/grub/net/udp.h: Mostly rewritten.
11320 * include/grub/priority_queue.h: New file.
11321 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11322 (grub_swap_bytes64_compile_time): Likewise.
11323 (grub_cpu_to_be16_compile_time): Likewise.
11324 (grub_cpu_to_be32_compile_time): Likewise.
11325 (grub_cpu_to_be64_compile_time): Likewise.
11326 (grub_be_to_cpu64_compile_time): Likewise.
11327
215c1800
VS
113282011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11331 UINT_TO_PTR with cast.
11332
c17e546c
VS
113332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11336 don't use them.
11337
ff6b18b6
VS
113382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11341 already there.
11342
70ffcc93
VS
113432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11346 confusing ipxe.
11347
e5f4d260
VS
113482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11351 Add missing const attribute.
11352 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11353 Likewise.
11354 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11355 Likewise.
11356
8e54b4b7
VS
113572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11360 misaligned access.
11361 (serpent_setkey): Likewise.
11362 (serpent_encrypt_internal): Likewise.
11363 (serpent_decrypt_internal): Likewise.
11364 (serpent_encrypt): Don't put an alignment-increasing cast.
11365 (serpent_decrypt): Likewise.
11366 (serpent_test): Likewise.
11367
813c0a2b
VS
113682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11371
f2b60fbd
VS
113722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11375
11376 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11377 grub_addr_t casts.
11378 (PTR_TO_UINT64): Likewise.
11379 (PTR_TO_UINT32): Likewise.
11380
5ef5c511
VS
113812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11384 because of stack.
11385 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11386 limit.
11387
c476e6df
VS
113882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11391 text_width > available width a bit more gracefully.
11392
384ad7cc
VS
113932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11396 current address calculation.
11397
96f8caf8
VS
113982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11401 stack.
11402 (encode_block): Likewise.
11403
276b7a8b
VS
114042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11407 certainety.
11408
e3fd394a
VS
114092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11412 non-RS part to avoid RS messing with GDT.
11413 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11414 Increase to suit in realmode routines.
11415
114162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 * grub-core/kern/i386/realmode.S: Increase alignment.
11419 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11420
ee9c2e7a
VS
114212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11424 be deterministic.
11425 (syndroms): Compute 0 syndrom.
11426 (rs_recover): Use 0 syndrom.
11427
7a7f7cc9
VS
114282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11431
a14b16d1
VS
114322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11435 brackets.
11436
9f59e9fc
VS
114372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11438
ca1b552c
VS
11439 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11440 account.
11441 (get_top_pad): Likewise.
11442 (get_right_pad): Likewise.
11443 (get_bottom_pad): Likewise.
11444
114452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11448
e739d698
VS
114492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11452 attribute as the structure isn't guaranteed to be properly aligned.
11453 (grub_efi_pci_device_path): Likewise.
11454 (grub_efi_pccard_device_path): Likewise.
11455 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11456 specify the size of `memory_type'.
11457 (grub_efi_vendor_device_path): Likewise.
11458 (grub_efi_controller_device_path): Likewise.
11459 (grub_efi_acpi_device_path): Likewise.
11460 (grub_efi_expanded_acpi_device_path): Likewise.
11461 (grub_efi_atapi_device_path): Likewise.
11462 (grub_efi_scsi_device_path): Likewise.
11463 (grub_efi_fibre_channel_device_path): Likewise.
11464 (grub_efi_1394_device_path): Likewise.
11465 (grub_efi_usb_device_path): Likewise.
11466 (grub_efi_usb_class_device_path): Likewise.
11467 (grub_efi_i2o_device_path): Likewise.
11468 (grub_efi_mac_address_device_path): Likewise.
11469 (grub_efi_ipv4_device_path): Likewise.
11470 (grub_efi_ipv6_device_path): Likewise.
11471 (grub_efi_infiniband_device_path): Likewise.
11472 (grub_efi_uart_device_path): Likewise.
11473 (grub_efi_vendor_messaging_device_path): Likewise.
11474 (grub_efi_hard_drive_device_path): Likewise.
11475 (grub_efi_cdrom_device_path): Likewise.
11476 (grub_efi_vendor_media_device_path): Likewise.
11477 (grub_efi_file_path_device_path): Likewise.
11478 (grub_efi_protocol_device_path): Likewise.
11479 (grub_efi_piwg_device_path): Likewise.
11480 (grub_efi_bios_device_path): Likewise.
11481
cb8f88ea
VS
114822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11485 (grub_ucs4_to_utf8_alloc): Likewise.
11486 (grub_ucs4_to_utf8): Likewise.
11487 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11488 (grub_ucs4_to_utf8_alloc): Likewise.
11489
309e5352
VS
114902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 AFFS never uses unicode.
11493
11494 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11495 (grub_latin1_to_utf8): New inline function.
11496 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11497
e7987e1b
VS
114982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11501 overflow.
11502
efc2616e
VS
115032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11506 (grub_squash_dirent_header): Likewise.
11507 (read_chunk): Don't double swap.
11508 (grub_squash_iterate_dir): Fix swap sizes.
11509
3c349f5a
VS
115102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11513
b453412d
VS
115142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11517 (grub_hfs_iterate_dir): Likewise.
11518
12e9d4d1
VS
115192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Fix video on platforms where unaligned access is forbidden.
11522 Make several optimisations while on it.
11523
11524 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11525 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11526 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11527 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11528 Disable.
11529 (grub_video_fbblit_replace_16bit_1bit):
11530 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11531 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11532 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11533 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11534 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11535 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11536 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11537 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11538 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11539 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11540 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11541 (grub_video_fbblit_replace_index_RGB888): Likewise.
11542 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11543 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11544 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11545 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11546 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11547 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11548 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11549 Disable.
11550 (grub_video_fbblit_blend_XXX565_1bit):
11551 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11552 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11553 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11554 void *.
11555 * grub-core/video/fb/video_fb.c (common_blitter)
11556 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11557 (grub_video_fb_create_render_target_from_pointer)
11558 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11559 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11560 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11561 definition.
11562 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11563
ace96609
VS
115642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11567 HH22 and HM10 relocations.
11568
fd261d73
VS
115692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11572
e59b7857
VS
115732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11576 allocation succeeded.
11577
9b4baaa4
VS
115782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11581 argument a u8 pointer. All users updated.
11582 Handle unaligned buffers.
11583
dc713193
VS
115842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11587 add_part to workaround compiler bug.
11588
30dd48c2
VS
115892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11592
0c6087a8
VS
115932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11596 Reserve alignment invariants.
11597 (grub_multiboot_load): Likewise.
11598 (retrieve_video_parameters): Likewise.
11599 (grub_multiboot_make_mbi): Likewise.
11600
c2e77777
VS
116012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11604 incorrect pointer.
11605
b70b6d11
VS
116062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11609 (grub_pata_pio_write): Likewise.
11610
02a2bf83
VS
116112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 Add noreturn attributes and remove unreachable code.
11614
11615 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11616 code.
11617 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11618 code. Mark as noreturn.
11619 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11620 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11621 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11622 unreachable code.
11623 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11624 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11625 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11626 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11627 * include/grub/kernel.h (grub_main): Mark as noreturn.
11628 * include/grub/reader.h (grub_rescue_run): Likewise.
11629
2019d09e
VS
116302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11633 redundant declaration.
11634
d1c501ee
VS
116352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11638 redundant declaration.
11639 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11640
61664420
VS
116412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11644 to ensure alignment.
11645 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11646 alignment. Ensure tmp alignment.
11647 (grub_cmd_hdparm): Ensure buf alignment.
11648 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11649 to ensure alignment.
11650 (grub_ata_dumpinfo): Ensure text alignment.
11651 (grub_atapi_identify): Preserve alignment invariant.
11652 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11653
0d51ee20
VS
116542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11657 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11658 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11659 * include/grub/misc.h (grub_reboot)
11660 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11661 (grub_halt) [__mips__]: Likewise.
11662
753ef8c1
VS
116632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11666 Remove redundant declaration.
11667 (grub_mmap_get_post64): Likewise.
11668 (grub_mmap_get_upper): Likewise.
11669 (grub_mmap_get_lower): Likewise.
11670
85c85365
VS
116712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11674 uint32_t * to ensure alignment.
11675 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11676
a23f2cc4
VS
116772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11678
93018f64
VS
11679 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11680 uint16_t * to ensure alignment.
11681 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11682 alignment.
11683
116842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11687 to ensure alignment.
11688 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11689
58acccd6
VS
116902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11693 Handle unaligned pointers.
11694 (u32at): Likewise.
11695 (u64at): Likewise.
11696 (fixup): Use byte access instead of v16at.
11697 (find_attr): Fix imporper usage of v32at.
11698 (read_data): Likewise.
11699 (list_file): Handle byte-swapping and unaligned strings.
11700 (grub_ntfs_label): Likewise.
11701
9b05cad7
VS
117022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11705 as it's not necessarily aligned.
11706
b3950b84
VS
117072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11710 redundant declaration.
11711 (grub_serial_init): Likewise.
11712 (grub_terminfo_init): Likewise.
11713
fcd232b7
VS
117142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11717 function.
11718 (ZAP_HASH_IDX): Likewise.
11719 (ZAP_LEAF_HASH_SHIFT): Likewise.
11720 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11721 (LEAF_HASH): Likewise.
11722 (ZAP_LEAF_NUMCHUNKS): Likewise.
11723 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11724 alignment invariants. Return pointer. All users updated.
11725 (ZAP_LEAF_ENTRY): Make into inline function.
11726 (NBBY): Removed.
11727 (xor): LIkewise.
11728 (xor_out): Use grub_crypto_xor.
11729 (dnode_get_path): Use grub_get_unaligned.
11730 (nvlist_find_value): Likewise.
11731 (grub_zfs_nvlist_lookup_uint64): Likewise.
11732 (grub_zfs_nvlist_lookup_string): Likewise.
11733 (get_nvlist_size): Likewise.
11734 (grub_zfs_open): Likewise.
11735 (fill_fs_info): Likewise.
11736 (grub_zfs_dir): Likewise.
11737 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11738 alignment invariants.
11739 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11740 necessarily aligned.
11741
f138623a
VS
117422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11745
564840dc
VS
117462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11749 arithmetic to conserve alignment invariants.
11750
9b40df20
VS
117512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11754 redundant declaration.
11755 (grub_efiemu_mm_obtain_request): Likewise.
11756 (grub_efiemu_prepare): Likewise.
11757
d1c930f9
VS
117582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11761 to match types.
11762
4c5f3056
VS
117632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11766 case of aunaligned recptr.
11767 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11768 alignment.
11769 (grub_hfsplus_btree_search): Handle unaligned index.
11770
728cba91
VS
117712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11774 to get freetag and skip.
11775
eb561f31
VS
117762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11779 array.
11780 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11781 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11782
20993fbb
VS
117832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11786 name for checksum and fix allocation algorithm.
11787
1f313b94
VS
117882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * include/grub/types.h (grub_properly_aligned_t): New type.
11791 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11792 (grub_get_unaligned16): Add explicit casts.
11793 (grub_get_unaligned32): Likewise.
11794 (grub_get_unaligned64): Likewise.
11795 (grub_set_unaligned16): New function.
11796 (grub_set_unaligned32): Likewise.
11797
47ae27ec
VS
117982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11801
78c2cd1c
VS
118022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11805 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11806 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11807
53072f9b
VS
118082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11811 conditionals.
11812
055dc239
VS
118132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11816 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11817
496bd074
VS
118182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 Unify and improve RAID and crypto xor.
11821
11822 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11823 changed to grub_crypto_xor
11824 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11825 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11826 Use bigger types when possible.
11827
ef6e4335
VS
118282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/disk/raid.c (scan_devices): Fix condition.
11831
5d048bf2
VS
118322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11835 Make name a const ptr.
11836
ee533335
VS
118372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11840 first argument a const pointer.
11841 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11842 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11843 proto.
11844 (grub_children_iterate): Likewise.
11845 (grub_machine_mmap_iterate): Remove redundant declaration.
11846
cc8f3668
VS
118472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11850 (grub_cmd_acpi) [!x86]: Disable EBDA.
11851
c5fc563a
VS
118522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 Enable UTF8 in gnulib regexp.
11855
11856 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11857 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11858 (isupper): Use grub_isupper.
11859 (isascii): New inline function.
11860 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11861 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11862 * grub-core/normal/charset.c (grub_utf8_process): New function.
11863 (grub_utf8_to_utf16): Use grub_utf8_process.
11864 (grub_encode_utf8_character): New function.
11865 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11866 * include/grub/charset.h (grub_utf8_process): New declaration.
11867 (grub_encode_utf8_character): Likewise.
11868 * include/grub/misc.h (grub_islower): New inline function.
11869 (grub_isupper): Likewise.
11870 (grub_strchrsub): Moved down to fix the definitions.
11871
0af2346f
VS
118722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11875 specification.
11876
74dbd244
VS
118772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * include/grub/loader.h (grub_loader_register_preboot_hook):
11880 Use struct preboot * and not void * for handle. All users updated.
11881 (grub_loader_unregister_preboot_hook): Likewise.
11882
1bc8f60d
VS
118832011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11886 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11887 UTF-16-BE. All users updated.
11888 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11889 (grub_hfsplus_iterate_dir): Likewise.
11890 (grub_hfsplus_label): Likewise.
11891
48d6e456
VS
118922011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11895
bf3a3857
VS
118962011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 Add missing const qualifiers.
11899
11900 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11901 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11902 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11903 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11904 (grub_lvm_check_flag): Likewise.
11905 * grub-core/efiemu/i386/coredetect.c
11906 (grub_efiemu_get_default_core_name): Likewise
11907 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11908 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11909 * grub-core/fs/ntfs.c (fixup): Likewise.
11910 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11911 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11912 (fzap_lookup): Likewise.
11913 (zap_lookup): Likewise.
11914 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11915 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11916 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11917 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11918 (grub_freebsd_add_meta_module): Likewise.
11919 (grub_cmd_freebsd_module): Likewise.
11920 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11921 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11922 (grub_xnu_writetree_get_size): Likewise.
11923 (grub_xnu_writetree_toheap_real): Likewise.
11924 (grub_xnu_find_key): Likewise.
11925 (grub_xnu_create_key): Likewise.
11926 (grub_xnu_create_value): Likewise.
11927 (grub_xnu_register_memory): Likewise.
11928 (grub_xnu_check_os_bundle_required): Likewise.
11929 (grub_xnu_scan_dir_for_kexts): Likewise.
11930 (grub_xnu_load_kext_from_dir): Likewise.
11931 * grub-core/normal/color.c (color_list): Likewise.
11932 * grub-core/normal/completion.c (current_word): Likewise.
11933 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11934 * grub-core/term/serial.c (grub_serial_find): Likewise.
11935 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11936 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11937 Likewise.
11938 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11939 (grub_freebsd_add_meta_module): Likewise.
11940 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11941 * include/grub/net.h (grub_net_card_driver): Likewise.
11942 (grub_net_card): Likewise.
11943 (grub_net_app_protocol): Likewise.
11944 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11945 * include/grub/serial.h (grub_serial_find): Likewise.
11946 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11947 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11948 (grub_xnu_create_value): Likewise.
11949 (grub_xnu_find_key): Likewise.
11950 (grub_xnu_scan_dir_for_kexts): Likewise.
11951 (grub_xnu_load_kext_from_dir): Likewise.
11952
11953 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11954 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11955 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11956 Moved from here ...
11957 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11958
112b4837
CW
119592011-11-28 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11962
49e891ac
VS
119632011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11966 (read_device): Fix size calculation.
11967
fd258e5c
RM
119682011-11-25 Robert Millan <rmh@gnu.org>
11969
11970 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11971 (find_root_device_from_libzfs): Add zpool output parser to be used
11972 as fallback when libzfs isn't available.
11973
78845dc2
SG
119742011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11975
11976 * po/Makefile.in.in: Add missing escape-continuation.
11977
adac5211
VS
119782011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11981
10b64f1c
VS
119822011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11985
bb416954
VS
119862011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11989
bdfe9eeb
VS
119902011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11993
581ffa8a
VS
119942011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/lib/adler32.c: Add missing license specification.
11997 * grub-core/lib/crc64.c: Likewise.
11998 * grub-core/loader/i386/pc/plan9.c: Likewise.
11999 * grub-core/partmap/plan.c: Likewise.
12000
2536cf64
LK
120012011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12002
12003 Add facility to debug GRUB with gdb under qemu.
12004
12005 * grub-core/gdb_grub.in: New file.
12006 * grub-core/gmodule.pl.in: Likewise.
12007 * grub-core/Makefile.core.def (gmodule.pl): New script.
12008 (gdb_grub): Likewise.
12009
bc108a4a
VS
120102011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * util/grub-mount.c (argp_parser): Accept relative pathes.
12013 * util/grub-fstest.c (argp_parser): Likewise.
12014
111c1778
VS
120152011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Plan9 support.
12018
12019 * Makefile.util.def (libgrubmods): Add
12020 grub-core/partmap/plan.c.
12021 * docs/grub.texi: Notice Plan9 support.
12022 * grub-core/Makefile.core.def (plan9): New module.
12023 (part_plan): Likewise.
12024 * grub-core/loader/i386/pc/plan9.c: New file.
12025 * grub-core/partmap/plan.c: Likewise.
12026 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12027 define.
12028 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12029 * include/grub/mm.h (grub_extend_alloc): New inline function.
12030
c30be3b6
VS
120312011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 Make Reed-Solomon faster by using power of generator representation of
12034 GF(256)*.
12035
12036 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12037 (gf_double_t): Likewise.
12038 (gf_invert): Removed.
12039 (gf_powx): New array.
12040 (gf_powx_inv): Likewise.
12041 (scratch): Move higher.
12042 (gf_reduce): Removed.
12043 (gf_mul): Use powx.
12044 (gf_invert): Likewise.
12045 (init_inverts): Replaced with ...
12046 (init_powx): ...this. All users updated.
12047 (pol_evaluate): Replace multiplications with additions.
12048 (rs_encode): Likewise.
12049 (gauss_eliminate): Call gf_invert.
12050 (grub_reed_solomon_add_redundancy): Call init_powx.
12051 (grub_reed_solomon_recover): Call init_powx unconditionally.
12052
fa5aeffc
VS
120532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12056
a346b81c
VS
120572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12060 disk->partiton for safety.
12061
d89ee414
VS
120622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12065 Fix a memory leak.
12066 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12067
91ee7b6d
VS
120682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12071
91e5a33d
VS
120722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12075
9edd7be2
VS
120762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 Fix spaces handling in proc/self/mountinfo.
12079
12080 * util/getroot.c (unescape): New function.
12081 (grub_find_root_device_from_mountinfo): Use unescape.
12082
ba102053
VS
120832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 Support ZFS embedding.
12086
12087 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12088 (grub_zfs_fs): Register grub_zfs_embed.
12089
aa94b870
VS
120902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 Fix MIPS compilation.
12093
12094 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12095 * include/grub/offsets.h: Rename decompressor fields from
12096 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12097 * util/grub-mkimage.c (image_targets): Use new names.
12098
5fbdac14
VS
120992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 Defer multiboot device parsing until we're in compressed part.
12102
12103 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12104 bsd_part. setdevice has fallen into disuse.
12105 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12106 (bsd_part): Likewise.
12107 (boot_dev): New variable.
12108 (multiboot_trampoline): Don't parse multiboot device.
12109 Pass multiboot device in %edx.
12110 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12111 grub_boot_device.
12112 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12113 Likewise.
12114 * grub-core/kern/i386/pc/startup.S: Save edx.
12115 (grub_boot_drive): Removed.
12116 (grub_install_dos_part): Likewise.
12117 (grub_install_bsd_part): Likewise.
12118 (grub_boot_device): New variable.
12119 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12120 (grub_install_bsd_part): Likewise.
12121 (grub_boot_drive): Likewise.
12122 (grub_boot_device): New variable.
12123 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12124 Removed.
12125 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12126 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12127 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12128 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12129 * util/grub-install.in: Remove redundant condition.
12130
691cbb58
VS
121312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 Fix bug introduced by previous commit.
12134
12135 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12136
60240b8b
VS
121372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 Use decompressors framework on i386-pc. It increases core size
12140 by 46 bytes but improves compatibility and maintainability.
12141
12142 * grub-core/Makefile.core.def (lzma_decompress): New image.
12143 (kernel): Add i386_pc_ldflags.
12144 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12145 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12146 to real_to_prot, prot_to_real and device info.
12147 * include/grub/offsets.h: Renamed decompressor offsets.
12148 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12149 (image_target_desc): Remove raw_size and rename decompressor fields.
12150 (compress_kernel): Handle lzma.
12151 (generate_image): Handle decompressors on i386-pc.
12152
e9d3421c
VS
121532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * configure.ac: Add -fno-asynchronous-unwind-tables.
12156
2b23074a
VS
121572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 Move assembly code to C by using intwrap. It increases core size
12160 by 88 bytes but improves compatibility and maintainability.
12161
12162 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12163 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12164 ... here. Translated to C.
12165 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12166 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12167 ... here. Translated to C.
12168 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12169 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12170 ... here. Translated to C.
12171 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12172 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12173 ... here. Translated to C.
12174 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12175 * grub-core/term/i386/pc/console.c (grub_console_cls):
12176 ... here. Translated to C.
12177 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12178 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12179 ... here. Translated to C.
12180 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12181 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12182 Translated to C.
12183 * grub-core/term/i386/pc/console.c (int10_9): New function.
12184 (grub_console_putchar): Likewise.
12185 * include/grub/i386/pc/console.h: Removed the not anymore shared
12186 functions.
12187
678f4b67
VS
121882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 Move grub_chainloader_real_boot out of the kernel.
12191
12192 * grub-core/Makefile.am: Remove machine/loader.h.
12193 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12194 Removed.
12195 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12196 variable.
12197 (grub_relocator16_keep_a20_enabled): Likewise.
12198 (grub_relocator16_boot): Fill new variables.
12199 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12200 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12201 relocator.
12202 (grub_chainloader_unload): Likewise.
12203 (grub_chainloader_cmd): Likewise.
12204 * include/grub/i386/pc/loader.h: Removed.
12205 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12206 and esi. All initialisers updated.
12207
4626edf6
VS
122082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
122092011-11-12 Colin Watson <cjwatson@ubuntu.com>
12210
12211 * Makefile.util.def (grub-mount): New util.
12212 * .bzrignore: Add grub-mount.
12213 * configure.ac: Check for fuse and enable grub-mount if available.
12214 * docs/man/grub-mount.h2m: New file.
12215 * util/grub-mount.c: Likewise.
12216
10f0117b
VS
122172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * grub-core/commands/efi/fixvideo.c: Gettextize.
12220 * grub-core/commands/hashsum.c: Likewise.
12221 * grub-core/commands/i386/cmostest.c: Likewise.
12222 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12223 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12224 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12225 * grub-core/commands/lsmmap.c: Likewise.
12226 * grub-core/commands/menuentry.c: Likewise.
12227 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12228 * grub-core/commands/setpci.c: Likewise.
12229 * grub-core/loader/i386/bsd.c: Likewise.
12230 * grub-core/loader/i386/linux.c: Likewise.
12231 * util/getroot.c: Likewise.
12232 * util/grub-editenv.c: Likewise.
12233 * util/grub-fstest.c: Likewise.
12234 * util/grub-mkfont.c: Likewise.
12235 * util/grub-mkimage.c: Likewise.
12236 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12237 * util/grub-pe2elf.c: Likewise.
12238 * util/grub-probe.c: Likewise.
12239 * util/grub-setup.c: Likewise.
12240 * util/ieee1275/ofpath.c: Likewise.
12241 * util/misc.c: Likewise.
12242 * util/raid.c: Likewise.
12243
566f779b
RM
122442011-11-11 Robert Millan <rmh@gnu.org>
12245
12246 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12247 __attribute__((unused)) from `os_dev', which *is* being used.
12248
b50787de
VS
122492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12252 forgotten define.
12253 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12254 GRUB_IA64_DL_GOT_ALIGN.
12255 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12256 GRUB_IA64_DL_TRAMP_ALIGN.
12257
119d11c8
VS
122582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 Replace grub_fatal with normal errors in i386 linux loader.
12261
12262 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12263 (allocate_pages): Check find_efi_mmap_size return value.
12264 (grub_e820_add_region): Return error.
12265 (grub_linux_boot): Check mmap return value.
12266
6e0632e2
VS
122672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/commands/acpihalt.c: Gettextized.
12270 * grub-core/commands/cacheinfo.c: Likewise.
12271 * grub-core/commands/cmp.c: Likewise.
12272 * grub-core/commands/efi/loadbios.c: Likewise.
12273 * grub-core/commands/gptsync.c: Likewise.
12274 * grub-core/commands/ieee1275/suspend.c: Likewise.
12275 * grub-core/commands/legacycfg.c: Likewise.
12276 * grub-core/commands/memrw.c: Likewise.
12277 * grub-core/commands/minicmd.c: Likewise.
12278 * grub-core/commands/parttool.c: Likewise.
12279 * grub-core/commands/time.c: Likewise.
12280 * grub-core/commands/videoinfo.c: Likewise.
12281 * grub-core/disk/geli.c: Likewise.
12282 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12283 * grub-core/disk/luks.c: Likewise.
12284 * grub-core/disk/lvm.c: Likewise.
12285 * grub-core/font/font_cmd.c: Likewise.
12286 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12287 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12288 * grub-core/gfxmenu/view.c: Likewise.
12289 * grub-core/kern/emu/hostdisk.c: Likewise.
12290 * grub-core/kern/emu/main.c: Likewise.
12291 * grub-core/kern/emu/misc.c: Likewise.
12292 * grub-core/kern/emu/mm.c: Likewise.
12293 * grub-core/kern/mips/arc/init.c: Likewise.
12294 * grub-core/kern/mips/loongson/init.c: Likewise.
12295 * grub-core/kern/partition.c: Likewise.
12296 * grub-core/lib/i386/halt.c: Likewise.
12297 * grub-core/lib/mips/arc/reboot.c: Likewise.
12298 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12299 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12300 * grub-core/loader/i386/xnu.c: Likewise.
12301 * grub-core/loader/multiboot.c: Likewise.
12302 * grub-core/net/bootp.c: Likewise.
12303 * grub-core/net/net.c: Likewise.
12304 * grub-core/normal/term.c: Likewise.
12305 * grub-core/partmap/bsdlabel.c: Likewise.
12306 * grub-core/parttool/msdospart.c: Likewise.
12307 * grub-core/term/gfxterm.c: Likewise.
12308 * grub-core/term/terminfo.c: Likewise.
12309 * grub-core/video/i386/pc/vbe.c: Likewise.
12310 * util/grub-menulst2cfg.c: Likewise.
12311 * util/grub-mkdevicemap.c: Likewise.
12312 * util/grub-mklayout.c: Likewise.
12313 * util/grub-mkrelpath.c: Likewise.
12314 * util/grub-script-check.c: Likewise.
12315 * util/ieee1275/grub-ofpathname.c: Likewise.
12316 * util/resolve.c: Likewise.
12317
073aa7a9
VS
123182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 Support %1$d syntax.
12321
12322 * tests/printf_unit_test.c: New file.
12323 * Makefile.util.def (printf_test): New test.
12324 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12325
c76b5417
VS
123262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12329 fix.
12330
df067ad1
VS
123312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12334 dprintf.
12335 * grub-core/font/font.c (grub_font_load): Likewise.
12336
5b289bc5
VS
123372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * util/grub-macho2img.c: Add comment concerning gettext.
12340 * grub-core/lib/legacy_parse.c: Likewise.
12341
c1860f87
VS
123422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12345 (grub_xvasprintf): Likewise.
12346
d35d0d37
VS
123472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 Add const keyword to grub_env_get and gettextize week days.
12350
12351 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12352 (grub_read_hook_datetime): Return const char *.
12353 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12354 updated.
12355 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12356 Mark for gettext.
12357 (grub_get_weekday_name): Return const char *. Call gettext.
12358 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12359 char * and len as the argument. All users updated.
12360 (grub_script_argv_split_append): Receive const char *.
12361 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12362 * include/grub/env.h (grub_env_get): Likewise.
12363 (grub_env_read_hook_t): Return const char *.
12364 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12365 (grub_script_argv_split_append): Likewise.
12366
9aed8a71
VS
123672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12370
067fdf00
VS
123712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12374 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12375
a8bd9d39
VS
123762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12379 Fix prototype.
12380
f7ce5baf
VS
123812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 Fix mips compilation.
12384
12385 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12386 normal decoder.
12387 (hashes): Use in embed decoder as well (for sizes).
12388 (dec_stream_header): Fix embed decompressor logic.
12389 (dec_stream_footer): Likewise.
12390
9bb182f3
VS
123912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12394 an error and not a fatal on unrecognised relocation types.
12395
63a9e6f6
VS
123962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12399 Issue error rather than printf on unknown arguments.
12400
4c458569
VS
124012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12404 Make buf a const.
12405
e2d22baf
VS
124062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12409 Fix module name.
12410
53dc8590
VS
124112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12414 leftover debug printf.
12415
6c189294
VS
124162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12419
f7688369
VS
124202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12423 A stylistic fix.
12424
11a775a3
VS
124252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12428
33f784e8
SL
124292011-11-10 Shea Levy <slevy@tieronedesign.com>
12430
12431 Allow all modules to perform serial IO
12432
12433 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12434 * include/grub/serial.h (grub_serial_port_configure): New inline
12435 function.
12436 (grub_serial_port_fetch): Likewise.
12437 (grub_serial_port_put): Likewise.
12438 (grub_serial_port_fini): Likewise.
12439 (grub_serial_find): New proto.
12440
f6276525
VS
124412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 Put symlink at the end of the node and fix a potential
12444 memory corruption.
12445
12446 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12447 Make symlink into an array.
12448 (set_rockridge): Set have_symlink and alloc_dirents.
12449 (grub_iso9660_read_symlink): Use new layout.
12450 (grub_iso9660_iterate_dir): Fix memory corruption.
12451 Use new layout.
12452 (grub_iso9660_dir): Set have_symlink.
12453 (grub_iso9660_open): Likewise.
12454
c3591189
VS
124552011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 Remove local keyword.
12458
12459 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12460 (version_test_gt): Likewise.
12461 (version_find_latest): Likewise.
12462 (gettext_printf): Likewise.
12463 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12464
cb544caa
VS
124652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12468
45bd824d
VS
124692011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 Fix ZFS memory and resource leaks.
12472
12473 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12474 All users updated.
12475 Free type on exit.
12476 (fill_vdev_info): New parameter inserted. All users updated.
12477 (check_pool_label): Likewise.
12478 (scan_disk): Likewise.
12479 (scan_devices): Close non-inserted disks.
12480 (fzap_iterate): Free l.
12481 (unmount_device): Free children descripto memory.
12482
ad9a2f44
VS
124832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12486 argument (access out of bounds).
12487
6b68db81
VS
124882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12491 >= 6 drives.
12492
28840fda
VS
124932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12496 Fix declaration.
12497
8a5a3a5b
VS
124982011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 Fix several memory leaks.
12501
12502 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12503 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12504 (grub_cpio_dir): Likewise.
12505 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12506 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12507 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12508 (grub_romfs_label): Likewise.
12509 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12510 (squash_unmount): New function.
12511 (grub_squash_dir): Fix memory leak.
12512 (grub_squash_open): Likewise.
12513 (grub_squash_read): Likewise.
12514 (grub_squash_mtime): Likewise.
12515 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12516 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12517 * util/grub-fstest.c (fstest): Likewise.
12518
57b01250
VS
125192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12522 avoid accessing beyond the array.
12523
19e81ba7
VS
125242011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12527
52b656c0
VS
125282011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 Several AFFS fixes.
12531
12532 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12533 (GRUB_AFFS_FLAG_FFS): Removed.
12534 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12535 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12536 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12537 (grub_fshelp_node): Make block 32-bit.
12538 Add block_cache and last_block_cache.
12539 (grub_affs_read_block): Fill and use block cache.
12540 (grub_affs_read_file): Removed.
12541 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12542 boot block.
12543 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12544 safety.
12545 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12546 space.
12547 (grub_affs_close): Free block cache.
12548 (grub_affs_read): Use grub_fshelp_read_file directly.
12549
438a746a
VS
125502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12553 with no error set.
12554
49a45021
VS
125552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12558 used variable.
12559 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12560 Likewise.
12561
3ae17eb8
VS
125622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12565
12566 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12567 byteswap when needed.
12568
27610c38
VS
125692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Fix FreeBSD compilation.
12572
12573 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12574 to avoid circular dependency.
12575 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12576 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12577 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12578
4a19b601
VS
125792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 Fix ZFS crypto error types.
12582
12583 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12584 (grub_gcm_decrypt): Likewise.
12585 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12586 from PBKDF2.
12587
958ee221
VS
125882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 Illumos support.
12591
12592 * Makefile.util.def (10_illumos): New script.
12593 * configure.ac: Set COND_HOST_ILLUMOS.
12594 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12595 Support Illumos calls.
12596 (find_partition_start) [__sun__]: Likewise.
12597 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12598 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12599 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12600 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12601 device.
12602 * util/grub-probe.c (probe) [__sun__]: Do character check.
12603 * util/grub.d/10_illumos.in: New file.
12604
cac14fb6
VS
126052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 Support escaped commas in hostdisk.
12608
12609 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12610 (find_grub_drive): Use unescape_cmp.
12611 (make_device_name): Escape commas.
12612
78e08dc3
VS
126132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12616
9f421dd1
VS
126172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12620 variable.
12621
ed64e9e2
VS
126222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 Support trampoline jumps on powerpc.
12625
12626 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12627 __ia64__ path.
12628 (grub_dl_load_segments): Set mod->sz.
12629 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12630 segments.
12631 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12632 (jump): Likewise.
12633 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12634 function.
12635 (trampoline): New struct.
12636 (trampoline_template): New const.
12637 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12638 * include/grub/dl.h (grub_dl): Add sz element.
12639 [__powerpc__]: Follow __ia64__.
12640 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12641 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12642 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12643 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12644
3084ede4
VS
126452011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 ZFS crypto support.
12648
12649 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12650 * grub-core/Makefile.core.def (zfscrypt): New module.
12651 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12652 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12653 it. All users updated.
12654 (grub_zfs_decrypt): New var.
12655 (grub_zfs_load_key): Likewise.
12656 (zio_checksum_functions): Add SHA256+MAC.
12657 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12658 (zio_read): Handle encrypted blocks.
12659 (zap_verify): Remove incorrect check.
12660 (fzap_iterate): Handle non-standard fzap.
12661 (zap_iterate): Likewise.
12662 (zap_iterate_u64): New function.
12663 (dnode_get_fullpath): Load keys.
12664 * grub-core/fs/zfs/zfscrypt.c: New file.
12665 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12666 (grub_crypto_ecb_encrypt): Make input const.
12667 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12668 (grub_crypto_ecb_encrypt): Make input const.
12669 (GRUB_CIPHER_AES): New macro.
12670 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12671 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12672 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12673 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12674 prefix. All users updated.
12675 (grub_zfs_add_key): New proto.
12676 (grub_zfs_decrypt): Likewise.
12677 (grub_zfs_load_key): Likewise.
12678 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12679 * util/grub-fstest.c (options): Add -K option.
12680 (argp_parser): Likewise.
12681
b632b404
VS
126822011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Support zle compression on ZFS.
12685
12686 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12687 (decomp_table): Add zle.
12688 * include/grub/zfs/zio.h (zio_compress): Add zle.
12689
c7ba4f69
VS
126902011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 Support BtrFS embedding.
12693
12694 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12695 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12696 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12697 * util/grub-setup.c (setup): Use fs embedding if available.
12698 Add additional sanity check.
12699
455377d9
VS
127002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * util/grub-install.in: Fix condition for config_opt.
12703
c2fd16ca
VS
127042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 Support third redundancy strip on raidz3.
12707
12708 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12709 Return error on singularity. All users updated.
12710 (read_device): Don't stop on 3rd failure on raidz3.
12711
8622923b
VS
127122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Support case-insensitive ZFS subvolumes.
12715
12716 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12717 All users updated.
12718 (zap_hash): Likewise.
12719 (name_cmp): New function.
12720 (zap_leaf_array_equal): New parameter case_insensitive.
12721 All users updated.
12722 (zap_leaf_lookup): Likewise.
12723 (fzap_lookup): Likewise.
12724 (zap_lookup): Likewise.
12725 (dnode_get_path): New parameter case_insensitive. Retrieve case
12726 sensitiviness of a volume. All users updated.
12727 (dnode_get_fullpath): New parameter case_insensitive.
12728 All users updated.
12729 (grub_zfs_dir): Set info.case_insensitiveness.
12730
95f2e860
VS
127312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Support second redundancy strip on raidz(2,3).
12734
12735 * grub-core/fs/zfs/zfs.c (powx): New array.
12736 (powx_inv): Likewise.
12737 (poly): New const.
12738 (xor_out): New function.
12739 (gf_mul): Likewise.
12740 (recovery): Likewise.
12741 (read_device): Use second redundancy strip.
12742
11ee4389
VS
127432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 Use a power of generator representation of GF(256) multiplication group
12746 to save space time and complexity.
12747
12748 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12749 (raid6_table2): Likewise.
12750 (powx): New array.
12751 (powx_inv): Likewise.
12752 (poly): New const.
12753 (grub_raid_block_mul): Replace with ...
12754 (grub_raid_block_mulx): ...this.
12755 (grub_raid6_init_table): Rewritten.
12756 (grub_raid6_recover): Use power of generator representation.
12757
09e2763f
VS
127582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12761 for the right device.
12762
8bec9a28
VS
127632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12766 expected by grub-mkimage and it's more clear since there is no implicit
12767 padding.
12768
dbd3a32e
VS
127692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12772 disk.
12773 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12774
182c872a
PMH
127752011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12776
12777 * util/grub-mkrescue.in: Fix handling xorriso option.
12778
1e51cabd
VS
127792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12782 NULL.
12783
9cc3581d 127842011-11-03 crocket <crockabiscuit@gmail.com>
12785
12786 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12787
158dc1ea
VS
127882011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 XZ CRC64 and SHA256 support.
12791
12792 * Makefile.util.def (libgrubmods): Add crc64.c.
12793 * grub-core/Makefile.core.def (crc64): New module.
12794 * grub-core/lib/crc64.c: New file.
12795 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12796 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12797 Fix the type.
12798 (MAX_HASH_SIZE): New define.
12799 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12800 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12801 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12802 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12803 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12804 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12805 Handle non-crc32 hashes.
12806 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12807 (dec_stream_header): Handle non-crc32 hashes.
12808 (dec_stream_footer): Likewise.
12809 (dec_block_header): Likewise.
12810 (dec_main): Likewise.
12811 (xz_dec_init): Likewise.
12812 (xz_dec_reset): Likewise.
12813 (xz_dec_end): Likewise.
12814 * util/import_gcry.py: Add CRC64 line.
12815
9d9b3d2f
VS
128162011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12819 as well.
12820
7d0ac931
VS
128212011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 Make reiserfs label retrieval similar to other *_label functions.
12824
12825 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12826 (REISERFS_MAX_LABEL_LENGTH): Removed.
12827 (REISERFS_LABEL_OFFSET): Likewise.
12828 (grub_reiserfs_label): Rewritten.
12829
128302011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12833 field.
12834
cf5ba824
VS
128352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12838
17744004
VS
128392011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12842 drive failure on both raidz and raidz2.
12843
aca5aefc
VS
128442011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 Fix RAIDZ(2) for >= 5 devices.
12847
12848 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12849 asize argument. All users updated.
12850
ce8ca56e
VS
128512011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 Fix RAIDZ(2).
12854
12855 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12856 (fill_vdev_info_real): Set ashift.
12857 (read_device): Rewrite RAIDZ part based on reverse engineering.
12858
7c01e783
VS
128592011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12862 don't report potentially unavialiable fields in debug output.
12863 (find_path): Fix double-free and memory leak.
12864
ce109e84
VS
128652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 Read label on UFS1.
12868
12869 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12870 (grub_ufs_fs): Always set .label.
12871
87661123
VS
128722011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 Use shifts in UFS.
12875
12876 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12877 (grub_ufs_data): New field log2_blksz.
12878 (grub_ufs_read_file): Use shifts.
12879 (grub_ufs_mount): Check block size and logarithm it.
12880
46bc1dc2
VS
128812011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12884 long symlinks.
12885
19ee2987
VS
128862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 Handle symlinks and long names on tar and cpio.
12889
12890 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12891 (ATTR_FILE): Likewise.
12892 (ATTR_DIR): Likewise.
12893 (ATTR_LNK): Likewise.
12894 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12895 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12896 L and K entries.
12897 (grub_cpio_mount): Zero-fill data.
12898 (handle_symlink): New function.
46bc1dc2
VS
12899 (grub_cpio_dir): Handle symlinks.
12900 (grub_cpio_open): Likewise.
12901 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12902
c83a08d8
VS
129032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 Fix iso9660 filename limitations and fix memory leaks.
12906
12907 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12908 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12909
45cdd3ea
VS
129102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 Fix JFS file name length limitations.
12913
12914 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12915 (grub_jfs_diropen): Fix maximum filename length.
12916 (grub_jfs_getent): Fix filename length.
12917 (grub_jfs_lookup_symlink): Fix size checks.
12918
94ef05c2
VS
129192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12922 string.
12923
785ab8c7
VS
129242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12925
eb0b6b45
VS
12926 Leverage BFS implementation to read AFS.
12927
12928 * Makefile.util.def (libgrubmods): Add afs.c.
12929 * grub-core/Makefile.core.def (afs): New module
12930 * grub-core/fs/afs.c: New file.
12931 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12932
129332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12936
c4a1628f
VS
129372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/fs/bfs.c: Run indent.
12940
5825b379
VS
129412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 BFS implementation based on the specification.
12944
12945 * grub-core/fs/bfs.c: New file.
12946 * Makefile.util.def (libgrubmods): Add bfs.c.
12947 * grub-core/Makefile.core.def (bfs): New module.
12948
42b2a706
VS
129492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * util/grub-fstest.c (cmd_cp): Clarify error message.
12952 (cmd_cmp): Likewise.
12953
61b99bfc
YB
129542011-10-30 Yves Blusseau <blusseau@zetam.org>
12955
12956 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12957 and befs_be.
12958
faba3d16
VS
129592011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 Remove afs and befs because of copyright problem.
12962
12963 * grub-core/fs/afs.c: Removed.
12964 * grub-core/fs/afs_be.c: Removed.
12965 * grub-core/fs/befs.c: Removed.
12966 * grub-core/fs/befs_be.c: Removed.
12967 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12968 * grub-core/Makefile.core.def (afs): Removed.
12969 (afs_be): Likewise.
12970 (befs): Likewise.
12971 (befs_be): Likewise.
12972
c39224b0
VS
129732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 Prefer rockridge over Joliet.
12976
12977 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12978 to ...
12979 (set_rockridge): ... here.
12980 (grub_iso9660_mount): Check rockridge on the primary label when
12981 discovering. Ignore Joliet if Rockridge is present.
12982
e551115a
VS
129832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 Use shifts in nilfs2.
12986
12987 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12988 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12989 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12990 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12991 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12992 (grub_nilfs2_entries_per_block): Replaced with ...
12993 (grub_nilfs2_log_entries_per_block_log): ... this.
12994 (grub_nilfs2_blocks_per_group): Replaced with ...
12995 (grub_nilfs2_blocks_per_group_log): ... this.
12996 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12997 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12998 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12999 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13000 (grub_nilfs2_palloc_entry_offset): Replaced ...
13001 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13002 (grub_nilfs2_dat_translate): Use shifts.
13003 (grub_nilfs2_read_inode): Likewise.
13004 (GRUB_MOD_INIT): Ensure that logs are correct.
13005
564dd58c
VS
130062011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 Use shifts in minix filesystem.
13009
13010 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13011 (GRUB_MINIX_ZONE2SECT): Likewise.
13012 (grub_minix_data): Replace block_size with log_block_size.
13013 (grub_minix_read_file): Use shifts.
13014 (grub_minix_mount): Check block size and take a logarithm.
13015
ed9ba06d
VS
130162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 Use shifts in squash4.
13019
13020 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13021 (squash_mount): Check block size and take logarithm.
13022 (direct_read): Use shifts.
13023
ad03fe76
VS
130242011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 Correct befs block counting logic.
13027
13028 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13029 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13030 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13031 (grub_afs_read_inode): Use block_shift.
13032 (RANGE_SHIFT): New definition.
13033 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13034 unexpected conditions, use shifts and appropriate types.
13035 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13036
6563f63d
VS
130372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/disk/raid.c (scan_devices): Check partition.
13040 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13041
5b1ae25f
VS
130422011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 Support BFS (befs) UUID.
13045
13046 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13047 (grub_afs_small_data_element_header): New struct.
13048 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13049 (grub_afs_read_attribute) [MODE_BFS]: New function.
13050 (grub_afs_iterate_dir): Allocate for complete inode.
13051 (grub_afs_mount): Likewise.
13052 (grub_afs_uuid) [MODE_BFS]: New function.
13053 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13054
f8d82408
VS
130552011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13058 (zfs_unmount): Fix memory leak.
13059
5773fb64
VS
130602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Support NTFS reparse points.
13063
13064 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13065 (symlink_descriptor): New struct.
13066 (grub_ntfs_read_symlink): New function.
13067 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13068 (grub_ntfs_open): Likewise.
13069
91c3fdde
VS
130702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13073
3be82e10
VS
130742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 fstest xnu_uuid subcommand.
13077
13078 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13079 grub-core/commands/xnu_uuid.c.
13080 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13081 (fstest): Handle xnu_uuid.
13082 (options): Document xnu_uuid.
13083 (argp_parser): Parse xnu_uuid.
13084
8e32442e
VS
130852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13088 -l argument. Add newline at the end if printing.
13089 (GRUB_MOD_INIT): Document -l.
13090
52a05075
VS
130912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13094
1869edb5
VS
130952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 ZFS multi-device and version 33 support.
13098
13099 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13100 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13101 (grub_zfs_data): Add multidev-ice-related fields.
13102 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13103 (dva_get_offset): Make dva const.
13104 (zfs_fetch_nvlist): New function.
13105 (fill_vdev_info_real): Likewise.
13106 (fill_vdev_info): Likewise.
13107 (check_pool_label): Likewise.
13108 (scan_disk): Likewise.
13109 (scan_devices): Likewise.
13110 (read_device): Likewise.
13111 (read_dva): Likewise.
13112 (zio_read_gang): Use read_dva.
13113 (zio_read_data): Likewise.
13114 (zap_leaf_lookup): Add missing endian conversion.
13115 (zap_verify): Add missing endian conversion. All users updated.
13116 (fzap_lookup): Likewise.
13117 (fzap_iterate): Likewise.
13118 (dnode_get_path): Handle SA bonus.
13119 (nvlist_find_value): Make input const. All users updated.
13120 (unmount_device): New function.
13121 (zfs_unmount): Use unmount_device.
13122 (zfs_mount): Use scan_disk.
13123 (zfs_mtime): New function.
13124 (grub_zfs_open): Handle system attributes.
13125 (fill_fs_info): Likewise.
13126 (grub_zfs_dir): Likewise.
13127 (grub_zfs_fs): Add mtime.
13128 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13129 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13130 (SA_MTIME_OFFSET): Likewise.
13131 (SA_SYMLINK_OFFSET): Likewise.
13132 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13133 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13134 (fstest): Support zfsinfo.
13135 (argp_parser): Likewise.
13136
186b4028
VS
131372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13140 error.
13141
131422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13143
13144 ZFS fixes.
13145
13146 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13147 sharing the same block. Iterate over correct number of indices.
13148 (dnode_get_path): Handle symlinks correctly.
13149
c0584900
VS
131502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13153
67e2bd71
VS
131542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Read label on HFS+.
13157
13158 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13159 (grub_hfsplus_btree_search): Fix types.
13160 (grub_hfsplus_label): Implement.
13161
e9cc6b7b
VS
131622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13165
19832ddb
VS
131662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13169
66b40850
VS
131702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 Fix symlink handling on iso9660.
13173
13174 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13175 All users updated.
13176 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13177 (grub_iso9660_read_symlink): Moved most of code ...
13178 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13179
db821363
VS
131802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13183 Use union to avoid breaking strict-aliasing rules.
13184
e1211949
VS
131852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Support multi-extent iso files.
13188
13189 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13190 Add node.
13191 (grub_fshelp_node): Revamp. All users updated.
13192 (FLAG_*): New enum.
13193 (read_node): New function.
13194 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13195 All users updated.
13196 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13197 (get_node_size): New function.
13198 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13199 entries.
13200 Fix memory leak on . and ..
13201 (grub_iso9660_read): Use read_node.
13202 (grub_iso9660_close): Free node.
13203
d4888031
VS
132042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 Fix tar 4G limit and handle paths containing dot.
13207
13208 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13209 (canonicalize): New function.
13210 (grub_cpio_find_file): Use canonicalize. Store offs in
13211 grub_disk_addr_t.
13212 (grub_cpio_dir): Use grub_disk_addr_t.
13213 (grub_cpio_open): Likewise.
13214
9f12e664
VS
132152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13218
13219 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13220 unused flags.
13221 (grub_squash_inode): Add long_file and block_size.
13222 (grub_squash_cache_inode): New struct.
13223 (grub_squash_dirent): Make types into enum.
13224 (SQUASH_TYPE_LONG_REGULAR): New type.
13225 (grub_squash_frag_desc): Add field size.
13226 (SQUASH_BLOCK_FLAGS): New enum.
13227 (grub_squash_data): Use grub_squash_cache_inode.
13228 (grub_fshelp_node): Make ino_chunk 64-bit.
13229 (read_chunk): Minor argument change. All users updated.
13230 (squash_mount): Use correct le_to_cpu.
13231 (grub_squash_open): Handle LONG_REGULAR.
13232 (direct_read): New function.
13233 (grub_squash_read_data): Handle blocks correctly.
13234
9f326fba
VS
132352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13238
f4d9b64b
VS
132392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13242
5bbd28b8
VS
132432011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 Fix 2G limit on ZFS.
13246
13247 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13248 types.
13249 (uberblock_verify): Likewise.
13250 (dmu_read): Likewise.
13251 (grub_zfs_read): Likewise. Remove invalid cast.
13252
68c72069
VS
132532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13256 (grub_jfs_blkno): Fix incorrect shift.
13257 (grub_jfs_read_file): Use more appropriate types.
13258
6e536dc8
VS
132592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 Support triple indirect on minix2 and minix3.
13262
13263 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13264 Declare triple_indir_zone.
13265 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13266 indirect.
13267
e0864e7a
VS
132682011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 Minix FS fixes.
13271
13272 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13273 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13274 Rename ctime to mtime. All users updated.
13275 (grub_minix_get_file_block): Fix types and double indirect computations.
13276
89481cab
VS
132772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13280 if no label is found.
13281 (grub_fat_iterate_dir): Fix file size type.
13282 (grub_fat_iterate_dir): Likewise.
13283
f646e143
VS
132842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13287 save some space.
13288 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13289 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13290
534d769e
VS
132912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13294
e084ba18
VS
132952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * util/import_gcry.py: Accept space between # and include.
13298
3471ecdf
VS
132992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13302
124df5f6
VS
133032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13306
13307 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13308 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13309 yylex_strncpy.
13310 * grub-core/script/yylex.l: Add fine-grained #pragma.
13311
4defb8d5
VS
133122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13315 New inline function.
13316 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13317 Likewise.
13318 (memset) [GRUB_UTIL]: Likewise.
13319 (memcmp) [GRUB_UTIL]: Likewise.
13320
4e94ae65
VS
133212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13324 inline function rather than a define.
13325
18c575e5
VS
133262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * util/grub-setup.c: Add missing include.
13329
f8bc22a8
VS
133302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * util/ieee1275/grub-ofpathname.c: Add missing include.
13333
3ce69fc9
VS
133342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13337 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13338 Likewise.
13339
d1e293bb
VS
133402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13343 grub_memcmp usage.
13344
7a5c54a4
VS
133452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 * util/grub-install.in: Add datarootdir as per automake manual
13348 suggestion.
13349 * util/grub-mknetdir.in: Likewise.
13350
133512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13352
13353 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13354 suggestion.
13355 * util/grub.d/10_kfreebsd.in: Likewise.
13356 * util/grub.d/10_linux.in: Likewise.
13357 * util/grub.d/10_netbsd.in: Likewise.
13358 * util/grub.d/10_windows.in: Likewise.
13359 * util/grub.d/20_linux_xen.in: Likewise.
13360
766f7d08
VS
133612011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 Remove redundant grub_kernel_image_size.
13364
13365 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13366 _edata and _start.
13367 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13368 the small code. It moves it only by few bytes but simplifies the code.
13369 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13370 _start.
13371 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13372 (grub_kernel_image_size): Removed.
13373 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13374 (grub_kernel_image_size): Removed.
13375 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13376 compiled with Apple toolchain.
13377 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13378 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13379 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13380 (grub_total_module_size): Likewise.
13381 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13382 Removed.
13383 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13384 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13385 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13386 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13387 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13388 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13389 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13390 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13391 Removed.
13392 (grub_total_module_size): Removed.
13393 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13394 (image_targets): Likewise.
13395 Set .compressed_size to no field on sparc.
13396 (generate_image): Remove kernel_image_size handling.
13397
fcf1d672
SJ
133982011-10-19 Szymon Janc <szymon@janc.net.pl>
13399
13400 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13401 NULL pointer dereference.
13402
de9c615e
VS
134032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13406 done with a dedicated section.
13407
13408 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13409 Ensure the correct position of boot_path.
13410 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13411 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13412 other fields.
13413 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13414 * include/grub/boot.h: Removed. All references removed.
13415 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13416 Removed.
13417 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13418
e55599dc
VS
134192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13422 name.
13423
36dd20ad
VS
134242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13427
f8f72eb8
VS
134282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13431 Don't add the bogus brackets.
13432
a374751b
VS
134332011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 ExFAT support.
13436
13437 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13438 * grub-core/Makefile.core.def (exfat): New module.
13439 * grub-core/fs/exfat.c: New file.
13440 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13441 (GRUB_FAT_ATTR_*): Make into an enum.
13442 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13443 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13444 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13445 (GRUB_FAT_MAXFILE): Removed.
13446 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13447 (grub_current_fat_bpb_t): New type.
13448 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13449 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13450 (grub_fat_dir_node_t): New type.
13451 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13452 (fat_log2) [MODE_EXFAT]: Removed.
13453 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13454 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13455 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13456 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13457 (grub_fat_label) [MODE_EXFAT]: New function.
13458 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13459 reserved_first_sector to 0.
13460
544c2487
VS
134612011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 Move grub_reboot out of the kernel.
13464
13465 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13466 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13467 * grub-core/lib/efi/reboot.c: ... here.
13468 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13469 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13470 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13471 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13472 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13473 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13474 * grub-core/lib/ieee1275/reboot.c: ... here.
13475 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13476 * grub-core/lib/mips/arc/reboot.c: ... here.
13477 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13478 * grub-core/lib/mips/loongson/reboot.c: ...here.
13479 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13480 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13481 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13482 * include/grub/i386/reboot.h: New file.
13483 * include/grub/mips/loongson/ec.h: Fix includes.
13484 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13485 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13486 * grub-core/lib/i386/reboot.c: New file.
13487
a97501d2
VS
134882011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 Make grub_prefix into module to fix the arbitrary limit and save
13491 some space.
13492
13493 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13494 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13495 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13496 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13497 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13498 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13499 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13500 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13501 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13502 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13503 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13504 * include/grub/ia64/efi/kernel.h: Removed.
13505 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13506 (grub_prefix): Removed.
13507 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13508 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13509 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13510 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13511 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13512 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13513 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13514 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13515 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13516 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13517 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13518 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13519 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13520 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13521 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13522 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13523 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13524 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13525 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13526 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13527 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13528 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13529 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13530 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13531 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13532 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13533 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13534 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13535 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13536 from module.
13537 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13538 prefix_end.
13539 (image_targets): Likewise.
13540 (generate_image): Put prefix as a module.
13541
39705fad
VS
135422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 Replace grub_module_iterate with FOR_MODULES.
13545
13546 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13547 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13548 (grub_efi_modules_addr): ...this.
13549 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13550 (grub_efi_init): Set grub_modbase.
13551 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13552 (grub_modbase): New variable.
13553 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13554 (grub_modbase): New variable.
13555 (grub_machine_init): Set grub_modbase.
13556 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13557 (grub_modbase): New variable.
13558 (grub_machine_init): Set grub_modbase.
13559 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13560 (grub_modbase): New variable.
13561 (grub_machine_init): Set grub_modbase.
13562 * grub-core/kern/main.c (grub_module_iterate): Remove.
13563 (grub_modules_get_end): Use grub_modbase.
13564 (grub_load_modules): Use FOR_MODULES.
13565 (grub_load_config): Likewise.
13566 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13567 (grub_modbase): New variable.
13568 (grub_machine_init): Set grub_modbase.
13569 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13570 (grub_modbase): New variable.
13571 (grub_machine_init): Set grub_modbase.
13572 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13573 Removed.
13574 (grub_modbase): New variable.
13575 (grub_machine_init): Set grub_modbase.
13576 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13577 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13578 (grub_module_iterate): Likewise.
13579 (grub_modbase): New variable declaration.
13580 (FOR_MODULES): New macro.
13581
2afb7f6c
VS
135822011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13585 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13586
366e34fa
VS
135872011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 Fix few obvious type discrepancies.
13590
13591 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13592 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13593 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13594 variable.
13595 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13596 and connected types.
13597 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13598 offset.
13599 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13600 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13601 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13602 and connected types.
13603
177b960e
VS
136042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 Fix python 3.x incompatibilities.
13607
13608 * gentpl.py: Put brackets around print strings.
13609 * util/import_gcry.py: Open explicitly as utf-8.
13610 Use in instead of has_key.
13611
3b619ae1
VS
136122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13615 (GRUB_XFS_INO_AGBITS): Make into inline function.
13616 (GRUB_XFS_INO_INOINAG): Likewise.
13617 (GRUB_XFS_INO_AG): Likewise.
13618 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13619 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13620 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13621 (GRUB_XFS_EXTENT_SIZE): Likewise.
13622 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13623 (GRUB_XFS_NEXT_DIRENT): Likewise.
13624 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13625 (grub_xfs_read_file): Fix offset type.
13626
8bcebcb8
RM
136272011-10-15 Robert Millan <rmh@gnu.org>
13628
13629 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13630
0017e5ef
RM
136312011-10-15 Robert Millan <rmh@gnu.org>
13632
13633 Fix build problem on FreeBSD and GNU/kFreeBSD.
13634
13635 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13636
d8919552
VS
136372011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13640
13641 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13642 types.
13643 (grub_hfsplus_btree_recoffset): Likewise.
13644 (grub_hfsplus_btree_recptr): Likewise.
13645 (grub_hfsplus_find_block): Likewise.
13646 (grub_hfsplus_btree_search): Likewise.
13647 (grub_hfsplus_read_block): Likewise.
13648 (grub_hfsplus_read_file): Likewise.
13649 (grub_hfsplus_mount): Likewise.
13650 (grub_hfsplus_btree_iterate_node): Likewise.
13651 (grub_hfsplus_btree_search): Likewise.
13652 (grub_hfsplus_iterate_dir): Likewise.
13653 (grub_hfsplus_read): A small code simplification.
13654
c81296b6
VS
136552011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/kern/emu/hostdisk.c
13658 (convert_system_partition_to_system_disk): Don't assume that children
13659 of mapper nodes are mapper nodes.
13660
0eb8ffb1
VS
136612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13664 * include/grub/misc.h (grub_isxdigit): New function.
13665 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13666 switched to grub_isxdigit.
13667 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13668 number starting with a letter.
13669
a98f4a08
RM
136702011-10-09 Robert Millan <rmh@gnu.org>
13671
13672 LVM support for FreeBSD and GNU/kFreeBSD.
13673
13674 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13675 GNU/kFreeBSD.
13676 (LVM_DEV_MAPPER_STRING): Move from here ...
13677 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13678 * util/getroot.c: Include `<grub/util/lvm.h>'.
13679 (grub_util_get_dev_abstraction): Enable
13680 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13681 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13682 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13683 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13684 support it.
13685 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13686 GNU/kFreeBSD.
13687 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13688 when LVM abstraction is required for ${GRUB_DEVICE}.
13689
050e8e90
SJ
136902011-10-06 Szymon Janc <szymon@janc.net.pl>
13691
13692 Add support for LZO compression in GRUB:
13693 - import of minilzo library,
13694 - LZO decompression for btrfs,
13695 - lzop files decompression.
13696
13697 * grub-core/io/lzopio.c: New file.
13698 * grub-core/lib/adler32.c: Likewise.
13699 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13700 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13701 * grub-core/lib/minilzo/minilzo.c: Likewise.
13702 * grub-core/lib/minilzo/minilzo.h: Likewise.
13703 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13704 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13705 grub-core/lib/minilzo/minilzo.c to common.
13706 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13707 cflags in cppflags.
13708 * grub-core/Makefile.core.def (btrfs): Likewise.
13709 * grub-core/Makefile.core.def (lzopio): New module.
13710 (adler32): Likewise.
13711 * grub-core/fs/btrfs.c: Include minilzo.h.
13712 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13713 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13714 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13715 (grub_btrfs_lzo_decompress): New function.
13716 (grub_btrfs_extent_read): Add support for LZO compression type.
13717 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13718 (GRUB_USHRT_MAX): Likewise.
13719 (GRUB_UINT_MAX): Likewise.
13720 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13721 (UINT_MAX): Likewise.
13722 (CHAR_BIT): Likewise.
13723 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13724 grub-core/lib/posix_wrap/limits.h
13725 (UCHAR_MAX): Likewise.
13726 * include/grub/file.h (grub_file_filter_id): New compression filter
13727 GRUB_FILE_FILTER_LZOPIO.
13728 * include/grub/file.h (grub_file_filter_id): Set
13729 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13730 * include/grub/types.h (grub_get_unaligned16): New function.
13731 (grub_get_unaligned32): Likewise.
13732 (grub_get_unaligned64): Likewise.
13733 * util/import_gcry.py (cryptolist): Add adler32.
13734
0eb8ffb1
VS
137352011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13738 in perspective decreases the complexity of build system and fixes
13739 compilation right now.
13740
ce79cc99 137412011-10-01 Ales Nesrsta <starous@volny.cz>
13742
13743 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13744 (fixed problem related to using UHCI with coreboot).
13745
8667a314
BC
137462011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13747
13748 * gentpl.py: Use Autogen macros so that the output template file
13749 (Makefile.tpl) size is reduced.
13750
fc5efcc0
MK
137512011-09-29 Mads Kiilerich <mads@kiilerich.com>
13752
13753 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13754 extra_dist.
13755
d1ab689d
ML
137562011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13757
13758 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13759 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13760
c05de032
ML
137612011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13762
13763 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13764 _fullpath.
13765
cca7ccd8
ML
137662011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13767
13768 Remove extra declaration of sleep for mingw32.
13769
13770 * util/misc.c (sleep) [__MINGW32__]: Removed.
13771 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13772
e0b0dc83
GS
137732011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13774
13775 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13776 type and packname.
13777 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13778 Resurrected.
13779 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13780 (grub_netbsd_btinfo_bootwedge): New struct.
13781 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13782 New function.
13783 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13784
91a1a164
TH
137852011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13786
13787 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13788 loader.
13789
2ded951e
AB
137902011-09-28 Andreas Born <futur.andy@googlemail.com>
13791
13792 Fix incorrect identifiers in bash-completion.
13793
13794 * util/bash-completion.d/grub-completion.bash.in
13795 (_grub_mkpasswd-pbkdf2): Rename to ...
13796 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13797 (_grub_script-check): Rename to ...
13798 (_grub_script_check): ... this. All users updated.
13799
69915030
VS
138002011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13803 Return 0 if disk isn't biosdisk.
13804
20fd15f9
GS
138052011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13806
13807 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13808 on NetBSD.
13809 * Makefile.util.def (grub-fstest): Likewise.
13810
1a7d7db9
GS
138112011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13812
13813 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13814 Get sector size from disk label.
13815
2221ab6c
CW
138162011-09-05 Colin Watson <cjwatson@ubuntu.com>
13817
13818 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13819 */README* as well as README*.
13820 Reported by: Axel Beckert.
13821
ca51c4a0
VS
138222011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13825 case of less than 256 MiB of RAM.
13826
ab80f326
VS
138272011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * grub-core/commands/wildcard.c (make_regex): Handle @.
13830
4155e697
VS
138312011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13834
ab178c08
SJ
138352011-08-21 Szymon Janc <szymon@janc.net.pl>
13836
13837 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13838 AC_LANG_CONFTEST macros.
13839
7dc3c686
SJ
138402011-08-20 Szymon Janc <szymon@janc.net.pl>
13841
13842 Add grub-fstest option to uncompress data for commands.
13843
13844 * util/grub-fstest.c (uncompress): New var.
13845 (options): New option -u.
13846
fe8d4a7b
SJ
138472011-08-20 Szymon Janc <szymon@janc.net.pl>
13848
13849 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13850 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13851
a5219af1
SJ
138522011-08-20 Szymon Janc <szymon@janc.net.pl>
13853
13854 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13855 file type was not recognized correctly (not gzip or corrupted).
13856
f87abff5
VS
138572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13860 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13861
d94497ea
VS
138622011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13865 loongson.
13866 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13867 video_radeon_fuloong2e.
13868 * grub-core/video/radeon_fuloong2e.c: New file.
13869 * include/grub/video.h (grub_video_id_t): Add new ID
13870 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13871
0d1fd011
VS
138722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13875 define.
13876 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13877 that PRID matches the detected subplatform and reset the subplatform
13878 if it doesn't.
13879
84beb0ee
VS
138802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13883
1227c133
VS
138842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 Fix PCI iterating on functions >= 4.
13887
13888 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13889 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13890 Removed.
13891 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13892 (grub_pci_read): Fix bitmask.
13893 (grub_pci_read_word): Likewise.
13894 (grub_pci_read_byte): Likewise.
13895 (grub_pci_write): Likewise.
13896 (grub_pci_write_word): Likewise.
13897 (grub_pci_write_byte): Likewise.
13898
9594c689
VS
138992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13902 can still be specified in TARGET_CFLAGS)
13903
14a2562c
VS
139042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13907
13908 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13909 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13910 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13911 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13912 (FULOONG): Rename to ...
13913 (FULOONG2F): ... this. All users updated.
13914 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13915 (machtype_fuloong2f_str): ... this.
13916 (machtype_fuloong2e_str): New string.
13917 Check for machtype_fuloong2e_str.
13918 * grub-core/loader/mips/linux.c (loongson_machtypes)
13919 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13920 * grub-core/term/serial.c (loongson_defserial)
13921 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13922 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13923 loongson_defserial.
13924 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13925 Rename to ...
13926 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13927 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13928 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13929 to IMAGE_FULOONG2F_FLASH. All users updated.
13930 (image_targets): Rename images.
13931 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13932
b526cbb6
SJ
139332011-08-19 Szymon Janc <szymon@janc.net.pl>
13934
13935 Make enable of disk cache statistics code configurable.
13936
13937 * configure.ac: --enable-cache-stats added.
13938 * config.h.in (DISK_CACHE_STATS): New define.
13939 * grub-core/Makefile.core.def (cacheinfo): New command.
13940 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13941 * grub-core/commands/cacheinfo.c: New file.
13942 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13943 moved to cacheinfo.c.
13944 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13945 debug code.
13946 * include/grub/disk.h: Likewise.
13947
fb739ccd
SJ
139482011-08-19 Szymon Janc <szymon@janc.net.pl>
13949
13950 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13951 * grub-core/Makefile.am: Likewise.
13952
2bba8cfd
VS
139532011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13956 non-zero pull.
13957
43526629
VS
139582011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13961 All users updated.
13962 (grub_jfs_lookup_symlink): Use correct starting inode.
13963
5c144cc8
VS
139642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub-setup.c (main): Add missing gcry initialisation.
13967
b1257f65
VS
139682011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 Don't accept text modes on EFI when booting Linux.
13971
13972 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13973 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13974
828bc390
ML
139752011-08-15 Mario Limonciello <mario_limonciello@dell.com>
139762011-08-15 Colin Watson <cjwatson@ubuntu.com>
13977
13978 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13979 use of "/path/.." as in grub-install for EFI as well as handling
13980 symlinks correctly.
13981 Fixes Debian bug #637768.
13982
5f60ccac
CW
139832011-08-15 Colin Watson <cjwatson@ubuntu.com>
13984
13985 * util/grub-probe.c: Remove duplicate #include.
13986
6dc212f9
RM
139872011-08-10 Robert Millan <rmh@gnu.org>
13988
13989 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13990
13991 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13992 function.
13993 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13994 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13995
66816d85
RM
139962011-08-03 Robert Millan <rmh@gnu.org>
13997
13998 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13999 la_array as packed.
14000 Reported by: Zachary Bedell
14001
20168fca
CW
140022011-07-26 Colin Watson <cjwatson@ubuntu.com>
14003
14004 * configure.ac: The Loongson port requires grub-mkfont due to its
14005 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14006 be built.
14007
303b6246
CW
140082011-07-26 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14011 processing arguments (otherwise help2man fails when GRUB has not yet
14012 been installed).
14013
6795300e
VS
140142011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14015
41aa28ea
VS
14016 New script grub-mkstandalone.
14017
14018 * Makefile.util.def (grub-mkstandalone): New script.
14019 * docs/man/grub-mkstandalone.h2m: New file.
14020 * util/grub-mkstandalone.in: Likewise.
14021
140222011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 Support ATA disks with 4K sectors.
6795300e
VS
14025
14026 * include/grub/ata.h (grub_ata): New member log_sector_size.
14027 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14028 (grub_ata_identify): Read sector size.
14029 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14030
92227597
VS
140312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * util/grub-install.in: Don't use uhci outside of x86.
14034
c77069f5
VS
140352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * util/grub-mkrescue.in: Add missing quotes.
14038
140392011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14040
14041 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14042 dereference.
14043
583168a2
VS
140442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14047
6be1c01f
VS
140482011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * include/grub/video.h: add missing EXPORT_FUND on
14051 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14052
a1167439
VS
140532011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * include/grub/mips/kernel.h: Fix define conflict.
14056
bf66054f
VS
140572011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14060 all four ways.
14061
8fc4fa45
CW
140622011-07-21 Colin Watson <cjwatson@ubuntu.com>
14063
14064 Preferred resolution detection for VBE.
14065
14066 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14067 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14068 the Flat Panel extension, in line with the X.org VESA driver.
14069 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14070 New function.
14071 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14072 (grub_vbe_bios_read_edid): Likewise.
14073 (grub_vbe_get_preferred_mode): Likewise.
14074 (grub_video_vbe_setup): When the mode is "auto", try to get the
14075 preferred mode from VBE, and use the largest mode that is no larger
14076 than the preferred mode (some BIOSes expose a preferred mode that is
14077 not in their mode list!). If this fails, fall back to 640x480 as a
14078 safe conservative choice.
14079 (grub_video_vbe_get_edid): New function.
14080 (grub_video_vbe_adapter): Add get_edid.
14081 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14082 (struct grub_video_adapter): Add get_edid.
14083 (grub_video_edid_checksum): Add prototype.
14084 (grub_video_edid_preferred_mode): Likewise.
14085 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14086 structure.
14087
14088 * grub-core/commands/videoinfo.c (print_edid): New function.
14089 (grub_cmd_videoinfo): Print EDID if available.
14090
14091 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14092 is more appropriate on a wider range of platforms than 640x480.
14093 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14094 documentation.
14095
ca5572a9
VS
140962011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14099
e4bcf625
VS
141002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * po/POTFILES.in: Regenerate.
14103
c4edd548
VS
141042011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14107 incorrect memory usage.
14108
16a2bab0
VS
141092011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * util/grub-install.in: Source grub-mkconfig_lib.
14112
2e418de6
VS
141132011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 Remove getroot.c from core on emu platform.
14116
14117 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14118 kern/emu/raid.c.
14119 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14120 useless.
14121 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14122 * util/getroot.c (get_win32_path): ... here.
14123 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14124 * util/getroot.c (fini_libzfs): ... here.
14125 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14126 * util/getroot.c (grub_get_libzfs_handle): ... here.
14127 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14128 Moved from here...
14129 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14130 * grub-core/kern/emu/misc.c
14131 (grub_make_system_path_relative_to_its_root): Moved from here...
14132 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14133 * grub-core/kern/emu/getroot.c: Moved from here ...
14134 * util/getroot.c: ... here. All users updated.
14135 * grub-core/kern/emu/raid.c: Moved from here ...
14136 * util/raid.c: ... here. All users updated.
14137
def9832a
VS
141382011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * po/POTFILES.in: Regenerate.
14141
cd8fe79a
VS
141422011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 Fix compilation on GNU/Linux.
14145
14146 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14147 Disable geli.
14148 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14149 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14150 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14151
a251b719
VS
141522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
141532011-07-07 Michael Gorven <michael@gorven.za.net>
141542011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14155
14156 LUKS and GELI support.
14157
14158 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14159 grub-core/disk/luks.c, grub-core/disk/geli.c,
14160 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14161 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14162 grub-core/lib/arg.c.
14163 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14164 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14165 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14166 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14167 (grub-bin2h): Add libgcry.a.
14168 (grub-mkimage): Likewise.
14169 (grub-mkrelpath): Likewise.
14170 (grub-script-check): Likewise.
14171 (grub-editenv): Likewise.
14172 (grub-mkpasswd-pbkdf2): Likewise.
14173 (grub-pe2elf): Likewise.
14174 (grub-fstest): Likewise.
14175 (grub-mkfont): Likewise.
14176 (grub-mkdevicemap): Likewise.
14177 (grub-probe): Likewise.
14178 (grub-ofpath): Likewise.
14179 (grub-mklayout): Likewise.
14180 (example_unit_test): Likewise.
14181 (grub-menulst2cfg): Likewise.
14182 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14183 * grub-core/Makefile.core.def (cryptodisk): New module.
14184 (luks): Likewise.
14185 (geli): Likewise.
14186 * grub-core/disk/AFSplitter.c: New file.
14187 * grub-core/disk/cryptodisk.c: Likewise.
14188 * grub-core/disk/geli.c: Likewise.
14189 * grub-core/disk/luks.c: Likewise.
14190 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14191 grub_util_is_lvm.
14192 (grub_util_get_dm_abstraction): New function.
14193 (grub_util_follow_gpart_up): Likewise.
14194 (grub_util_get_geom_abstraction): Likewise.
14195 (grub_util_get_dev_abstraction): Use new functions.
14196 (grub_util_pull_device): Pull GELI and LUKS.
14197 (grub_util_get_grub_dev): Handle LUKS and GELI.
14198 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14199 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14200 (follow_geom_up): Removed.
14201 (grub_util_fd_seek): New function.
14202 (open_device): Use grub_util_fd_seek.
14203 (nread): Rename to ..
14204 (grub_util_fd_read): ... this. All users updated.
14205 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14206 (grub_crypto_cbc_decrypt): Likewise.
14207 (grub_crypto_hmac_write): Likewise.
14208 (grub_crypto_hmac_buffer): Likewise.
14209 (grub_password_get): Extend to util.
14210 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14211 New member modname.
14212 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14213 * include/grub/cryptodisk.h: New file.
14214 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14215 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14216 LUKS and GELI.
14217 (grub_util_follow_gpart_up): New proto.
14218 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14219 (grub_util_fd_read): Likewise.
14220 (grub_cryptodisk_cheat_mount): Likewise.
14221 (grub_util_cryptodisk_print_uuid): Likewise.
14222 (grub_util_get_fd_sectors): Likewise.
14223 * util/grub-fstest.c (mount_crypt): New var.
14224 (fstest): Mount crypto if requested.
14225 (options): New option -C.
14226 (argp_parser): Parse -C.
14227 (main): Init and fini gcry.
14228 * util/grub-install.in: Support cryptodisk install.
14229 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14230 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14231 cryptodisk.
14232 (prepare_grub_to_access_device): Likewise.
14233 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14234 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14235 (probe_cryptodisk_uuid): New function.
14236 (probe_abstraction): Likewise.
14237 (probe): Use new functions.
14238 * util/import_gcry.py: Create Makefile.utilgcry.def.
14239 Add modname member.
14240
9bfdcbbc
VS
142412011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 Lazy device scanning.
14244
14245 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14246 (grub-setup): Remove util/raid.c.
14247 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14248 * grub-core/disk/lvm.c (scan_depth): New variable.
14249 (grub_lvm_iterate): Rescan if necessary.
14250 (find_lv): New function based on grub_lvm_open.
14251 (grub_lvm_open): Use find_lv. Rescan on error.
14252 (is_node_readable): New function.
14253 (is_lv_readable): Likewise.
14254 (grub_lvm_scan_device): Skip already found disks.
14255 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14256 Stop if searched device is found and readable.
14257 * grub-core/disk/raid.c (inscnt): New variable.
14258 (scan_depth): Likewise.
14259 (scan_devices): New function based on grub_raid_register. Abort if
14260 looked for device is found.
14261 (grub_raid_iterate): Rescan if needed.
14262 (find_array): NEw function based on -grub_raid_open.
14263 (grub_raid_open): Use find_array and rescan.
14264 (insert_array): Set became_readable_at.
14265 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14266 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14267 New function.
14268 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14269 (grub_util_pull_device): New function.
14270 (grub_util_get_grub_dev): Call grub_util_pull_device.
14271 * util/raid.c: Moved to ..
14272 * grub-core/kern/emu/raid.c: ... here.
14273 (grub_util_raid_getmembers): New parameter "bootable".
14274 All users updated. Support 1.x.
14275 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14276 All users updated.
14277 * include/grub/disk.h (grub_disk_pull_t): New enum.
14278 (grub_disk_dev): Change iterate prototype.
14279 All users updated.
14280 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14281 New proto.
14282 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14283 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14284 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14285 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14286 All users updated.
14287 * include/grub/util/raid.h: Removed.
14288
1c358e59
VS
142892011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 * po/POTFILES.in: Regenerate.
14292
abee94ed
VS
142932011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 Unify sparc init with other ieee1275.
14296
14297 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14298 instead of kern/sparc64/ieee1275/init.c.
14299 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14300 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14301 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14302 grub/machine/kernel.h.
14303 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14304 (grub_claim_heap) [__sparc__]: Use sparc version.
14305 (grub_machine_init): Moved args parsing to
14306 (grub_parse_cmdline): ...this.
14307 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14308 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14309 New definition.
14310 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14311
14312 Move BOOTP to separate file.
14313
14314 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14315 * grub-core/net/net.c: Move all BOOTP functions to
14316 * grub-core/net/bootp.c: ... here.
14317
14318 Use frame interface on PXE.
14319
14320 * grub-core/Makefile.core.def (pxecmd): Removed.
14321 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14322 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14323 * grub-core/i386/pc/pxe.c: Moved from here ...
14324 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14325 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14326 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14327
14328 EFI network support.
14329
14330 * grub-core/Makefile.core.def (efinet): New module.
14331 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14332 here...
14333 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14334 All users updated.
14335 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14336 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14337 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14338 * grub-core/net/drivers/efi/efinet.c: New file.
14339 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14340 (grub_efi_net_config): New extern var.
14341
14342 Various cleanups and bugfixes.
14343
14344 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14345 error.
14346 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14347 disk declared as partition.
14348 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14349 leak on failure.
14350 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14351 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14352 (grub_debug_zalloc): Likewise.
14353 (grub_debug_realloc): Likewise.
14354 (grub_debug_memalign): Likewise.
14355 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14356 Check that target is IPv4.
14357 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14358 local-mac-address as fallback.
14359 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14360 memory leak.
14361 * grub-core/net/ip.c (ipchksum): Rename to ...
14362 (grub_net_ip_chksum): ... this. All users updated.
14363 (grub_net_recv_ip_packets): Special handling for DHCP.
14364 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14365
14366 Unify prefix handling
14367
14368 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14369 (grub_machine_get_bootlocation): ... this.
14370 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14371 (grub_machine_get_bootlocation): ... this.
14372 (grub_prefix): New variable.
14373 (prefix): Removed.
14374 (root_dev): New variable.
14375 (dir): Likewise.
14376 (main): Use new variables.
14377 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14378 Revamped into ...
14379 (grub_machine_get_bootlocation): ... this.
14380 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14381 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14382 (grub_machine_get_bootlocation): ... this.
14383 (grub_machine_set_prefix): Removed.
14384 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14385 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14386 Revamped into ...
14387 (grub_machine_get_bootlocation): ... this.
14388 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14389 (grub_set_prefix_and_root): ... this. All users updated.
14390 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14391 Revamped into ...
14392 (grub_machine_get_bootlocation): ... this.
14393 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14394 (grub_machine_get_bootlocation): New proto.
14395 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14396
14397 Less intrusive and more reliable seek on network implementation.
14398
14399 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14400 (grub_file_seek): Don't call grub_file_net_seek.
14401 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14402 (grub_net_fs_read_real): .. this.
14403 (grub_net_seek_real): Use net->offset.
14404 (grub_net_fs_read): Seek if necessary.
14405
14406 Unify IEEE1275 netwotk config with the other platforms.
14407
14408 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14409 New variable.
14410 (grub_machine_get_bootlocation): Support network.
14411 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14412 Support type and device parsing.
14413 (grub_ieee1275_get_device_type): New function.
14414 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14415 into ...
14416 (grub_ieee1275_net_config_real): ... this.
14417 (grub_ofnet_probecards): Removed.
14418 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14419 * include/grub/ieee1275/ofnet.h: Removed.
14420 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14421 extern var.
14422 (grub_ieee1275_get_device_type): New function.
14423
14424 Unify network device closing across platforms and make more robust.
14425
14426 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14427 grub_grubnet_fini.
14428 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14429 already.
14430 * grub-core/net/net.c (grub_net_network_level_interface_register):
14431 Update num_ifaces.
14432 (grub_net_card_unregister): Close all interfaces.
14433 (receive_packets): Don't poll if no iterfaces are registered.
14434 Open if necessary.
14435 (grub_net_fini_hw): New function.
14436 (grub_net_restore_hw): Likewise.
14437 (fini_hnd): New variable.
14438 (GRUB_MOD_INIT): Register preboot hook.
14439 (GRUB_MOD_FINI): Run and unregister preboot hook.
14440
14441 Poll network cards when idle.
14442
14443 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14444 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14445 * grub-core/net/net.c (receive_packets): Save last poll time.
14446 (grub_net_poll_cards_idle_real): New function.
14447 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14448 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14449 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14450
14451 Rename ofnet interfaces.
14452
14453 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14454 (grub_ofnet_findcards): Use ofnet_%s names.
14455
14456 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14457
14458 Cleanup socket opening.
14459
14460 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14461 (grub_net_fs_close): Likewise.
14462 (grub_net_fs_read_real): Use eof member.
14463 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14464 (+grub_net_udp_close): New inline function.
14465
14466 * include/grub/net/tftp.h: Moved to the top of ...
14467 * grub-core/net/tftp.c: ... here.
14468 * include/grub/net/ip.h: Moved mostly to the top of ...
14469 * grub-core/net/ip.c: ... here.
14470 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14471 * grub-core/net/ethernet.c: ... here.
14472
14473 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14474
14475 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14476 FS name.
14477
14478 * include/grub/net/ip.h (ipv4_ini): Removed.
14479 (ipv4_fini): Likewise.
14480
14481 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14482 (grub_net_send_ip_packets): Likewise.
14483
cf1337aa
VS
144842011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14487 grub_read_cmos prototype.
14488
93c06ff9
VS
144892011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 VGA text support in qemu-mips
14492
14493 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14494 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14495 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14496 text.
14497 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14498 * grub-core/kern/vga_init.c: ... this.
14499 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14500 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14501 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14502 Adjust.
14503 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14504 GRUB_MACHINE_PCI_IO_BASE.
14505
748ccabe
VS
145062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 MIPS qemu flash support.
14509
14510 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14511 magic.
14512 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14513 (grub_machine_init): Probe memory if its size isn't known.
14514 * util/grub-mkimage.c (image_targets): Add flash targets.
14515 (generate_image): Handle flash targets.
14516
d7345994
VS
145172011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 MIPS qemu at_keyboard support.
14520
14521 * gentpl.py (videoinkernel): Add qemu-mips.
14522 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14523 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14524 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14525 modules.
14526 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14527 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14528 * grub-core/term/serial.c (grub_serial_register)
14529 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14530
a07a81b3
VS
145312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 CMOS support on sparc.
14534
14535 * gentpl.py (cmos): Add powerpc and sparc.
14536 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14537 powerpc and sparc.
14538 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14539 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14540 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14541 grub_set_datetime_cmos.
14542 * grub-core/lib/ieee1275/cmos.c: New file.
14543 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14544 (find_rtc): Set no_ieee1275_rtc on error.
14545 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14546 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14547 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14548 fail. Move value to argument. All users updated
14549 (grub_cmos_write): Likewise.
14550 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14551 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14552 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14553 grub_get_datetime_cmos and grub_set_datetime_cmos.
14554
77546584
GS
145552011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14556
14557 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14558 sourcing grub-mkconfig_lib.
14559 * util/update-grub_lib.in: Likewise.
14560 * util/grub.d/00_header.in: Likewise.
14561 * util/grub.d/10_hurd.in: Likewise.
14562 * util/grub.d/10_kfreebsd.in: Likewise.
14563 * util/grub.d/10_linux.in: Likewise.
14564 * util/grub.d/10_netbsd.in: Likewise.
14565 * util/grub.d/10_windows.in: Likewise.
14566 * util/grub.d/20_linux_xen.in: Likewise.
14567 * util/grub.d/30_os-prober.in: Likewise.
14568
54894791
CW
145692011-06-28 Colin Watson <cjwatson@ubuntu.com>
14570
14571 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14572 default_bg_color rather than black.
14573 (grub_gfxterm_fullscreen): Likewise.
14574 (grub_gfxterm_background_color_cmd): Save new background color in
14575 default_bg_color.
14576
8d5d8444
VS
145772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14580
5afeb5bd
VS
145812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14584 mismerge.
14585
ba7df45e
VS
145862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 Chainloading on coreboot support.
14589
14590 * grub-core/Makefile.core.def (chain): Add coreboot.
14591 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14592
d0b526b2
VS
145932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14596 if it happens.
14597
5ff1d945
VS
145982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 Implement time command.
14601
14602 * grub-core/Makefile.core.def (time): New module.
14603 * grub-core/commands/time.c: New file.
14604 * grub-core/script/parser.y: Remove "time" keyword.
14605 * grub-core/script/yylex.l: Likewise.
14606
5ebaad7e
VS
146072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14610
bdea3798
VS
146112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14614 when handling leftovers.
14615
b28c5655
VS
146162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14619 so that help2man doesn't fail.
14620
b6f945dc
VS
146212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14624 type in pointers on sparc64.
14625 (get_card_packet): Likewise.
14626
f9b75e8a
CW
146272011-06-27 Colin Watson <cjwatson@ubuntu.com>
14628
14629 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14630 with `*'.
14631 (grub_cmd_videoinfo): Fetch current video mode.
14632
1e3d9b86
VS
146332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14636 because of underlying system restrictions.
14637
efff4b1c
VS
146382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14641 necessary.
14642
9fc9ce37
VS
146432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 Coreboot video support.
14646
14647 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14648 (vbe): Likewise.
14649 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14650 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14651 here ...
14652 * grub-core/kern/i386/int.S: ... here.
14653 * grub-core/video/i386/pc/vbe.c: Updated includes.
14654 * grub-core/video/i386/pc/vga.c: Likewise.
14655 * include/grub/i386/coreboot/memory.h
14656 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14657 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14658 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14659 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14660 Disable interrupts.
14661 * include/grub/i386/pc/vga.h: Removed. All users updated.
14662
41bec7fe
VS
146632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14666 definitions for dprintf.
14667 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14668
ca80309d
VS
146692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14672 prototype.
14673 (get_card_packet): Likewise.
14674
9e322ce8
YB
146752011-06-26 Yves Blusseau <blusseau@zetam.org>
14676
14677 Display the path of the file when file is not found
14678
14679 * grub-core/fs/fat.c: Display the filename when file is not found.
14680 * grub-core/fs/fshelp.c: Likewise.
14681 * grub-core/fs/hfs.c: Likewise.
14682 * grub-core/fs/jfs.c: Likewise.
14683 * grub-core/fs/minix.c: Likewise.
14684 * grub-core/fs/ufs.c: Likewise.
14685 * grub-core/fs/btrfs.c: Likewise.
14686 * grub-core/commands/i386/pc/play.c: Likewise.
14687
cbf597af
SJ
146882011-06-26 Szymon Janc <szymon@janc.net.pl>
14689
14690 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14691 pointer checks before calling grub_free().
14692 * grub-core/commands/wildcard.c (match_devices): Likewise.
14693 * grub-core/commands/wildcard.c (match_files): Likewise.
14694 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14695 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14696 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14697 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14698 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14699 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14700 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14701 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14702 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14703
6295b32f
P
147042011-06-25 Patrick <p55@mailinator.com>
14705
14706 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14707
77c0840b
VS
147082011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14711 (grub_pxe_send): Likewise.
14712 (GRUB_MOD_INIT): Fix types.
14713
40ea05de
SJ
147142011-06-24 Szymon Janc <szymon@janc.net.pl>
14715
14716 * grub-core/io/xzio.c: Fix code style issues
14717
90162423
MRA
147182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
147192011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14720
14721 Network infrastructure.
14722 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14723
14724 * include/grub/net/arp.h: New file.
90162423
MRA
14725 * include/grub/net/device.h: Likewise.
14726 * include/grub/net/ethernet.h: Likewise.
14727 * include/grub/net/ip.h: Likewise.
14728 * include/grub/net/netbuff.h: Likewise.
14729 * include/grub/net/tftp.h: Likewise.
14730 * include/grub/net/udp.h: Likewise.
14731 * include/grub/ieee1275/ofnet.h: Likewise.
14732 * include/grub/emu/export.h: Likewise.
14733 * include/grub/net.h: Likewise.
14734 * grub-core/net/arp.c: Likewise.
14735 * grub-core/net/ethernet.c: Likewise.
14736 * grub-core/net/ip.c: Likewise.
14737 * grub-core/net/udp.c: Likewise.
14738 * grub-core/net/tftp.c: Likewise.
14739 * grub-core/net/netbuff.c: Likewise.
14740 * grub-core/net/net.c: Likewise.
14741 * grub-core/net/drivers/emu/emunet.c: Likewise.
14742 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14743 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14744 export.h.
14745 * grub-core/Makefile.core.def (net): New module.
14746 (tftp): Likewise.
14747 (ofnet): Likewise.
14748 (emunet): Likewise.
14749 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14750 network protocols.
14751 * grub-core/kern/device.c (grub_net_open) : New variable.
14752 (grub_device_open): Handle network device.
14753 (grub_device_close): Likewise.
14754 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14755 (grub_grubnet_fini): Likewise.
14756 (grub_file_seek): Seek in network device.
14757 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14758 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14759 network root.
14760 (grub_machine_fini): Call grub_grubnet_fini.
14761 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14762 network.
14763 (grub_ieee1275_get_aliasdevname): New function.
14764 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14765 Add unofficial Solaris network info.
14766 (grub_multiboot_make_mbi): Likewise.
14767 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14768 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14769 * include/grub/device.h (grub_fs): Removed.
14770 * include/grub/err.h (grub_err_t): Add network-related values.
14771 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14772 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14773 (grub_ieee1275_get_aliasdevname): New proto.
14774 * include/grub/net.h: Rewritten.
423a1849 14775
031f22a0
VS
147762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14779 names.
14780
4388ca72
VS
147812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14784 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14785 it truncates the output.
14786 Reported by: Ximin Luo.
14787
98e2f506
VS
147882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14791
2a5e94d8
VS
147922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14795 partmap before abstraction.
14796
535c1910
AK
147972011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14798
14799 * util/grub-mkconfig_lib.in: Add missing quotes.
14800
bc09e1a2
VS
148012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14804 old method if mountinfo would return /dev/root and /dev/root doesn't
14805 exist.
14806
290766fb
VS
148072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 ZFS zlib support
14810
14811 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14812 (decomp_table): Add zlib entries.
14813 (zio_read): USe 8 bits for compression function rather than 3.
14814 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14815
148162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * grub-core/disk/ahci.c: Add missing license statements.
14819 * grub-core/fs/romfs.c: Likewise.
14820 * grub-core/lib/ia64/setjmp.S: Likewise.
14821 * grub-core/loader/i386/pc/freedos.c: Likewise.
14822 * grub-core/loader/ia64/efi/linux.c: Likewise.
14823 * grub-core/video/colors.c: Likewise.
14824 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14825
5ab3f48a
VS
148262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 AHCI support.
14829
14830 * grub-core/Makefile.core.def (ata_pthru): Removed.
14831 (ahci): New module.
14832 (pata): Likewise.
14833 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14834 on unload.
14835 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14836 readwrite.
14837 (grub_hdparm_do_check_powermode_cmd): Likewise.
14838 (grub_hdparm_do_smart_cmd): Likewise.
14839 (grub_hdparm_set_val_cmd): Likewise.
14840 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14841 * grub-core/disk/ahci.c: New file.
14842 * grub-core/disk/ata.c: Factor out the low-level part into ...
14843 * grub-core/disk/pata.c: ... here.
14844 * grub-core/disk/ata_pthru.c: Contents moved to ...
14845 * grub-core/disk/pata.c: ... here.
14846 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14847 (grub_scsi_iterate): Use grub_scsi_names.
14848 (grub_scsi_open): Likewise.
14849 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14850 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14851 (grub_ata_regs_t): New struct.
14852 (grub_disk_ata_pass_through_parms): Likewise.
14853 (grub_ata_device): Renamed to ...
14854 (grub_ata): ... this.
14855 (grub_ata_dev): New struct.
14856 Removed all low-level inline functions.
14857 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14858 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14859 iterate hooks and open. All users updated.
14860 * util/grub-install.in: Handle AHCI disk module.
14861
c31dc5f5
SJ
148622011-06-23 Szymon Janc <szymon@janc.net.pl>
14863
14864 Add support for DRI and RSTn markers in JPEG files.
14865
14866 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14867 (JPEG_MARKER_RST0): Likewise.
14868 (JPEG_MARKER_RST1): Likewise.
14869 (JPEG_MARKER_RST2): Likewise.
14870 (JPEG_MARKER_RST3): Likewise.
14871 (JPEG_MARKER_RST4): Likewise.
14872 (JPEG_MARKER_RST5): Likewise.
14873 (JPEG_MARKER_RST6): Likewise.
14874 (JPEG_MARKER_RST7): Likewise.
14875 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14876 (grub_jpeg_decode_dri): New function.
14877 (grub_jpeg_decode_sos): Move image data related part into
14878 grub_jpeg_decode_data function.
14879 (grub_jpeg_decode_data): New function.
14880 (grub_jpeg_reset): New function.
14881 (grub_jpeg_decode_jpeg): Handle new markers.
14882
fe12fd5b
VS
148832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * util/ieee1275/ofpath.c (check_sas): Close fd.
14886 (main): Free of_path.
14887 Reported by: David Volgyes <dvolgyes>.
14888
03147f46
VS
148892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14892 Reported by: David Volgyes <dvolgyes>.
14893
cad3237f
VS
148942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14897 file after stat.
14898 Reported by: David Volgyes <dvolgyes>.
14899
13548d26
VS
149002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14903
14904 Reported by: David Volgyes <dvolgyes>.
14905
e061a1b5
VS
149062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14909 Prevent memory leak.
14910
1abe47dc
VS
149112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14914 (main): Close file.
e061a1b5 14915 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14916
fbc62666
VS
149172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14920 to continue if allocation is failed.
14921
14922 Reported by: David Volgyes <dvolgyes>.
14923
e98c83e9
DV
149242011-06-23 David Volgyes <dvolgyes>
14925
14926 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14927 dereference.
14928
a199a8cd
VS
149292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 Fix spurious warning.
14932
14933 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14934 (acorn_partition_map_find): Use .bin member.
14935
e2d1dba0
VS
149362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14939 /dev/root as a valid device.
14940
8a5d6919
JM
149412011-06-23 Jim Meyering <meyering@redhat.com>
14942
e2d1dba0
VS
14943 Avoid NULL deref in grub_device_open.
14944
8a5d6919
JM
14945 * grub-core/kern/device.c (grub_device_open): Don't dereference
14946 a NULL pointer upon failed grub_env_get.
14947
f7db6f4a
VS
149482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Support non-512B sectors and agglomerate reads.
14951
14952 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14953 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14954 (disk_io_guid): Removed.
14955 (make_devices): Locate solely by BlockIO.
14956 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14957 (grub_efidisk_read): Use read_blocks.
14958 (grub_efidisk_write): Use write_blocks.
14959 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14960 log_sector_size.
14961 (get_safe_sectors): Handle non-512B sectors.
14962 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14963 sectors.
14964 (grub_biosdisk_write): Handle non-512B sectors.
14965 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14966 (grub_scsi_read): Remove special non-512B block handling (now handled
14967 one level up).
14968 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14969 and do sanity checks.
14970 (grub_disk_adjust_range): Handle non-512B sectors.
14971 (transform_sector): New function.
14972 (grub_disk_read_small): Likewise.
14973 (grub_disk_read): Rewritten.
14974 (grub_disk_write): Handle non-512B sectors.
14975 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14976 log_sector_size.
14977 (open_device): Use log_sector_size.
14978 (grub_util_biosdisk_read): Likewise.
14979 (grub_util_biosdisk_write): Likewise.
14980 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14981 non-512B sectors.
14982 (pc_partition_map_embed): Likewise.
14983 * include/grub/disk.h (grub_disk): New field log_sector_size.
14984 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14985 (GRUB_DISK_CACHE_BITS): Increased to 6.
14986 * util/grub-fstest.c (fstest): New command testload.
14987 (argp_parser): Likewise.
14988
881ac815
RM
149892011-06-16 Robert Millan <rmh@gnu.org>
14990
14991 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14992 `ata' driver on kernel of FreeBSD 9.
14993
14994 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14995 (get_ataraid_disk_name): New functions.
14996 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14997 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14998 get_ataraid_disk_name() and get_ada_disk_name().
14999
1e9aef7d
CW
150002011-06-13 Colin Watson <cjwatson@ubuntu.com>
15001
15002 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15003 input format.
15004
351c7c8a
CW
150052011-05-29 Colin Watson <cjwatson@ubuntu.com>
15006
15007 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15008 `ftp.gnu.org' for `alpha.gnu.org'.
15009
6b4e6430
CW
150102011-05-27 Colin Watson <cjwatson@ubuntu.com>
15011
15012 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15013 partitions under /dev/disk/by-id/.
15014
c64db050
CW
150152011-05-27 Colin Watson <cjwatson@ubuntu.com>
15016
15017 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15018 after ten consecutive open failures. Scanning all the way up to
15019 10000 is excessive and can cause serious performance problems in
15020 some configurations.
15021 Fixes Ubuntu bug #787461.
15022
245f4aba
VS
150232011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15026 opening new one.
15027
f767c929
VS
150282011-05-21 Colin Watson <cjwatson@ubuntu.com>
150292011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Don't stat devices unless we have to.
15032
15033 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15034 dir == /dev/mapper.
15035 (grub_guess_root_device): Use already known os_dev if possible.
15036 * grub-core/kern/emu/hostdisk.c
15037 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15038 if device is known to be a dm one.
15039
f35fa3a6
CW
150402011-05-20 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15043 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15044 Reported by: Pawel Tecza.
15045
9a79fcf2
VS
150462011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15049 (lsefisystab): Likewise.
15050 (lssal): Likewise.
15051 (lsefimmap): Likewise.
15052 (hdparm): Enable on qemu-mips.
15053 (setjmp): Add ia64 nodist.
15054 (serial): Simplify tags.
15055
63e3eea9
CW
150562011-05-18 Colin Watson <cjwatson@ubuntu.com>
15057
15058 * Makefile.util.def (grub-ofpathname): Install manual page.
15059
09728256
CW
150602011-05-18 Colin Watson <cjwatson@ubuntu.com>
15061
15062 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15063
8b63a142
CW
150642011-05-18 Colin Watson <cjwatson@ubuntu.com>
15065
15066 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15067
e775d8ed
VS
150682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15071 into dprintf.
15072
bf947d36
VS
150732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Use full 64-bit division.
15076
15077 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15078 (grub_divmod64): ... this.
15079 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15080 version.
15081
b84f26c5
CW
150822011-05-18 Colin Watson <cjwatson@ubuntu.com>
15083
15084 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15085 `source'.
15086
5626056f
CW
150872011-05-18 Colin Watson <cjwatson@ubuntu.com>
15088
15089 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15090 to avoid accidents when debugging with 'sh -x'.
15091 * grub-core/gensyminfo.sh.in: Likewise.
15092 * tests/example_scripted_test.in: Likewise.
15093 * tests/grub_cmd_regexp.in: Likewise.
15094 * tests/grub_script_blanklines.in: Likewise.
15095 * tests/grub_script_dollar.in: Likewise.
15096 * tests/grub_script_expansion.in: Likewise.
15097 * tests/grub_script_final_semicolon.in: Likewise.
15098 * tests/partmap_test.in: Likewise.
15099 * tests/util/grub-shell-tester.in: Likewise.
15100 * tests/util/grub-shell.in: Likewise.
15101
e2965f4a
CW
151022011-05-18 Colin Watson <cjwatson@ubuntu.com>
15103
15104 Move gfxmenu color handling to video, so that gfxterm can use it
15105 too.
15106
15107 * grub-core/gfxmenu/named_colors.c: Move to ...
15108 * grub-core/video/colors.c: ... here. Rename
15109 grub_gui_get_named_color to grub_video_get_named_color.
15110 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15111 * grub-core/video/colors.c (my_isxdigit): ... here.
15112 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15113 Move to ...
15114 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15115 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15116 to ...
15117 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15118
15119 * include/grub/gui.h (grub_gui_color_t): Move to ...
15120 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15121 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15122 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15123 * include/grub/gui.h (grub_gui_map_color): Move to ...
15124 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15125 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15126 to ...
15127 * include/grub/video.h (grub_video_get_named_color): ... here.
15128 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15129 * include/grub/video.h (grub_video_parse_color): ... here.
15130
15131 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15132 video/colors.c.
15133 (gfxmenu): Remove gfxmenu/named_colors.c.
15134 (video) [videomodules]: Add video/colors.c.
15135
15136 Add a background_color command.
15137
15138 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15139 function.
15140 (GRUB_MOD_INIT): Register background_color command.
15141 (GRUB_MOD_FINI): Unregister background_color command.
15142 (redraw_screen_rect): Allow blend/replace of text layer to be
15143 controlled independently from whether there is a background bitmap.
15144 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15145 changing bitmap.
15146
1e4b4390
VS
151472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15148
26618ff0
VS
15149 Patch BPB in ntldr and chainloader --bpb.
15150
1e4b4390
VS
15151 * grub-core/fs/fat.c: Include grub/fat.h.
15152 (grub_fat_bpb): Moved to ...
15153 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15154 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15155 grub/ntfs.h.
15156 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15157 Moved from here...
15158 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15159 here.
15160 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15161 New function.
15162 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15163 (GRUB_MOD_INIT): Show --bpb.
15164 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15165 * grub-core/normal/main.c (features): New variable.
15166 (GRUB_MOD_INIT): Set feature_* variables.
15167 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15168 proto.
15169 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15170
cf02731e
VS
151712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15174 for cleanness.
15175
e3a1073f
VS
151762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 FreeDOS direct loading support.
15179
15180 * docs/grub.texi (Supported OS): Add FreeDOS.
15181 * grub-core/Makefile.core.def (freedos): New module.
15182 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15183 variable.
15184 (grub_relocator16_boot): Handle %ebx.
15185 * grub-core/lib/i386/relocator16.S: Likewise.
15186 * grub-core/loader/i386/pc/freedos.c: New file.
15187
05caa461
VS
151882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 Long Linux command line support.
15191
15192 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15193 (maximal_cmdline_size): New variable.
15194 (allocate_pages): Use maximal_cmdline_size.
15195 (grub_cmd_linux): Set and use maximal_cmdline_size.
15196 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15197 (allocate_pages): Use maximal_cmdline_size.
15198 (grub_cmd_linux): Set and use maximal_cmdline_size.
15199 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15200 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15201 and cmdline_size.
15202
a2491e23
VS
152032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
152042011-05-18 Colin Watson <cjwatson@ubuntu.com>
15205
15206 Improve devmapper support
15207
15208 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15209 (grub_util_is_lvm): New function.
15210 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15211 than lvm if not dmraid.
15212 Handle mapped md nodes.
15213 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15214 (grub_util_device_is_mapped): ... this. Make always available. All users
15215 updated.
15216 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15217 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15218 dmraid nodes.
15219 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15220
6ad6223e
VS
152212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15224
15225 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15226 * grub-core/modinfo.sh.in: New file.
15227 * grub-core/Makefile.core.def (modinfo.sh): New script.
15228 * util/grub-mknetdir.in: Use modinfo.sh.
15229 * util/grub-mkrescue.in: Likewise.
15230
543a8f6e
VS
152312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15234 Fix potential usage of Elf32 instead of Elf64 when compiling on
15235 32-bit architecture. Add endianness macros while on it.
15236
4959e111
VS
152372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 Use mipsel- rather than mips- in directories involving mipsel ports to
15240 allow both endiannesses coexist.
15241
15242 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15243 mips. All conditions adjusted.
15244 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15245 variable.
15246 * util/grub-install.in: Adjust conditions to take renaming into account.
15247 * util/grub-mkimage.c (image_targets): Likewise. New target
15248 mips-qemu_mips-elf for bigendian mips.
15249
35341bbc
VS
152502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 Avoid unnecessary copying on MIPS.
15253
15254 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15255 early if src == dest.
15256 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15257 compression is none.
15258
b772baed
VS
152592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 Reduce memory footprint on SGI by putting modules before the kernel
15262 as opposed to after.
15263
15264 * grub-core/Makefile.core.def (kernel): Increase linking address.
15265 (none_decompress): Likewise.
15266 (xz_decompress): Likewise.
15267 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15268 address.
15269 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15270 layout change.
15271 (grub_arch_modules_addr): New function.
15272 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15273 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15274 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15275 here.
15276 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15277 (grub_total_modules_size): ... this. Make global.
15278 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15279 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15280 New definition.
15281 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15282 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15283 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15284 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15285 * util/grub-mkimage.c (image_target_desc): New flag
15286 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15287 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15288 (generate_image): Handle images with modules before kernel.
15289
566a1917
VS
152902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Prevent potential loss of memory map by overwrite on qemu-mips.
15293
15294 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15295 Save ram size in $s4.
15296 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15297 All users changed to grub_arch_memsize.
15298 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15299 Loongson.
15300 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15301 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15302 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15303 external variable.
15304
5d420cd9
CW
153052011-05-17 Colin Watson <cjwatson@ubuntu.com>
15306
15307 * .bzrignore: Remove grub-dumpbios.
15308
d064b830
CW
153092011-05-17 Colin Watson <cjwatson@ubuntu.com>
15310
15311 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15312 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15313 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15314 existing options which append).
15315 * docs/grub.texi (Simple configuration): Document new options.
15316 Reported by: Ian Jackson. Fixes Debian bug #617538.
15317
3ca2b466
CW
153182011-05-17 Colin Watson <cjwatson@ubuntu.com>
15319
15320 * util/grub-fstest.c (cmd_cat): New function.
15321 (fstest): Handle CMD_CAT.
15322 (options): Add cat.
15323 (argp_parser): Handle cat.
15324
24c9143a
CW
153252011-05-17 Colin Watson <cjwatson@ubuntu.com>
15326
15327 * Makefile.util.def (grub-bin2h): Don't install.
15328 * docs/man/grub-bin2h.h2m: Remove.
15329
90f7ac19
VS
153302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15333 place.
15334
8d4a5178
VS
153352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 Reenable qemu-mips port.
15338
15339 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15340 Fix small arc bug while on it.
15341 * gentpl.py: Handle qemu_mips.
15342 * grub-core/Makefile.am: Likewise.
15343 * grub-core/Makefile.core.def: Likewise.
15344 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15345 inappropriate includes.
15346 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15347 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15348 * grub-core/kern/main.c (grub_modules_get_end)
15349 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15350 * grub-core/kern/mips/qemu-mips: Moved to ..
15351 * grub-core/kern/mips/qemu_mips: ... this.
15352 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15353 (grub_machine_init): Call terminfo_init and serial_init.
15354 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15355 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15356 New variable.
15357 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15358 parameter passing.
15359 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15360 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15361 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15362 * include/grub/mips/qemu_mips/cmos.h: New file.
15363 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15364 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15365 Removed.
15366 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15367 Use correct mips-style address.
15368 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15369 (GRUB_TICKS_PER_SECOND): Removed.
15370 (grub_get_rtc): Likewise.
15371 (grub_cpu_idle): Likewise.
15372 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15373 New definition.
15374 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15375 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15376 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15377 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15378 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15379 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15380 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15381 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15382
400b9371
VS
153832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 SGI ARCS port.
15386
15387 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15388 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15389 platforms.
15390 * configure.ac: New target mips-arc.
15391 * gentpl.py: Likewise.
15392 * grub-core/Makefile.am: Likewise.
15393 * grub-core/Makefile.core.def: Likewise.
15394 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15395 (none_decompress): Likewise.
15396 (lsdev): New module.
15397 (datetime): Use lib/arc/datetime.c on ARC.
15398 (part_dvh): New module.
15399 * grub-core/commands/arc/lsdev.c: New file.
15400 * grub-core/disk/arc/arcdisk.c: Likewise.
15401 * grub-core/kern/mips/arc/init.c: Likewise.
15402 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15403 aligned addresses.
15404 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15405 support.
15406 (grub_arch_dl_relocate_symbols): Likewise.
15407 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15408 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15409 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15410 platforms.
15411 * grub-core/lib/arc/datetime.c: New file.
15412 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15413 pci.h on non-loongson.
15414 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15415 (grub_linux_boot): Set unused registers to 0.
15416 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15417 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15418 * grub-core/mmap/mips/uppermem.c: ...here.
15419 * grub-core/partmap/dvh.c: New file.
15420 * grub-core/term/arc/console.c: Likewise.
15421 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15422 (grub_terminfo_set_current): Add terminal "arc".
15423 (grub_terminfo_readkey): Support ARC sequences.
15424 * include/grub/arc/arc.h: New file.
15425 * include/grub/arc/console.h: Likewise.
15426 * include/grub/disk.h (grub_disk_dev_id): Add
15427 GRUB_DISK_DEVICE_ARCDISK_ID.
15428 * include/grub/mips/arc/kernel.h: New file.
15429 * include/grub/mips/arc/memory.h: Likewise.
15430 * include/grub/mips/arc/time.h: Likewise.
15431 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15432 * include/grub/mips/kernel.h (grub_halt): ... here.
15433 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15434 here...
15435 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15436 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15437 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15438 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15439 proto.
15440 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15441 from here ...
15442 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15443 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15444 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15445 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15446 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15447 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15448 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15449 (grub_phys_addr_t): Moved from here ...
15450 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15451 (grub_vtop): Moved from here ...
15452 * include/grub/mips/memory.h (grub_vtop): ... here.
15453 (grub_map_memory): Moved from here ...
15454 * include/grub/mips/memory.h (grub_map_memory): ... here.
15455 (grub_unmap_memory): Moved from here ...
15456 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15457 (grub_machine_mmap_iterate): Moved from here ...
15458 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15459 (grub_mmap_get_lower): Moved from here ...
15460 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15461 (grub_mmap_get_upper): Moved from here ...
15462 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15463 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15464 here ...
15465 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15466 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15467 here ...
15468 * include/grub/mips/time.h (grub_get_rtc): ... here.
15469 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15470 here ...
15471 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15472 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15473 here ...
15474 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15475 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15476 definition.
15477 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15478 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15479 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15480 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15481 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15482 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15483 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15484 (GRUB_MACHINE_LINK_ADDR): Likewise.
15485 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15486 to 6.
15487 * util/grub-install.in: Run dvhtool on ARC.
15488 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15489 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15490
c8ecc840
VS
154912011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15494 blocks.
15495
153a4b55
VS
154962011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15499 after enabling port.
15500
ff44d107
VS
155012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 Skip incorrect USB devices.
15504
15505 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15506 configcnt == 0.
15507 * include/grub/usb.h (grub_usb_err_t): New enum value
15508 GRUB_USB_ERR_BADDEVICE.
15509
638dbe4f
VS
155102011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 Fuloong video init support.
15513
15514 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15515 well.
15516 (grub_vga_read_arx): New function.
15517 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15518 definition.
15519 (framebuffer): New members io, mmioptr and mmiobase.
15520 (read_sis_cmd): New function.
15521 (write_sis_cmd): Likewise.
15522 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15523 rather than 640x400.
15524 * grub-core/video/sis315_init.c: New file.
15525
c3fc520c
VS
155262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15529 non-loongson.
15530 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15531 to grub_dl_register_symbol.
15532
67b1e5c9
VS
155332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 Fix compilation errors.
15536
15537 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15538 potentially unused.
15539 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15540 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15541 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15542 to loongson machines.
15543
b756f75f
VS
155442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 Several FS mtime support.
15547
15548 * grub-core/fs/affs.c (grub_affs_time): New struct.
15549 (grub_affs_file): New field mtime.
15550 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15551 type. Removed 'size'. New field 'di'. All users updated.
15552 (grub_affs_mount): Simplify checsum checking.
15553 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15554 (grub_affs_dir): Handle mtime.
15555 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15556 (grub_cpio_dir): Likewise.
15557 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15558 (grub_hfs_filerec): New field mtime.
15559 (grub_hfs_dir): Handle mtime.
15560 (grub_hfs_mtime): New function.
15561 (grub_hfs_fs): Register grub_hfs_mtime.
15562 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15563 (grub_iso9660_dir): New field mtime.
15564 (grub_fshelp_node): New field dirent.
15565 (iso9660_to_unixtime): New function.
15566 (iso9660_to_unixtime2): Likewise.
15567 (grub_iso9660_read_symlink): Use node->dirent.
15568 (grub_iso9660_iterate_dir): Likewise.
15569 (grub_iso9660_dir): Set mtime.
15570 (grub_iso9660_mtime): New function.
15571 (grub_iso9660_fs): Register grub_iso9660_mtime.
15572 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15573 (grub_jfs_inode): New fields atime, ctime and mtime.
15574 (grub_jfs_dir): Set mtime.
15575 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15576 * grub-core/fs/ntfs.c (list_file): Set mtime.
15577 (grub_ntfs_dir): Likewise.
15578 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15579 (grub_reiserfs_iterate_dir): Set mtime.
15580 (grub_reiserfs_dir): Likewise.
15581 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15582 (grub_fshelp_node): Likewise.
15583 (grub_sfs_iterate_dir): Set mtime.
15584 (grub_sfs_dir): Likewise.
15585 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15586 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15587 (grub_xfs_inode): New fields atime, mtime, ctime.
15588 (grub_xfs_dir): Set mtime.
15589 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15590 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15591 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15592
15593 Support UDF symlinks.
15594
15595 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15596 (grub_ufs_read_symlink): New function. All users updated.
15597
15598 Check amiga partmap checksum.
15599
15600 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15601 (grub_amiga_partition): Likewise.
15602 (amiga_partition_map_checksum): New function.
15603 (amiga_partition_map_iterate): Check checksum.
15604
5470225d
VS
156052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 ROMFS support.
15608
15609 * Makefile.util.def (libgrubmods.a): Add romfs.
15610 * grub-core/Makefile.core.def (romfs): New module.
15611 * grub-core/fs/romfs.c: New file.
15612
d4680a35
VS
156132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 Squashfs v4 support.
15616
15617 * Makefile.util.def (libgrubmods.a): Add squash4.
15618 * grub-core/Makefile.core.def (squash4): New module.
15619 * grub-core/fs/squash4.c: New file.
15620 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15621 disk_input_start, disk_input.
15622 (get_byte): Handle disk_input.
15623 (grub_zlib_disk_read): New function.
15624 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15625
bcb18e74
FZ
156262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
156272011-05-15 Feiran Zheng <famcool@gmail.com>
15628
15629 * Makefile.util.def (libgrubmods.a): Add minix3.
15630 * grub-core/Makefile.core.def (minix3): New module.
15631 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15632 (GRUB_MINIX_BSIZE): Removed.
15633 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15634 (grub_minix_ino_t): New type.
15635 (grub_minix_le_to_cpu_ino): New macro.
15636 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15637 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15638 (grub_minix_data): New field block_size.
15639 (grub_minix_read_file): Handle 64-bit correctly.
15640 * grub-core/fs/minix3.c: New file.
15641
32297d5f
TG
156422011-05-15 Tristan Gingold <gingold@free.fr>
156432011-05-15 Robert Millan <rmh.grub@aybabtu.com>
156442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 IA64 support.
15647
15648 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15649 * configure.ac: Add ia64-efi target.
15650 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15651 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15652 * gentpl.py: Add ia64_efi platform.
15653 Rename x86_efi to efi and Add ia64-efi. All users updated.
15654 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15655 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15656 Remove kern/generic/rtc_get_time_ms.c on EFI.
15657 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15658 kern/ia64/dl_helper.c on ia64-efi.
15659 Add kern/emu/cache.c on emu.
15660 (linux): Use on loader/ia64/efi/linux.c on ia64.
15661 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15662 whether symbol is a function.
15663 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15664 (grub_symbol): New field 'isfunc'.
15665 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15666 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15667 (grub_dl_load_segments): Place all sections into the same region.
15668 [__ia64__]: Create trampolines and got.
15669 [GRUB_MACHINE_EMU]: Call mprotect.
15670 (grub_dl_resolve_symbols): Resolve symbol type as well.
15671 [__ia64__]: Create function descriptors.
15672 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15673 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15674 (grub_get_rtc): New function.
15675 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15676 * grub-core/kern/emu/cache.S: Renamed to ...
15677 * grub-core/kern/emu/cache_s.S: ... this.
15678 [__ia64__]: Add a nop.
15679 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15680 [__ia64__]: New function.
15681 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15682 * grub-core/kern/ia64/dl.c: New file.
15683 * grub-core/kern/ia64/dl_helper.c: Likewise.
15684 * grub-core/kern/ia64/efi/init.c: New file.
15685 * grub-core/kern/ia64/efi/startup.S: Likewise.
15686 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15687 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15688 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15689 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15690 * grub-core/loader/ia64/efi/linux.c: New file.
15691 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15692 (GRUB_MOD_DEP): Likewise.
15693 (grub_dl) [__ia64__]: New fields got and tramp.
15694 (grub_dl): New field 'base'.
15695 (grub_dl_register_symbol): New argument isfunc. All users updated.
15696 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15697 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15698 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15699 (grub_ia64_dl_get_tramp_got_size): New proto.
15700 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15701 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15702 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15703 * include/grub/efi/api.h: Skip call wrappers on ia64.
15704 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15705 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15706 * include/grub/elf.h (ELF_ST_INFO): New definition.
15707 * include/grub/ia64/efi/kernel.h: New file.
15708 * include/grub/ia64/efi/memory.h: Likewise.
15709 * include/grub/ia64/efi/time.h: Likewise.
15710 * include/grub/ia64/kernel.h: Likewise.
15711 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15712 * include/grub/ia64/time.h: New file.
15713 * include/grub/ia64/types.h: Likewise.
15714 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15715 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15716 New protos.
15717 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15718 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15719 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15720 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15721 All users updated.
15722 (EFI64_HEADER_SIZE): New definition. All users updated.
15723 (image_targets): Add ia64-efi.
15724 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15725 jumpers_addr. All users updated.
15726 Create function descriptors.
15727 (count_funcs): New function.
15728 (unaligned_uint32): New struct.
15729 (MASK20): New definition.
15730 (MASK19): Likewise.
15731 (MASKF21): Likewise.
15732 (add_value_to_slot_20b): New function.
15733 (add_value_to_slot_21_real): Likewise.
15734 (add_value_to_slot_21): Likewise.
15735 (ia64_kernel_trampoline): New struct.
15736 (nopm): New variable.
15737 (jump): Likewise.
15738 (make_trampoline): New function.
15739 (relocate_addresses): Handle ia64.
15740 (make_reloc_section): Likewise.
15741 (load_image): Likewise.
15742
983b414d
VS
157432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15746 warning. Move variables before code while on it.
15747
5d063cdc
VS
157482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 Fuloong support.
15751
15752 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15753 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15754 * grub-core/boot/mips/loongson/fuloong.S: New file.
15755 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15756 Explicitly init CS5536.
15757 [FULOONG]: Don't use serial until CS5536 is available.
15758 Set GPIO based on dumps.
15759 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15760 [FULOONG]: Handle GPIO and memory controller differences.
15761 Parse machine type in $a2.
15762 * grub-core/boot/mips/startup_raw.S: Determine and save the
15763 architecture.
15764 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15765 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15766 init on architecture type.
15767 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15768 SIS315E. Don't init at_keyboard on fuloong.
15769 (grub_halt): Support Fuloong.
15770 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15771 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15772 (loongson_machtypes): New array.
15773 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15774 type.
15775 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15776 config. All users updated. Handle CS5536 serial.
15777 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15778 default port on machine type. Register serial as inactive.
15779 * grub-core/video/sis315pro.c: New file.
15780 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15781 definition.
15782 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15783 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15784 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15785 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15786 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15787 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15788 to ...
15789 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15790 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15791 definition.
15792 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15793 (grub_arch_machine): New extern var.
15794 * include/grub/mips/loongson/serial.h
15795 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15796 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15797 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15798 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15799 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15800 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15801 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15802 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15803 * include/grub/term.h (grub_term_register_input_inactive): New inline
15804 function.
15805 (grub_term_register_output_inactive): Likewise.
15806 * include/grub/video.h (grub_video_driver_id): New value
15807 GRUB_VIDEO_DRIVER_SIS315PRO.
15808 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15809 New field "names". All users updated.
15810 New field value IMAGE_FULOONG_FLASH.
15811 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15812
6ada82d1
JU
158132011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15814
15815 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15816 and add some clarification.
15817
90c571a4
VS
158182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15821 platforms if kernel is compressed.
15822
de04eecf
VS
158232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15826 unused modules since currently referrence counter isn't reliable and
15827 there isn't much memory to recover there anyway.
15828
57688121
VS
158292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15832 rather than resetting it to allow modules to reference themselves
15833 in init.
15834
3d2c7e35
VS
158352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15838 counter on dependencies since grub_dl_unref already handles this.
15839
b25db218
VS
158402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15843 on error if not already done.
15844
25a45338
VS
158452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 Fix few potential memory misusage.
15848
15849 * grub-core/font/font.c (load_font_index): Don't free char_index to
15850 avoid double free.
b25db218
VS
15851 (grub_font_load): Zero-fill font at alloc for safety.
15852 Close file on error.
15853 (free_font): Free bmp_idx.
25a45338 15854
0cac83df
VS
158552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * docs/grub.texi (Installation): Fix several outdated claims.
15858
2217a143
VS
158592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Handle module_license on windows.
15862
15863 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15864 sections shifted.
15865 (insert_string): Make argument const char * instead of char *.
15866 (write_section_data): Handle long section names.
15867 Handle module_license.
15868
d4de6b01
VS
158692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15872 handle class-free menuentries.
15873 (grub_normal_add_menu_entry): Add a check to be sure.
15874
4c2a3b43
VS
158752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15878 PgUp and PgDown.
15879
85c6210f
VS
158802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * configure.ac: Bump version to 1.99.
15883
36084912
VS
158842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Give ATA device a bit more time on first try in order to allow disks
15887 to spin up.
15888
15889 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15890 if dev->present is 1. Reset dev->present on failure.
15891 (grub_ata_device_initialize): Set dev->present to 1.
15892 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15893 (grub_ata_device): New member 'present'.
15894
bda0e219
VS
158952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * util/grub-mkimage.c (generate_image): Update hash.
15898
19e1c41b
VS
158992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 Flush caches on DMA memory.
15902
15903 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15904 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15905 (grub_dma_free): Likewise.
15906 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15907
91bbcc0c
VS
159082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15911 to avoid asm treating ld and sd as macros.
15912
60ddfad3
VS
159132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15916 decompressor.
15917
a298aa04
VS
159182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15921 grub_decompress_core since later would fail if grub_decompress_core
15922 is too far.
15923
9b44feca
VS
159242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15927 R_MIPS_JALR since it's used by newer compiler.
15928
56dbe7b4
VS
159292011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15932
52856af2
VS
159332011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15936 file_path to 0 for surety.
15937 (grub_chainloader_boot): Set exit_data to NULL.
15938 Unset the loader once done.
15939 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15940
9c9bfc6d
VS
159412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15944 unknown key into a dprintf.
15945
dd94a3df
VS
159462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15949 on first non-existant partition.
15950
fa68d99c
VS
159512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15954 openning fails.
15955 Reported by: Mark Korenberg.
15956
157effb7
VS
159572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15960 overflow.
15961
ea75312f
VS
159622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15965 before closing to ensure that it will be readable by grub-setup.
15966
072b5d31
VS
159672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15970 (devpath_1): Use MAKE_PIWG_PATH.
15971 (devpath_2): Likewise.
15972 (devpath_3): Likewise.
15973 (devpath_4): Likewise.
15974 (devpath_5): Likewise.
15975 (devpath_6): Likewise.
15976
15977 The appleldr.mod was checked that to be binary identical to previous
15978 version.
15979
7fae0051
Z
159802011-05-05 Zach <mikezackles>
15981
15982 Support 2010 Macbooks.
15983
15984 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15985 (devs): Add devpath_6.
15986
7c515bee
VS
159872011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15990 /dev/random. /dev/urandom is good enough for our purposes (salting).
15991
ed660bd8
VS
159922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15995
ee5614b7
VS
159962011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15999 hexadecimal.
16000
664889a6
VS
160012011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16004 and not 0 on failure.
16005
bd405bbc
CW
160062011-05-03 Colin Watson <cjwatson@ubuntu.com>
16007
16008 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16009 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16010 disk; otherwise grub_fs_probe will not fall back to the next
16011 filesystem.
16012 (grub_pxefs_open): Likewise, for consistency.
16013 Reported and tested by: Ezekiel Grave.
16014
4ebff753
CW
160152011-05-03 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * tests/partmap_test.in: Don't hardcode path to parted.
16018 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16019
8f942553
CW
160202011-05-01 Colin Watson <cjwatson@ubuntu.com>
16021
16022 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16023 of `ls' to find out which devices are available.
16024
3c62402d
VS
160252011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16028 than source address for efi mmap buffer.
16029
723f63f2
VS
160302011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16033 wrong action on non-detecting the magic.
16034
68797f92
VS
160352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16038 already supplied by another part of the module (fixes compilation on
16039 FreeBSD).
16040
6be8715d
VS
160412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16044 match the one used by mdadm.
16045
e91dba5b
CW
160462011-04-21 Colin Watson <cjwatson@ubuntu.com>
16047
16048 * po/README: Add instructions for creating po/LINGUAS.
16049
c85140b3
CW
160502011-04-21 Colin Watson <cjwatson@ubuntu.com>
16051
16052 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16053 #551428.
16054
16055 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16056 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16057 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16058 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16059 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16060 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16061 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16062 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16063 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16064 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16065 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16066 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16067 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16068 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16069 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16070 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16071 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16072 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16073 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16074 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16075 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16076 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16077
92051871
CW
160782011-04-21 Colin Watson <cjwatson@ubuntu.com>
16079
16080 * grub-core/kern/emu/getroot.c
16081 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16082 test that was incorrectly reintroduced in r3214.
16083 Reported by: Ian Dall. Fixes Savannah bug #33133.
16084
b13f79a4
CW
160852011-04-21 Colin Watson <cjwatson@ubuntu.com>
16086
16087 Fix stack pointer handling in 16-bit relocator.
16088
16089 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16090 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16091 Fixes Ubuntu bug #683904.
16092
9b710a88
VS
160932011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * configure.ac: Bump version to 1.99~rc2.
16096
d97e7b59
VS
160972011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16100 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16101 * grub-core/lib/x86_64/setjmp.S: Likewise.
16102 * grub-core/lib/mips/setjmp.S: Likewise.
16103 * grub-core/lib/powerpc/setjmp.S: Likewise.
16104 * grub-core/lib/sparc64/setjmp.S: Likewise.
16105
0624551c
VS
161062011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16109 * grub-core/lib/efi/datetime.c: Likewise.
16110
e8f28d4c
VS
161112011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16114 New function.
16115 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16116 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16117 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16118
bba79a15
VS
161192011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16122 bitmap.
16123 (grub_gfxterm_term_init): Likewise.
16124
abc474ef
VS
161252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 Take into account the decorations the computing menu entry width.
16128
16129 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16130 (grub_gfxmenu_create_box): Register get_border_width.
16131 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16132 if available.
16133 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16134 get_border_width.
16135
e74b3947
EP
161362011-04-18 Endres Puschner <code@e7p.de>
16137
16138 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16139 Don't skip first class.
16140
34faa595
VS
161412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16144 chunks.
16145 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16146
93a777e3
VS
161472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 Complete 64-bit division support.
16150
16151 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16152 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16153 * include/grub/misc.h (grub_divmod64): Rename to ...
16154 (grub_divmod64_full): ... this.
16155 (grub_divmod64): New inline function.
16156
a5102d94
VS
161572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16160
f3fb7b36
VS
161612011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16164 performing the necessary test.
16165
9ac718b0
VS
161662011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16167
16168 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16169 (kfreebsd.elf): Likewise.
16170 (pc-chainloader.elf): Likewise.
16171 (ntldr.elf): Likewise.
16172
50d2cc5a
VS
161732011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 Identify RAID by its UUID rather than (guessed) name.
16176
16177 * grub-core/disk/raid.c (ascii2hex): New function.
16178 (grub_raid_open): Accept mduuid/%s specification.
16179 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16180 (get_mdadm_uuid): ... this.
16181 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16182
e03f7bea
VS
161832011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16186 to negative size.
16187
e74c3112
CW
161882011-04-13 Colin Watson <cjwatson@ubuntu.com>
16189
16190 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16191 btrfs subvolume.
16192 * util/grub.d/20_linux_xen.in: Likewise.
16193
78fa584f
CW
161942011-04-13 Colin Watson <cjwatson@ubuntu.com>
16195
16196 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16197 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16198
16199 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16200 Build a list of relevant visible mounts using the mnt_id and
16201 parent_mnt_id fields, and then scan that list at the end.
16202
9d5f8162
CW
162032011-04-12 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * docs/grub.texi (normal): New section.
16206 (normal_exit): New section.
16207 (Embedded configuration): Add reference to normal.
16208 (GRUB only offers a rescue shell): Likewise.
16209 * docs/grub-dev.texi (Error Handling): Fix typo.
16210
09a9d66f
CW
162112011-04-12 Colin Watson <cjwatson@ubuntu.com>
16212
16213 * NEWS: Drop obsolete entry about probe-only btrfs support.
16214
0c676933
CW
162152011-04-12 Colin Watson <cjwatson@ubuntu.com>
16216
16217 * util/import_gcry.py: Fix typo.
16218
ec9f5e0d
VS
162192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 * NEWS: Add btrfs support.
16222
fe6b2cba
VS
162232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
162242011-04-11 Colin Watson <cjwatson@ubuntu.com>
16225
16226 BtrFS support. Written by me (Vladimir) with important bugfixes and
16227 even more important testing by Colin.
16228
16229 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16230 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16231 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16232 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16233 mem_input_off and mem_input. All users updated to accept in-RAM input.
16234 (gzio_seek): New function.
16235 (test_zlib_header): Likewise.
16236 (grub_gzio_read): Likewise.
16237 (grub_zlib_decompress): Likewise.
16238 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16239 Accept partial and non-virtual mounts.
16240 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16241 avoid receiving /dev/dm-X as device.
16242 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16243 Handle bind and partial mounts.
16244 * grub-core/lib/crc.c: New file.
16245 * include/grub/deflate.h: Likewise.
16246 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16247 proto.
16248 * include/grub/lib/crc.h: New file.
16249
e745cf0c
VS
162502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16251
16252 Implement automatic module license checking according to new GNU
16253 guidelines.
16254
16255 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16256 (grub_dl_load_core): Use grub_dl_check_license.
16257 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16258 (GRUB_MOD_LICENSE): Likewise.
16259 (GRUB_MOD_DUAL_LICENSE): Likewise.
16260 All modules updated.
16261
2a9bc016
CW
162622011-04-11 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16265 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16266 loaders.
16267 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16268
8a3bc88e
VS
162692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16272
af869a4a
VS
162732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16276 failed.
16277
9ee8d94f
VS
162782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16281 parenthesis in the middle of the filename.
16282
b01abe3e
VS
162832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16286 rather than trying to put initrd way too high.
16287 Reported by: Ryan Lortie <desrt@desrt.ca>
16288
335bda1e
VS
162892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16292 improperly removed string.
16293
5ca1a64d
VS
162942011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16297 is_disk.
16298 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16299 (open_device) Likewise.
16300 (grub_util_biosdisk_close): Likewise.
d8ce9995 16301 Reported by: Mark Korenberg.
5ca1a64d 16302
cbac5b1e
AK
163032011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16304
16305 * util/grub-mkconfig_lib.in: Add missing quotes.
16306
088cdb65
CW
163072011-04-10 Colin Watson <cjwatson@ubuntu.com>
16308
16309 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16310 is NULL.
16311
8b8a81fa
VS
163122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 Dynamically count the number of lines for the lower banner.
16315
16316 * grub-core/normal/menu_entry.c (per_term_screen): New member
16317 num_entries.
16318 (print_down): Use num_entries.
16319 (update_screen): Likewise.
16320 (grub_menu_entry_run): Set num_entries.
16321 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16322 num_entries.
16323 (grub_print_message_indented): Move real part to ...
16324 (grub_print_message_indented_real): ... here. Additional argument
16325 dry_run.
16326 (draw_border): Additional argument num_entries.
16327 (print_message): Additional argument dry_run.
16328 (print_entries): Receive menu viewer data.
16329 (grub_menu_init_page): New argment num_entries.
16330 (menu_text_set_chosen_entry): Use num_entries.
16331 (grub_menu_try_text): Likewise.
16332 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16333 All users updated.
16334 (grub_ucs4_count_lines): New function.
16335 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16336 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16337 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16338 (grub_term_border_height): Likewise.
16339 (grub_term_num_entries): Likewise.
16340
277f955b
VS
163412011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16344 Remove now unused string.
16345
536ce85a
CW
163462011-04-09 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16349 build system.
16350 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16351
16352 (Comment): Fix typo.
16353 (Getting started): General copy-editing.
16354 (Typical Development Experience): Likewise.
16355 (Error Handling): Likewise.
16356 (Video API): Likewise.
16357
2cf09e32
CW
163582011-04-09 Colin Watson <cjwatson@ubuntu.com>
16359
16360 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16361 throughout.
16362
1ec652f4
VS
163632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16366 directory.
16367
2c583728
CW
163682011-04-08 Colin Watson <cjwatson@ubuntu.com>
16369
16370 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16371 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16372 "development".
16373
d7a565e9
VS
163742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16377 grub_strcpy since the lines aren't necessarily 0-terminated.
16378
7c2e4909
VS
163792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16382 root on legacy.
16383
34c09785
VS
163842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16387 (GRUB_MOD_INIT): DEVICE isn't optional.
16388
6a6f8058
VS
163892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16392 word on new line if it's too long anyway. Fixes a hang.
16393
2e335e90
VS
163942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16397 const.
16398 * util/grub-setup.c (main): Reuse md device name if available.
16399 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16400 not GRUB name as argument.
16401 Based on patch by: Florian Wagner <fwagner>.
16402
10a7a867
VS
164032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16406 Place mbi on low memory for better compatibility.
16407
7a3d6cd9
VS
164082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16411
18dd6b47
VS
164122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
164132011-04-08 Colin Watson <cjwatson@ubuntu.com>
16414
16415 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16416 * conf/Makefile.common: Likewise.
18dd6b47 16417
3c0e3f14
VS
164182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16419
f7148863
VS
16420 * grub-core/normal/menu.c: Add missing include.
16421
164222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16425
6d1fa41f
MZ
164262011-04-08 Martin Zuther <mzuther@mzuther.de>
16427
16428 * util/grub-mkconfig.in: Ignore emacsen backup.
16429
478182a8
VS
164302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16433 on open.
16434 (grub_util_biosdisk_close): Likewise.
16435
72a89a54
VS
164362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16439 const attribute and use grub_isdigit.
16440
b5ebecfa
A
164412011-04-06 Andrey <dev_null@ukr.net>
16442
16443 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16444 gcc warning.
16445
7755f66e
VS
164462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16449 useful grub_dprintf's.
16450
461121ff
VS
164512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16454
2a961775
VS
164552011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16458
adf594cc
VS
164592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 Output errors if theme loading failed.
16462
16463 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16464 grub_gfxterm_fullscreen on error paths to ...
16465 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16466 theme loading error.
16467
665900a3
VS
164682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16471 space for older compilers.
16472 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16473
a562b479
VS
164742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16477 and report them as not RAID members since they are useless for GRUB.
16478 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16479
850e9373
VS
164802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 Increase LVM implementation robustness in order not to crash on
16483 configurations like pvmove. Previously code assumed that in some places
16484 only lvs or only pvs are used whereas it seems that they are used
16485 interchangeably.
16486
16487 * grub-core/disk/lvm.c (read_node): New function.
16488 (read_lv): Use read_node.
16489 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16490 Match volumes only at the end when all lvs are found. Take both
16491 pvs (first) and lvs (second) into account.
16492 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16493 mirror_* into node_*. All users updated.
16494 (grub_lvm_stripe): Merge this ...
16495 (grub_lvm_mirror): ... and this ...
16496 (grub_lvm_node): ... into this. All users updated.
16497
6f332153
VS
164982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16501 of function to allow further scanning for LVMs.
16502
829ea451
VS
165032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16506 on failed seek as it breaks open fd reusage.
16507
09ceb9a5
VS
165082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 * util/grub-install.in: Add a recommendation to use --recheck before
16511 reporting bugs.
16512
67e11623
VS
165132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16516 are obtained.
16517
caee5efd
VS
165182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 GRUB developper manual based on existing Internals section and
16521 contributions by the various authors with active copyright assignment.
16522
16523 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16524 * docs/font_char_metrics.png: New file.
16525 * docs/font_char_metrics.txt: Likewise.
16526 * docs/grub-dev.texi: Likewise.
16527 * docs/grub.texi (Internals): Move from here ...
16528 * docs/grub-dev.texi: ... here.
16529
2cccc747
CW
165302011-04-01 Colin Watson <cjwatson@ubuntu.com>
16531
16532 Store the loopback device as data on loopback grub_disk structures,
16533 rather than the file it points to. This fixes use of freed memory
16534 if an existing loopback device is replaced.
16535
16536 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16537 disk->data, not dev->file.
16538 (grub_loopback_read): Adjust file assignment to match.
16539 Fixes Ubuntu bug #742967.
16540
186ae367
CW
165412011-04-01 Colin Watson <cjwatson@ubuntu.com>
16542
16543 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16544 when replacing an existing device.
16545
cfed2ad0
VS
165462011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16549 memory corruptions.
16550
16551 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16552 unsigned.
16553 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16554 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16555 (grub_jfs_read_inode): Likewise.
16556 (grub_jfs_opendir): Likewise. Remove now useless casts.
16557 (grub_jfs_getent): Likewise.
16558 Make ino a grub_uint32_t rather than int.
16559 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16560 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16561 division and module with bit operations.
16562 (grub_jfs_find_file): Make ino a grub_uint32_t.
16563 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16564
05d2ed32
CW
165652011-04-01 Colin Watson <cjwatson@ubuntu.com>
16566
16567 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16568 warning. (This was in fact always initialised before use, but GCC
16569 wasn't smart enough to prove that.)
16570 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16571
91dc6073
VS
165722011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16575 stack alignment.
16576 (efi_wrap_1): Likewise.
16577 (efi_wrap_2): Likewise.
16578 (efi_wrap_3): Likewise.
16579 (efi_wrap_4): Likewise.
16580 (efi_wrap_5): Likewise.
16581 (efi_wrap_6): Likewise.
16582 (efi_wrap_10): Likewise.
16583 Based on information by: Red Hat/Peter Jones.
16584
a8afc1d1
CW
165852011-03-31 Colin Watson <cjwatson@ubuntu.com>
16586
16587 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16588 set-but-not-used variable.
16589
a826cc7d
CW
165902011-03-31 Colin Watson <cjwatson@ubuntu.com>
16591
16592 * docs/grub.texi (Simple configuration): Be more explicit about
16593 GRUB_DEFAULT, and add an example.
16594 Reported by: Leslie Rhorer.
16595
875b67ba
CW
165962011-03-30 Colin Watson <cjwatson@ubuntu.com>
16597
16598 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16599 shell".
16600
fd7cd914
AS
166012011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16602
16603 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16604 * util/grub.d/20_linux_xen.in: Likewise.
16605
090b1b6a
VS
166062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * util/grub.d/10_linux.in: Try alternative config filenames where
16609 we parse config file.
16610 * util/grub.d/20_linux_xen.in: Likewise.
16611
baad885c
AS
166122011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16613
16614 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16615 * util/grub.d/20_linux_xen.in: Likewise.
16616
241e41f5
VS
166172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * grub-core/disk/raid.c (insert_array): Add few potentially
16620 useful grub_util_info.
16621 (grub_raid_register): Likewise.
16622
56445fb2
VS
166232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16626 Preserve partition number in mdadm code path.
16627
c871b1c6
VS
166282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16631 few potentially useful grub_util_info.
16632
5e631b4f
CW
166332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16636
2d5d0333
CW
166372011-03-30 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * docs/grub.texi (default): Use @example rather than nested
16640 itemized lists to avoid breaking gendocs.
16641
3d7ed04e
CW
166422011-03-30 Colin Watson <cjwatson@ubuntu.com>
16643
16644 * docs/grub.texi (Future): Update.
16645
abf04200 166462011-03-30 Colin Watson <cjwatson@ubuntu.com>
16647
16648 * docs/grub.texi (Environment): New chapter.
16649 (Changes from GRUB Legacy): Link to "Environment block" section for
16650 details of limitations.
16651 (Simple configuration): Likewise. Link to documentation of gfxmode
16652 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16653 respectively.
16654 (Shell-like scripting): Note that normal variables are stored in the
16655 environment.
16656 (gettext): Link to documentation of lang and locale_dir.
16657 (list_env): New section.
16658 (load_env): New section.
16659 (save_env): New section.
16660
16661 (Reporting bugs): Fix typo.
16662
e1ad0edd
VS
166632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16666 the example.
16667
5d803174
VS
166682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/term/at_keyboard.c (set_scancodes)
16671 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16672
2a2da1d0
CW
166732011-03-30 Colin Watson <cjwatson@ubuntu.com>
16674
16675 * docs/grub.texi (Menu-specific commands): Remove some semantics
16676 that were true in GRUB Legacy but not in GRUB 2.
16677 (submenu): New section.
16678 (false): New section.
16679 (read): New section.
16680 (true): New section.
16681
a7527639
CW
166822011-03-30 Colin Watson <cjwatson@ubuntu.com>
16683
16684 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16685
166862011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16687
16688 * docs/grub.texi (Simple configuration): Explain some of the
16689 current limitations of grub-mkconfig.
8a748df2 16690 Reported by: Leslie Rhorer.
e30af029 16691
fc858482
VS
166922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 Old macs search for boot.efi rather than for bootia32.efi.
16695
16696 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16697 * util/grub-mkrescue.in: Likewise.
16698 Suggested by: Peter Jones.
16699
e1eb511d
VS
167002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16703
70e75364
VS
167042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16707 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16708 (grub_lvm_mirror): New struct.
16709 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16710 (grub_lvm_iterate): Iterate only visible volumes.
16711 (grub_lvm_read): Factor out to ..
16712 (read_lv): ... this. Support mirrors.
16713 (grub_lvm_read): New wrapper function.
16714 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16715 stripped or mirrored.
16716
fc18f6a3
VS
167172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16718
16719 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16720
5c650f4c
CW
167212011-03-29 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * docs/grub.texi (loopback): New section.
16724
61d7156b
CW
167252011-03-29 Colin Watson <cjwatson@ubuntu.com>
16726
16727 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16728 removed -p option.
16729
994b8264
CW
167302011-03-29 Colin Watson <cjwatson@ubuntu.com>
16731
16732 * docs/grub.texi (BIOS installation): New section, partly based on
16733 previous text in other sections.
16734 (Installing GRUB using grub-install): Replace BIOS discussion with a
16735 cross-reference.
16736 (Images): Likewise.
16737
9e4d19e0
VS
167382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16741 [HAVE_DIOCGDINFO]: Add safety checks.
16742
a307c0b2
VS
167432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16746 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16747
b4db4f39
CW
167482011-03-29 Colin Watson <cjwatson@ubuntu.com>
16749
16750 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16751 real_sb->size is zero (e.g. RAID-0), get the disk size from
16752 real_sb->data_size instead.
16753 Fixes Ubuntu bug #743136.
16754
35e5f84c
VS
167552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16758 printf clauses for printing size and start.
16759
d2e29d81
VS
167602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16763 Reported and tested by: Timothy Nikkel.
16764
ed5587af
VS
167652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16768 (dirty_region_add_real): ... this.
16769 (dirty_region_add): Don't discard margin refresh when performing
16770 scheduled repaint.
16771
a1dc717c
VS
167722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 * grub-core/lib/relocator.c (allocate_regstart)
16775 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16776 terminals are capabple of malloc-free operation.
16777 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16778 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16779
9f3677d3
VS
167802011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16781
16782 * util/grub-setup.c: Copy the partition table zone if floppy support
16783 is disabled, even if no partition table is found.
16784
16785 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16786 during POST if an invalid partition table is contained in the PBR
16787 of the active partition when GRUB is installed to a partition.
16788
24148725
CW
167892011-03-28 Colin Watson <cjwatson@debian.org>
16790
16791 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16792 comment.
16793
f329eda7
CW
167942011-03-28 Colin Watson <cjwatson@debian.org>
16795
16796 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16797 to be specific about what kind of RAID device we're scanning for.
16798
c482ad98
SG
167992011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16800
16801 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16802 return freed string.
16803
5ee04984
VS
168042011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16807
f4727da9
VS
168082011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 Use libgeom on FreeBSD to detect partitions.
16811
16812 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16813 (grub-mkrelpath): Likewise.
16814 (grub-script-check): Likewise.
16815 (grub-editenv): Likewise.
16816 (grub-mkpasswd-pbkdf2): Likewise.
16817 (grub-fstest): Likewise.
16818 (grub-mkfont): Likewise.
16819 (grub-mkdevicemap): Likewise.
16820 (grub-probe): Likewise.
16821 (grub-setup): Likewise.
16822 (grub-ofpathname): Likewise.
16823 (grub-mklayout): Likewise.
16824 (example_unit_test): Likewise.
16825 (grub-menulst2cfg): Likewise.
16826 * grub-core/Makefile.core.def (grub-emu): Likewise.
16827 (grub-emu-lite): Likewise.
16828 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16829 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16830 define HAVE_DIOCGDINFO.
16831 (follow_geom_up) [FreeBSD]: New function.
16832 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16833 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16834 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16835 unconditionally of HAVE_DIOCGDINFO.
16836
82fe6c75
VS
168372011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 Fix FreeBSD compilation problem.
16840
16841 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16842 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16843
4c6c9431
CW
168442011-03-24 Colin Watson <cjwatson@ubuntu.com>
16845
16846 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16847 Switch back to page zero before loading a kernel, since some kernel
16848 drivers expect that.
16849 Thanks to: Felix Kuehling.
16850
c7064d94
VS
168512011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16854 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16855 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16856
3f71cded
VS
168572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16860 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16861
ef6de21a
VS
168622011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16865 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16866 malloc is disabled.
16867
8bc66a2c
VS
168682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16871 for modules headers when counting the needed allocation size.
16872
5657722c
VS
168732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16876 if no ASCII character is found to prevent crash.
16877
41a85f55
AK
168782011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16879
16880 * grub-core/video/bitmap.c (match_extension): Ignore case.
16881
59e1e5f1
VS
168822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16885
bd4d051a
VS
168862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * grub-core/script/parser.y: Declare "time" as valid argument.
16889
bae7fcc1
PJ
168902011-03-23 Peter Jones <pjones@redhat.com>
16891
16892 Fix incorrect assert failure reporting.
16893
16894 * grub-core/tests/example_functional_test.c (example_test): Add
16895 a failure comment.
16896 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16897 (failure_start): ...this. Check that malloc succeeded.
16898 Don't call xvasprintf. Return failure struct.
16899 (failure_append_vtext): New function.
16900 (failure_append_text): Likewise.
16901 (add_failure): Likewise.
16902 (grub_test_assert_helper): Likewise.
16903 * include/grub/test.h (grub_test_assert_helper): New declaration.
16904 (grub_test_assert): Macro rewritten.
16905
537dc9be
VS
169062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16909
fa3e01bf
VS
169102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16913
b1d28404
VS
169142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16917 into GRUB-style one.
16918
2e3e2e09
VS
169192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16922 error and not grub_errno.
16923 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16924
ed57e557
VS
169252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16928 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16929
d1611f01
VS
169302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/efiemu/i386/pc/cfgtables.c
16933 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16934 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16935 (grub_xnu_unlock): Likewise.
16936 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16937
7d4e39d6
VS
169382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16941 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16942 * grub-core/commands/hashsum.c (aliases): Likewise.
16943 * grub-core/commands/setpci.c (pci_registers): Likewise.
16944 * grub-core/disk/usbms.c (attach_hook): Likewise.
16945 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16946 (zio_checksum_table): Likewise.
16947 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16948 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16949 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16950 * grub-core/lib/relocator.c (leftovers): Likewise.
16951 (extra_blocks): Likewise.
16952 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16953 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16954 (modules_last): Likewise.
16955 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16956 (devices): Likewise.
16957 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16958 (modules_last): Likewise.
16959 * grub-core/normal/auth.c (users): Likewise.
16960 * grub-core/normal/context.c (initial_menu): Likewise.
16961 (current_menu): Likewise.
16962 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16963 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16964 (grub_serial_terminfo_input_template): Likewise.
16965 (grub_serial_terminfo_output_template): Likewise.
16966 (grub_serial_terminfo_input): Likewise.
16967 (grub_serial_terminfo_output): Likewise.
16968 (registered): Likewise.
16969 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16970
40fc4659
VS
169712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16974 grub_video_mode_type_t.
16975 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16976 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16977 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16978
2da48d28
VS
169792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16980
16981 * util/grub-install.in: Correct the x86-64 name as x86_64.
16982
9b43bf39
CW
169832011-03-11 Colin Watson <cjwatson@ubuntu.com>
16984
16985 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16986 initial chunk read from the kernel always includes GRUB's multiboot
16987 header, which is now outside the first sector.
16988
be1a7ce0
CW
169892011-03-09 Colin Watson <cjwatson@ubuntu.com>
16990
16991 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16992 cached mmap_size, so that this works correctly when called multiple
16993 times.
16994 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16995
83a3c48d
CW
169962011-03-09 Colin Watson <cjwatson@ubuntu.com>
16997
16998 * docs/grub.texi (Simple configuration): Tidy up formatting.
16999
57d75699
SJ
170002011-03-07 Szymon Janc <szymon@janc.net.pl>
17001
17002 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17003 Set-but-not-used variable removed.
17004
028501a0
VS
170052011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Workaround yet another IEEE1275 bug.
17008
17009 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17010 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17011 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17012 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17013 is set.
17014 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17015 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17016
d998657d
VS
170172011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17020 error.
17021
fee7cdd4
CW
170222011-02-11 Colin Watson <cjwatson@ubuntu.com>
17023
17024 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17025 empty, since in that case we can only generate either nothing or a
17026 syntactically invalid configuration file.
17027 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17028
97286eb5
CW
170292011-02-09 Colin Watson <cjwatson@ubuntu.com>
17030
17031 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17032 (Making a GRUB bootable CD-ROM): Likewise.
17033 (Invoking grub-mkrescue): New section.
17034 Reported by: Yann Dirson. Fixes Debian bug #612585.
17035
22b28eb3
CW
170362011-02-09 Colin Watson <cjwatson@ubuntu.com>
17037
17038 * util/grub-install.in: Remove unnecessary brackets from tr
17039 arguments.
17040 * util/grub.d/10_hurd.in: Likewise.
17041 * util/grub.d/10_kfreebsd.in: Likewise.
17042 * util/grub.d/10_linux.in: Likewise.
17043 * util/grub.d/20_linux_xen.in: Likewise.
17044 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17045
7e735e43
CW
170462011-02-08 Colin Watson <cjwatson@ubuntu.com>
17047
17048 * include/grub/file.h (not_easly_seekable): Rename to ...
17049 (not_easily_seekable): ... this. Update all users.
17050
800f1881
CW
170512011-01-28 Colin Watson <cjwatson@ubuntu.com>
17052
17053 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17054 grub-mkrescue.
17055
3281d3d6
VS
170562011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * util/grub-mkimage.c (generate_image): Refuse to create the images
17059 bigger than the actual flash (512K) in Loongson machines. 512K is also
17060 the biggest chip supported by them.
17061
3533413c
VS
170622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17065
73ae4f4f
VS
170662011-01-22 Anthony DeRobertis <anthony@derobert.net>
17067
17068 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17069 super_offset field.
17070
37f4f608
VS
170712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 * util/grub-install.in: Ignore install device on platforms
17074 where it doesn't make sense. Always use UUIDs except on pc, efi and
17075 sparc64.
17076 Reported by: Daniel Kahn Gillmor.
17077
03a4ccb5
VS
170782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17081
ffc8f4d8
VS
170822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17085 (iterate_real): Don't rely on partition being non-NULL.
17086
80f23be7
VS
170872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17090 supported platforms. Put a compile time assert for this rather than
17091 generate a warning with 32-bit shift.
17092
5d4f4dd5
VS
170932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17096 logical expression more readable.
17097
e489601a
VS
170982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17101 even if some elements have a name.
17102 Reported by: Alexander GQ Gerasiov.
17103
96e0a6ea
CW
171042011-01-22 Colin Watson <cjwatson@ubuntu.com>
17105
17106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17107 path unreadable if `grub-probe -t abstraction' fails, for example if
17108 memberlist fails on an LVM volume group.
17109 Reported by: Darius Jahandarie.
17110
81431e2b
CW
171112011-01-22 Colin Watson <cjwatson@ubuntu.com>
17112
17113 * docs/grub.texi (Simple configuration): Document
17114 GRUB_PRELOAD_MODULES.
17115
5e79d66a
CW
171162011-01-17 Colin Watson <cjwatson@ubuntu.com>
17117
17118 * .bzrignore: Remove nonexistent grub-pbkdf2.
17119
646ada34
VS
171202011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * configure.ac: Bump version to 1.99~rc1.
17123
04360337
VS
171242011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17127 for safety.
17128
46c9db88
VS
171292011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17132 module.
17133
171342011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17135
17136 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17137
4fbf1852
VS
171382011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17141 diskdevid.
17142
f1632d4d
VS
171432011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Fix compilation on cygwin.
17146
17147 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17148 -R .drectve on cygwin.
17149 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17150 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17151 (COND_CYGWIN): New condition.
17152 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17153 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17154 not @TARGET_OBJ2ELF@.
17155 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17156 type to determine whether aux is to be used.
17157
0b5e127b
VS
171582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17161 realpath'ed device string.
17162 Handle floppy (somewhat).
17163 Issue error in unknown case rather than garbage.
17164 Reported by: Axel Beckert.
17165
173b71e9
VS
171662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * util/grub.d/00_header.in (load_video): Handle the case when no video
17169 drivers available.
17170 Thanks to: Axel Beckert.
17171
f8f479db
VS
171722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17175 variable. Fixes problem on big endian platforms.
17176
8fc0a245
VS
171772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17180 It doesn't work well there.
17181
b8494fbe
VS
171822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17185 warning.
17186 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17187 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17188 counter.
17189
b44a558c
VS
171902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17191
17192 Use alias->path rather than buggy "canon".
17193
17194 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17195 (ofdisk_hash_add): New argument curcan. All users updated.
17196
51fa856c
CW
171972011-01-11 Colin Watson <cjwatson@ubuntu.com>
17198
17199 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17200
9da068a5
VS
172012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17204 loadmask before doing any calculations. Use correct type for offset.
17205 (grub_linux_load64): Likewise.
17206
86205c94
CW
172072011-01-11 Colin Watson <cjwatson@ubuntu.com>
17208
17209 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17210 with NULL.
17211 (console_grub_equivalences_unshift): Likewise.
17212 Reported by: Daniel Dehennin.
17213
4531a206
VS
172142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17215
17216 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17217 (set_env_limn_ro): Likewise.
17218 (GRUB_MOD_INIT): Likewise.
17219 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17220 ARRAY_SIZE while on it.
17221 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17222 * grub-core/normal/context.c (grub_env_export): Move from here ...
17223 * grub-core/kern/env.c (grub_env_export): ... here.
17224 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17225 prefix.
17226 * grub-core/kern/main.c (grub_main): Export root and prefix.
17227 * include/grub/env.h (grub_env_export): Export.
17228 Reported by: Seth Goldberg.
17229
45146057
VS
172302011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17233 Take into account space used by ELF sections and multiboot palette.
17234 Reported by: Grégoire Sutre.
17235
f093110b
VS
172362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * BUGS: New file.
17239
3395fe52
VS
172402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 Pass more appropriate video id to Linux.
17243
17244 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17245 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17246 fill have_vga.
17247 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17248 shift params->lfb_size.
17249 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17250
c2fa6cbb
VS
172512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17254
b3ff6ff0
VS
172552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17258 separator and pass bootpath/devid even if only one of them is available.
17259 Reported by: Seth Goldberg.
17260
ae67942e
VS
172612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17264 implementations bug on them.
17265
17266 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17267 memory.
17268 (filter_memory_map): Likewise.
17269
d570097a
VS
172702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17273 Reported by: nebuchadnezzar.
17274
a508e776
VS
172752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17278 Reported by: nebuchadnezzar.
17279
dcb883b1
VS
172802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 Submenu default support.
17283
17284 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17285 auto_boot. All users updated.
17286 Declared static.
17287 Handle chosen and default with submenus.
17288 (grub_menu_execute_with_fallback): Declared static.
17289 Don't notify failure if autobooted. Upper level does it.
17290 (menuentry_eq): New function.
17291 (get_entry_number): Use menuentry_eq.
17292 (show_menu): New parameter "autobooted". All users updated.
17293 (grub_show_menu): Likewise.
17294 * include/grub/normal.h (grub_show_menu): Likewise.
17295 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17296 (grub_menu_execute_with_fallback): Likewise.
17297
6fef99b4
VS
172982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * util/grub-mklayout.c (usage): Update help text.
17301
47a77af5
VS
173022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17305
ce6bb3ee
VS
173062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * util/grub-menulst2cfg.c (main): Trim the line.
17309
db87be2a
VS
173102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17313 (grub_machine_init): Don't check amount of low memory as reportedly
17314 INT 12h can be broken and if low memory is too low we wouldn't have
17315 gotten into grub_machine_init anyway.
17316
c49849cc
VS
173172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17320 (grub_machine_mmap_iterate): Take low memory into account
17321
b1969b30
VS
173222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17325 badfs.
17326 Reported by: TiCPU.
17327
cf0eaf13
VS
173282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17331 members errors.
17332
1f060f39
GS
173332011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17334
17335 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17336 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17337
a21e5672
GS
173382011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17339
17340 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17341 openbsd and netbsd types being in part_bsd module.
17342
c88172fa
VS
173432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17346 (_FILE_OFFSET_BITS): Likewise.
17347 Reported by: Seth Goldberg.
17348
53798c4b
GS
173492011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17350
17351 * configure.ac: Check for libdevmapper header.
17352
e7121b69
VS
173532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17356 avoid aliasing.
17357 (fzap_lookup): Likewise.
17358 (dnode_get): Likewise.
17359 (make_mdn): Likewise.
17360 (zfs_mount): Likewise.
17361 (fzap_iterate): Use temporary pointer to avoid aliasing.
17362 (grub_zfs_read): Likewise.
17363 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17364 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17365 pointers to avoid aliasing.
17366 (grub_cmd_xnu_kernel64): Likewise.
17367 (grub_xnu_load_driver): Likewise.
17368
fc836af9
VS
173692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17372 aliasing warning.
17373 (grub_cmd_terminal_output): Likewise.
17374 Reported and tested by: Grégoire Sutre.
17375
f9f37648
VS
173762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17379 warning.
17380 Reported and tested by: Grégoire Sutre.
17381
ec1dfd63
VS
173822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 * configure.ac: Do CPU substitution even if it's specified explicitly.
17385 Reported and tested by: Alain Greppin.
17386
9462775a
VS
173872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17390 Reported and tested by: Alain Greppin.
17391
0fd48e35
VS
173922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 Satisfy some bison versions need for inttypes.h.
17395
17396 * grub-core/lib/posix_wrap/inttypes.h: New file.
17397 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17398 (int16_t): Likewise.
17399 (int32_t): Likewise.
17400 (int64_t): Likewise.
17401 Reported and tested by: Alain Greppin.
17402
43f1bc83
VS
174032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17406 Silence spurious warning.
17407 Reported and tested by: Alain Greppin.
17408
64d1f041
SJ
174092011-01-07 Szymon Janc <szymon@janc.net.pl>
17410
17411 * docs/grub.texi (Support automatic decompression): Update with xz
17412 decompression support.
17413
25953e10
SJ
174142011-01-07 Szymon Janc <szymon@janc.net.pl>
17415
17416 Improve loaders' kernel command line handling.
17417
17418 * grub-core/lib/cmdline.c: New file.
17419 * include/grub/lib/cmdline.h: Likewise.
17420 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17421 grub_create_loader_cmdline to create kernel command line.
17422 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17423 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17424 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17425 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17426 (linux): Add lib/cmdline.c on common.
17427
e72d259f
VS
174282011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17431 inopos might be unaligned.
17432
c0cf26da
VS
174332011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17436 endian transformations.
17437 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17438 Based on report by: Doug Nazar.
17439
0ca09e6c
DN
174402011-01-07 Doug Nazar <nazard.michi@gmail.com>
17441
17442 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17443 array->members[i].start_sector.
17444 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17445
014b6806
VS
174462011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17449 Reported and tested by: Grégoire Sutre.
17450
415502c2
CW
174512011-01-06 Colin Watson <cjwatson@ubuntu.com>
17452
17453 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17454 avoid causing test failures by clearing the screen.
17455
71b6a2b7
CW
174562011-01-06 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17459 Fix prefix check to handle the case where dir ends with a slash
17460 (most significantly, "/" itself).
17461 Reported by: Michael Vogt.
17462
b3f8d28a
VS
174632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 Run terminfo_cls on initing terminfo output to clear the screen and
17466 move the cursor to (0,0).
17467
17468 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17469 Call grub_terminfo_output_init.
17470 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17471 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17472 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17473
4c3e4f37
VS
174742011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17477 only when needed.
17478
488f71f1
VS
174792011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17482 CTRL.
17483
18a38098
VS
174842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 The E820 type 5 is BADRAM, not EXEC_CODE.
17487
17488 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17489 (GRUB_E820_BADRAM): New define.
17490 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17491 into reserved. Propagate BADRAM.
17492 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17493 (GRUB_E820_BADRAM): New define.
17494
9eae2084
VS
174952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17498 Ignore the memory post-4G.
17499 (grub_relocator_firmware_alloc_region): Additional debug statement.
17500
ebc71d28
VS
175012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17504 names.
17505 Reported by: David Pravec.
17506
446fa400
VS
175072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17510 BIOSes.
17511
a0159f37
VS
175122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17515 Prevent overflow.
17516 (grub_reed_solomon_recover): Likewise.
17517
e5146ca1
VS
175182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17521
175222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17523
17524 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17525 variable.
17526
5b1bdf12
CW
175272011-01-04 Colin Watson <cjwatson@ubuntu.com>
17528
17529 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17530 descriptions of extract_legacy_entries_source and
17531 extract_legacy_entries_configfile.
17532 Reported by: Seung Soo, Ha.
17533
99d925aa
CW
175342011-01-03 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17537 on devices that do not implement function 0.
17538
4af0504b
DV
175392011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17540
17541 * grub-core/fs/hfsplus.c: Make parent unsigned.
17542 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17543 overflows.
17544 (grub_hfsplus_cmp_extkey): Likewise
17545
469ee10a
VS
175462011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * util/grub-install.in: Correctly use bootloader_id and not
17549 GRUB_DISTRIBUTOR on efibootmgr line.
17550
323a8e9c
VS
175512011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17552
17553 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17554
1b394975
IC
175552010-12-31 Ian Campbell <ijc@hellion.org.uk>
17556
17557 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17558 Xen and reorder menu item wording to make it clearer that this entry
17559 will launch Xen. Print separate messages when loading Xen and
17560 Linux.
17561
275bff5f
VS
175622010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17565 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17566 loop in case of incorrect amiga partmap.
17567
307806cb
VS
175682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17571 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17572 Reported by:EHeM.
17573
b12b923e
VS
175742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17577 spurious warning.
17578 Reported by: crocket
17579
14b48a19
VS
175802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17583 Preload EFIemu.
17584 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17585
693db2df
VS
175862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17587
17588 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17589 is loaded
17590 (grub_cmd_xnu_kextdir): Likewise.
17591 (grub_cmd_xnu_splash): Likewise.
17592
c7638645
VS
175932010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 Avoid using Reed-Solomon with 0 redundancy.
17596
17597 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17598 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17599 or 0 redundancy.
17600 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17601 (grub_reed_solomon_recover): Likewise.
17602
25dd4780
VS
176032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 Don't use disk subsystem in freebsd_boot.
17606
17607 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17608 (freebsd_biosdev): Likewise.
17609 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17610 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17611
0b2db943
VS
176122010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 Handling of files of unknown size is currently limited. They can't be
17615 used e.g. for initrd or modules. Moreover gzip handling of not
17616 easily seekable files is buggy. Disable unknown file size for now. May
17617 be inefficient but works.
17618
17619 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17620 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17621
5c408d0f
MP
176222010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17623
17624 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17625 floppy probe.
17626
190a011a
JD
176272010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17628
17629 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17630
022d01b8
SL
176312010-12-25 Shea Levy <shlevy>
17632
17633 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17634
c4855fdc
VS
176352010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17636
17637 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17638 Windows Server 2008.
17639 Reported by: Devin Giddings.
17640
0354b867
VS
176412010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17644 writing an error message because of async power management.
17645 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17646 (grub_reboot): Likewise.
17647
ab66c69f
JU
176482010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17649
17650 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17651 keep unit tests from failing when they shouldn't.
17652
1426ef35
CW
176532010-12-21 Colin Watson <cjwatson@ubuntu.com>
17654
17655 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17656 previous patch increased the size of the RS code by 20 bytes (at
17657 least with gcc-4.4), so increase this by 20 bytes to match.
17658 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17659
20641b6b
CW
176602010-12-21 Colin Watson <cjwatson@ubuntu.com>
17661
17662 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17663 scratch area. Make sure to initialise chosen in standalone mode as
17664 well as non-standalone.
17665 Reported by: Robert Hooker and Andy Whitcroft.
17666 Tested by: Andy Whitcroft.
17667
d060ad60
CW
176682010-12-21 Colin Watson <cjwatson@ubuntu.com>
17669
17670 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17671 constructing a new unescaped string and passing it to grub_xputs in
17672 one go, rather than passing characters to grub_printf one at a time.
17673
b889cfad
CW
176742010-12-21 Colin Watson <cjwatson@ubuntu.com>
17675
17676 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17677 initialising utf16.
17678
4e01b6c8
CW
176792010-12-21 Colin Watson <cjwatson@ubuntu.com>
17680
17681 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17682 comment. Add an extra layer of quotation, requiring the output of
17683 this function to be used in a printf format string.
17684 (gettext_printf): New function.
17685 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17686 Extract translatable strings from here-documents and use a temporary
17687 variable instead, so that xgettext can find them.
17688 * util/grub.d/10_kfreebsd.in: Likewise.
17689 * util/grub.d/10_linux.in: Likewise.
17690 * util/grub.d/20_linux_xen.in: Likewise.
17691
17692 * po/grub.d.sed: New file.
17693 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17694 arguments. Set c-format flags on all strings extracted from
17695 util/grub.d/ (xgettext refuses to include these itself for strings
17696 it extracted from a shell file, but these really are c-format).
17697
5318fe98
VS
176982010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17701 Avoid next pointing to nowhere.
17702
6c85b743
VS
177032010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17706 rather than assuming than rootblock is exactly in the middle.
17707 (grub_affs_label): Likewise.
17708
a2a08a35
VS
177092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17712 reserved_first_sector to 0.
17713 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17714 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17715 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17716
7059d1ec
VS
177172010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Fix handling of UTF-16 UDF labels.
17720
17721 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17722 (read_string): .. here.
17723 (grub_udf_label): Use read_string.
17724
30aff4cb
BC
177252010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17726
17727 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17728 editor under argument scope.
17729 Reported by: Jordan Uggla
17730
5cf86f4b
VS
177312010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17734
32570200
CW
177352010-12-18 Colin Watson <cjwatson@ubuntu.com>
17736
17737 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17738 line, and other keys scroll an entire page (previous handling was
17739 for \r and \n to scroll a page and other keys to scroll two lines).
17740
e1dffcf2
VS
177412010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17744 Set ptrdest to correct get_physical_target_address rather than
17745 incorrect get_virtual_current_address.
17746
b04298cf 177472010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17748
17749 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17750 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17751
5367ecd3
CW
177522010-12-10 Colin Watson <cjwatson@ubuntu.com>
17753
17754 * .bzrignore: Ignore grub-core/rs_decoder.S.
17755
1fb430f8
CW
177562010-12-10 Colin Watson <cjwatson@ubuntu.com>
17757
17758 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17759 .mo/.mo.gz opening sequence to ...
17760 (grub_mofile_open_lang): ... here.
17761 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17762 * util/grub.d/00_header.in (grub_lang): Include country part of
17763 locale.
17764 Reported by: Mario Limonciello.
17765
a94a6671
RM
177662010-12-09 Robert Millan <rmh@gnu.org>
17767
17768 * NEWS: Document addition of ZFS support.
17769
24b7938b
CW
177702010-12-04 Colin Watson <cjwatson@ubuntu.com>
17771
17772 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17773 rather than `/ 2', as the latter requires -Wa,--divide which would
17774 require bumping our minimum binutils version.
17775
bddc3ef6
BC
177762010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17777
17778 * util/grub-script-check.c (main): Print script line number on
17779 error.
17780
bf78d5b2
RM
177812010-12-01 Robert Millan <rmh@gnu.org>
17782
17783 * grub-core/fs/zfs/zfs.c: New file.
17784 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17785 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17786 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17787 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17788
17789 * include/grub/zfs/dmu.h: Likewise.
17790 * include/grub/zfs/dmu_objset.h: Likewise.
17791 * include/grub/zfs/dnode.h: Likewise.
17792 * include/grub/zfs/dsl_dataset.h: Likewise.
17793 * include/grub/zfs/dsl_dir.h: Likewise.
17794 * include/grub/zfs/sa_impl.h: Likewise.
17795 * include/grub/zfs/spa.h: Likewise.
17796 * include/grub/zfs/uberblock_impl.h: Likewise.
17797 * include/grub/zfs/vdev_impl.h: Likewise.
17798 * include/grub/zfs/zap_impl.h: Likewise.
17799 * include/grub/zfs/zap_leaf.h: Likewise.
17800 * include/grub/zfs/zfs.h: Likewise.
17801 * include/grub/zfs/zfs_acl.h: Likewise.
17802 * include/grub/zfs/zfs_znode.h: Likewise.
17803 * include/grub/zfs/zil.h: Likewise.
17804 * include/grub/zfs/zio.h: Likewise.
17805 * include/grub/zfs/zio_checksum.h: Likewise.
17806
17807 * Makefile.util.def: Build ZFS into libgrubmods.
17808 * grub-core/Makefile.core.def: Build zfs.mod.
17809
3f0f3831
SJ
178102010-11-30 Szymon Janc <szymon@janc.net.pl>
17811
17812 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17813 variable.
17814 * grub-core/commands/wildcard.c (match_files): Likewise.
17815
3a4253b2
RM
178162010-11-30 Robert Millan <rmh@gnu.org>
17817
17818 * grub-core/loader/i386/bsd.c
17819 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17820 whether kernel is loaded using grub_loader_is_loaded(), rather
17821 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17822 certain error conditions.
17823
8c317b27
RM
178242010-11-30 Robert Millan <rmh@gnu.org>
17825
c5c9cd3e
RM
17826 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17827 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17828
49d3ab46
VS
178292010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Avoid using tricks for initialising endian variables.
17832
17833 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17834 Make const.
17835 (GRUB_MOD_INIT): Don't byte-swap.
17836 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17837 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17838 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17839 (grub_swap_bytes32_compile_time): Likewise.
17840 (grub_cpu_to_le32_compile_time): Likewise.
17841 (grub_cpu_to_le16_compile_time): Likewise.
17842
f420a804
VS
178432010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 * util/grub-setup.c (setup): Stop recommending --force. People who
17846 understand the dangers of blocklists are able to find this option
17847 anyway and the ones who don't shouldn't use it anyway.
17848
4e7db17b
RM
178492010-11-26 Robert Millan <rmh@gnu.org>
17850
17851 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17852 Update all users.
17853
9be57a0d
CW
178542010-11-26 Colin Watson <cjwatson@ubuntu.com>
17855
17856 Fix LVM-on-RAID probing.
17857
17858 * util/grub-probe.c (probe): Remember which disk was detected as
17859 RAID (perhaps an LVM physical volume). Use that disk's raidname
17860 rather than that of the top-level disk.
17861
2c7859b3 178622010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17863
d7647bb6
BC
17864 Fix cmdline argument quotes for setparams command of menuentry
17865 definitions.
7e623b0d
BC
17866
17867 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17868 quotes for arguments.
f866fe80 17869 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17870 grub_strchrsub function instead.
f866fe80 17871
7955bea0 17872 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17873
74f72a64
CW
178742010-11-24 Colin Watson <cjwatson@ubuntu.com>
17875
17876 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17877 effort by skipping "." and ".." entries up-front.
17878 Suggested by: Michael Lazarev.
17879
5a407278
CW
178802010-11-24 Colin Watson <cjwatson@ubuntu.com>
17881
17882 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17883 ldflags to ldadd, to fix link line ordering.
17884 (none_decompress): Likewise.
17885
3030d8ec
CW
178862010-11-24 Colin Watson <cjwatson@ubuntu.com>
17887
17888 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17889 platforms.
17890 (grub-emu-lite): Remove kern/emu/cache.S.
17891
b7fbac12
CW
178922010-11-23 Colin Watson <cjwatson@ubuntu.com>
17893
17894 * util/deviceiter.c (compare_devices): If the by-id link for a
17895 device couldn't be resolved, fall back to sorting by the by-id link
17896 rather than segfaulting.
17897 Reported and tested by: Daniel Mierswa.
17898
5225f328
CW
178992010-11-23 Colin Watson <cjwatson@ubuntu.com>
17900
17901 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17902 ldflags, to fix link line ordering.
17903
038b3ce8
CW
179042010-11-23 Colin Watson <cjwatson@ubuntu.com>
17905
17906 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17907 linkers are picky about this.
17908
bf16e98e
CW
179092010-11-23 Colin Watson <cjwatson@ubuntu.com>
17910
17911 * grub-core/Makefile.am (command.lst): Adjust sed expression
17912 ordering so that extended and priority commands aren't treated as
17913 ordinary commands.
17914
7242bab6
CW
179152010-11-23 Colin Watson <cjwatson@ubuntu.com>
17916
17917 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17918 Remove byte-swapping function calls, which are not valid in
17919 structure initialisers.
17920 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17921 non-const.
17922 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17923 grub_gpt_partition_type_bios_boot.
17924
14e8b279
CW
179252010-11-22 Colin Watson <cjwatson@ubuntu.com>
17926
17927 Fix test program build on GNU/kFreeBSD.
17928
17929 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17930 $(LIBNVPAIR)' library dependencies.
17931
e6f63338 179322010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17933
17934 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17935
cf8ffc38
CW
179362010-11-22 Colin Watson <cjwatson@ubuntu.com>
17937
17938 * util/grub-install.in: Remove excessive quoting that broke
17939 installations to RAID devices.
17940
7f8b0fd7
VS
179412010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17944 bootloader version instead of 0.
17945
dfd240b1
VS
179462010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17949 warning.
17950
7b61e609
VS
179512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17954 retrieve the metadat sector if size isn't known.
17955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17956
9dfe92d0
RM
179572010-11-18 Robert Millan <rmh@gnu.org>
17958
17959 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17960 with grub_memcmp().
17961
41cc919e
VS
179622010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17965 arrow.
17966 Reported by: Jordan Uggla.
17967
1afcc914
VS
179682010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 Make better UTF compliant.
17971
17972 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17973 sequences as incorrect.
17974 (grub_is_valid_utf8): Likewise.
17975 (grub_utf8_to_ucs4): Likewise.
17976 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17977 (grub_ucs4_to_utf8_alloc): Likewise.
17978 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17979
f1808884
VS
179802010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 Make legacy_source behave like source.
17983
17984 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17985 grub_show_menu.
17986 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17987
24ec575b
CW
179882010-11-16 Colin Watson <cjwatson@debian.org>
17989
17990 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17991 (-Wunused implies -Wunused-parameter, but not vice versa).
17992
72b7c7aa
CW
179932010-11-16 Colin Watson <cjwatson@ubuntu.com>
17994
17995 * configure.ac: Make error messages less confusing by testing for
17996 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17997 accepted, but produces a diagnostic if something else is wrong).
17998
e98937aa
VS
179992010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18002 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18003 (now unused).
18004 (grub_keyboard_controller_init)
18005 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18006 read the initial state since controller isn't inited yet.
18007
f6bbabc3
VS
180082010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18011 allocate_regbeg may need to create new chunk header.
18012
22e7dbb2
VS
180132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 Fix quoting in legacy parser.
18016
18017 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18018 single quotes.
18019 (grub_legacy_parse): Likewise.
18020 Reported by: Jordan Uggla.
18021 Tested by: Jordan Uggla.
18022
03f80960
VS
180232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 Don't add -lgcc on i386 and x86_64.
18026
18027 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18028 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18029 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18030
779dc15b
VS
180312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * configure.ac: Add -Wno-trampolines when supported.
18034
d20a3b37
MV
180352010-11-14 Modestas Vainius <modax@debian.org>
18036
18037 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18038 fakeraid.
18039
e5360933
GC
180402010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18041
18042 Add generic logical block size support for UDF.
18043
18044 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18045 (GRUB_UDF_BLKSZ): Removed.
18046 (struct grub_udf_data): New field "lbshift" to hold the logical block
18047 size of the file system in log2 format. All users updated.
18048 (sblocklist): Change type to unsigned.
18049 (grub_udf_mount): Change type of "sblklist" to unsigned.
18050 Move AVDP search before VRS recognition, because the latter requires
18051 knowledge of the logical block size, which is detected during the
18052 former.
18053 Detect and validate logical block size during AVDP search, adding
18054 support for block sizes 512, 1024 and 4096.
18055 Make VRS recognition independent of block size.
18056
cb0229c5
GC
180572010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18058
18059 Properly handle deleted files on UDF.
18060
18061 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18062 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18063 set.
18064
406858a8
GC
180652010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18066
18067 Support reading files larger than 2 GiB.
18068
18069 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18070 "offset" to grub_off_t.
18071 (grub_udf_read_file): Likewise for parameter "pos".
18072
130da6a7
VS
180732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18076 unavailable.
18077 (Simple configuration): Refer to Changes from GRUB Legacy about
18078 save_env availability.
18079
65e93f6b
VS
180802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 * util/grub-install.in: Ignore empty partition table detection
18083 instead of trying to include part_ module.
18084
1fd08bf1
VS
180852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18088 LVM on RAID support.
18089
de1a024f
VS
180902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 Properly define WORDS_BIGENDIAN in wrapped environments.
18093
18094 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18095 definition.
18096 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18097
18098 Reported by: Manoel Rebelo Abranches.
18099 Tested by: Manoel Rebelo Abranches.
18100
bc5dd0b9
VS
181012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 * util/grub-mkconfig.in: Fix quoting.
18104
58c184be
VS
181052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Support big ext2 files.
18108
18109 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18110 (grub_ext2_read_block): Support triple indirect blocks.
18111 (grub_ext2_read_file): Use 64-bit types and read size_high.
18112 (grub_ext2_open): Read size_high.
18113 Reported by: Ximin Luo.
18114 Tested by: Manoel Rebelo Abranches.
18115
5f0c02b3
VS
181162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/grub-install.in: Handle filenames containing spaces.
18119 Reported by: Jordan Uggla.
18120 Tested by: Jordan Uggla.
18121
4417aae6
VS
181222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 * util/grub-mkconfig.in (grub_script_check): New variable.
18125 Use grub_script_check instead of grub-script-check.
18126 Reported by: Barry Jackson.
18127
7625a68e
VS
181282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 * docs/grub.texi (menu): Correct the order.
18131 Reported by: D. Hugh Redelmeier.
18132
10001ac5
VS
181332010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18136 jump.
18137
9c4cf53b
MRA
181382010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18139
10001ac5
VS
18140 * include/grub/elfload.h (grub_elf32_size): New parameter.
18141 All users updated.
9c4cf53b
MRA
18142 Return maximum segments alignment.
18143 (grub_elf64_size): Likewise.
18144 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18145 Return maximum segments alignment.
18146 (grub_elf64_size): Likewise.
18147 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18148 (grub_linux_claimmap_iterate): New function. Uses the
18149 "available" property in the "memory" node for memory allocation
18150 for kernel in the PowerPC loader.
9c4cf53b
MRA
18151 (grub_linux_load32): Correctly find linux entry point offset.
18152 (grub_linux_load64): Likewise.
18153
d2bf06bf
RM
181542010-11-07 Robert Millan <rmh@gnu.org>
18155
18156 On mips-yeeloong, build with -march=loongson2f when this flag is
18157 available (GCC >= 4.4).
18158 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18159 `-march=mips3'.
18160 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18161 or otherwise add -march=mips3.
18162
898c99a2
BC
181632010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18164
87220a68
BC
18165 Suppress shell expansion on echo '*' and echo "*" like cases.
18166 Reported by: Jordan Uggla.
898c99a2
BC
18167
18168 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18169 string arguments before shell expansion.
18170 * tests/grub_cmd_echo.in: New testcases.
18171
4f9b406a
RM
181722010-11-07 Robert Millan <rmh@gnu.org>
18173
18174 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18175 transition.
18176
80c6d25e
VS
181772010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/kern/emu/hostdisk.c
18180 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18181
4a1a0153
VS
181822010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18185 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18186 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18187
34706ddc
VS
181882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18191
6972dea9
VS
181922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * util/grub-install.in: Replace useless recomendation to pass
18195 --modules with a recomendation to report a bug.
18196
9c693bd6
VS
181972010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 Properly register serial terminfo.
18200 Reported by: Jordan Uggla
18201
18202 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18203 const.
18204 (grub_serial_terminfo_output_template): Likewise.
18205 (grub_cmd_serial): Register "serial" with terminfo.
18206 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18207 grub_serial_terminfo_output.
18208
6c9e4c0c
RM
182092010-11-05 Robert Millan <rmh@gnu.org>
18210
18211 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18212 needed).
18213
b9b3839f
RM
182142010-11-05 Robert Millan <rmh@gnu.org>
18215
18216 On Yeeloong, pass machine type information to Linux.
18217
18218 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18219 (LOONGSON_MACHTYPE): New macro, set to
18220 "machtype=lemote-yeeloong-2f-8.9inches".
18221 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18222 additional argument to Linux.
18223
1a3aaff4
RM
182242010-11-04 Robert Millan <rmh@gnu.org>
18225
18226 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18227 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18228 (its SATA disks are detected as slaveless IDE master drives on
18229 kFreeBSD).
18230 Reported by Carsten Aulbert.
18231
a75f4f62
CW
182322010-11-02 Colin Watson <cjwatson@ubuntu.com>
18233
18234 * util/bin2h.c (main): Fix spelling error in generated output.
18235
33b4b0c6
GS
182362010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18237
18238 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18239
2b36fbf4
VS
182402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18243 vga= option is supplied.
18244
74aaf558
VS
182452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18248 * util/grub.d/10_kfreebsd.in: Likewise.
18249 * util/grub.d/10_linux.in: Likewise.
18250 * util/grub.d/20_linux_xen.in: Likewise.
18251
6428dec3
VS
182522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18255 argument as an argument to no-argument option.
18256
f8729d98
VS
182572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * util/grub.d/10_linux.in: Add missing load_video with explicit
18260 GRUB_GFXPAYLOAD_LINUX.
18261
89d68fa6
VS
182622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18265
3a1197cd
VS
182662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18267
18268 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18269 elements with invlid index.
18270 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18271 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18272 members.
18273 * include/grub/raid.h (grub_raid_member): New struct.
18274 (grub_raid_array): Transform devices and start_sector into usage of
18275 grub_raid_member. All users updated
18276 (allocated_devs): New member.
18277
71574288
VS
182782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18281 is modified
18282
8d40ec65
BC
182832010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18284
18285 NetBSD build fix for getline function conflict from gnulib.
18286
18287 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18288 components that depend on gnulib headers.
18289 (libgrubmods.a): Renamed from earlier libgrub.a.
18290 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18291
95b9257e
VS
182922010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18295 install rather than creating a broken install.
18296
26c53dc6
VS
182972010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * util/grub-setup.c (argp): Remove misleading example of installing to
18300 a partition.
18301
4171b3c5
VS
183022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * util/grub-setup.c (setup): Clarify the error message.
18305
18568d18
VS
183062010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18309
4f6a2e21
VS
183102010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * grub-core/kern/emu/misc.c
18313 (grub_make_system_path_relative_to_its_root)
18314 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18315
183162010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18317
18318 * grub-core/kern/emu/misc.c
18319 (grub_make_system_path_relative_to_its_root): Revert r2882.
18320
e138c458
VS
183212010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18324 useless field head. All users updated.
18325 (free_subchunk): Correct handling of IN_REGION subchunk.
18326
0cbcdf0e
CW
183272010-10-22 Colin Watson <cjwatson@ubuntu.com>
18328
18329 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18330 (Supported kernels): Likewise.
18331
b65ea155
GS
183322010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18333
18334 Make mktemp invocations portable.
18335
18336 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18337 exit if mktemp fails.
18338 * tests/grub_script_blockarg.in: Likewise.
18339 * tests/partmap_test.in: Likewise.
18340 * tests/util/grub-shell-tester.in: Likewise.
18341 * tests/util/grub-shell.in: Likewise.
18342 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18343 * Makefile.am: Likewise, and chain shell commands with `&&'
18344 instead of ';'.
18345 * util/grub-mkrescue.in: Use the same explicit template as above, and
18346 exit if mktemp fails.
18347
05f43cdd
BC
183482010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18349
18350 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18351 Linux kernel, reported by Dennis Schridde.
18352
800e6a9b
SJ
183532010-10-17 Szymon Janc <szymon@janc.net.pl>
18354
18355 * grub-core/normal/auth.c (grub_auth_check_authentication):
18356 Set-but-not-used variable removed.
18357
d82df574
VS
183582010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18361 32-bit linux protocol.
18362
7bced458
VS
183632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18366 cursor shape for sanity.
18367
5b027690
VS
183682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 * docs/grub.texi (Installation): Document buggy BIOS install.
18371
ba5f65cf
VS
183722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * docs/grub.texi (Installation): Indent.
18375
fdf2ec9c
VS
183762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 * util/grub-setup.c (setup): New parameter allow_floppy.
18379 (arguments): New member allow_floppy.
18380 (argp_parser): Handle --allow-floppy.
18381 (main): Pass allow_floppy.
18382 * util/grub-install.in: New option --allow-floppy passed though to
18383 grub-setup.
18384
861dfd4c
VS
183852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * util/grub-install.in: Handle partitionless disks.
18388
f77a8c24
VS
183892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * util/grub-setup.c (setup): Don't clean blocklists before readability
18392 verfification.
18393
27d9ee32
VS
183942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * docs/grub.texi (Installation): Document embedding zone. Remove
18397 obsolete grub-install example.
18398
6bdda8f8
SJ
183992010-10-16 Szymon Janc <szymon@janc.net.pl>
18400
18401 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18402 Set-but-not-used variable ifdef'ed.
18403 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18404 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18405 variable removed.
18406 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18407 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18408 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18409 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18410 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18411 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18412 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18413 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18414 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18415 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18416 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18417 Likewise.
18418
e19b016b
VS
184192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18422 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18423 enum value.
18424
6c8d3002
VS
184252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18428 synonym to _S5_. Needed for some DSDTs.
18429
c32b51c9
VS
184302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 Userspace ACPI parser debugging.
18433
18434 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18435 headers and add relevant defines. Don't include standard headers.
18436 (main) [GRUB_DSDT_TEST]: New function.
18437 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18438 Don't declare functions.
18439
fbfbeb39
VS
184402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Remove dead grub_efi_mm_fini.
18443
18444 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18445 (ALLOCATED_PAGES_SIZE): Likewise.
18446 (MAX_ALLOCATED_PAGES): Likewise.
18447 (allocated_pages): Likewise.
18448 (grub_efi_allocate_pages): Don't record allocated pages.
18449 (grub_efi_free_pages): Likewise.
18450 (grub_efi_mm_init): Likewise.
18451 (grub_efi_mm_fini): Removed.
18452
65f7ed7c
VS
184532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18456 (grub_efi_mm_init): Take into account the memory map size increase.
18457
24977b44
VS
184582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18461 (serial_hw_put): Wait based on real time rather than port reads. Don't
18462 roken ports.
18463 * include/grub/serial.h (grub_serial_port): New field broken.
18464
1eb01cd2
RM
184652010-10-16 Robert Millan <rmh@gnu.org>
18466
18467 * grub-core/kern/emu/misc.c
18468 (grub_make_system_path_relative_to_its_root): Fix premature return
18469 when processing non-root ZFS filesystems.
5f8b440b 18470 Reported by Sergio Talens-Oliag.
1eb01cd2 18471
2d5fed60
RM
184722010-10-15 Robert Millan <rmh@gnu.org>
18473
18474 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18475 guarantee compressed ones are processed first.
18476
d0f4c1ea
VS
184772010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18480 grub_efiemu_autocore.
18481
d87c681f
VS
184822010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18485 rather than 0x1b.
18486 (grub_console_getkey): Use correct jae opcode rather than ja.
18487
219b3564
RM
184882010-10-12 Robert Millan <rmh@gnu.org>
18489
18490 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18491 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18492 variable. All references updated.
18493
18494 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18495
20c6bb7e
VS
184962010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 Correctly distinguish mdraid flavours.
18499
18500 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18501 (insert_array): New argument raid.
18502 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18503 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18504 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18505
74baff84
VS
185062010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18509 handling of special keys.
18510
3ef068df 185112010-10-02 Aleš Nesrsta <starous@volny.cz>
18512
c7980ad9
VS
18513 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18514 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18515
a9455194 185162010-10-02 Aleš Nesrsta <starous@volny.cz>
18517
c7980ad9
VS
18518 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18519 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18520 users updated.
a9455194 18521 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18522 Use right endpoint when querying descriptor.
a9455194 18523
441cfe65
VS
185242010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 Clear out 0x80 color bit on EFI.
18527 Tested by: decoder
18528 Reported by: decoder and meta tech.
18529
18530 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18531 (grub_console_setcolorstate): Clear out 0x80 bit.
18532 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18533 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18534 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18535
bf26bcc4
VS
185362010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18539 Set to "auto".
18540
6e3c515d
VS
185412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18544 mo_file after freeing.
18545
e6d983ba
VS
185462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18549
74ccb5b5
VS
185502010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18553 flags.
18554
17821956
VS
185552010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18558 usage.
18559
ee74fa48
VS
185602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18563
18564 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18565 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18566 and terminfo.h when needed.
18567 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18568 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18569 (terminfo): Enable only on terminfokernel.
18570 (extcmd): Likewise.
18571 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18572 * include/grub/lib/arg.h: Likewise.
18573 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18574 incorrect usage of ->.
18575
aa438e68
VS
185762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18579 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18580
57994012
VS
185812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 Fix coreboot compilation.
18584
18585 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18586 Take VBE info into account even if only text is supported.
18587 (fill_vbe_info): Take into account the case when only VGA text
18588 is supported.
18589 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18590 on coreboot, multiboot and qemu.
18591
2a406611
VS
185922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18595 debug messages.
18596 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18597
d33613fc
VS
185982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18601 parameters.
18602
44a1b432
VS
186032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18606 if they were BSD-style.
18607
edde54e6
VS
186082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 * grub-core/boot/i386/pc/lnxboot.S: Replace
18611 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18612 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18613
b65830fa
VS
186142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 Write embedding zone using Reed-Solomon.
18617
18618 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18619 * grub-core/Makefile.am (rs_decoder.S): New target.
18620 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18621 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18622 (multiboot): Move to RS part.
18623 (post_reed_solomon): New label.
18624 (grub_boot_drive): Move to non-RS part since it's modified in memory
18625 on boot.
18626 Include rs_decoder.S.
18627 * grub-core/lib/reed_solomon.c: New file.
18628 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18629 New definition.
18630 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18631 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18632 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18633 * include/grub/partition.h (grub_partition_map): Change prototype of
18634 embed to allow returning additional sectors.
18635 * include/grub/reed_solomon.h: New file.
18636 * util/grub-setup.c (setup): Handle Reed-Solomon.
18637
0b4b227f
CW
186382010-09-28 Colin Watson <cjwatson@ubuntu.com>
18639
18640 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18641 i386 and x86-64 definedness tests.
18642
f772623b
YB
186432010-09-27 Yves Blusseau <blusseau@zetam.org>
18644
18645 Fix generation of kernel_syms.lst
18646
18647 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18648 ASM_PREFIX
18649
8e57a6ca
RM
186502010-09-26 Robert Millan <rmh@gnu.org>
18651
18652 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18653
18654 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18655 the pool is an array of devices, iterate through it and return the
18656 first device that passes a stat() test (instead of blindly returning
18657 the first one).
18658
f9130836
RM
186592010-09-26 Robert Millan <rmh@gnu.org>
18660
18661 Build fixes for GNU/kFreeBSD.
18662
18663 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18664 to programs that require ZFS conversion.
18665 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18666 kernels that don't have FLOPPY_MAJOR.
18667
96510faf
BC
186682010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18669
18670 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18671
449333eb
BC
186722010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18673
18674 Fix grub-emu build.
18675
18676 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18677 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18678 mdraid09 and mdraid1x.
18679
e1fd1939
CW
186802010-09-24 Colin Watson <cjwatson@ubuntu.com>
18681
18682 Re-enable grub-extras.
18683
18684 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18685 avoid confusing Automake. Run autogen only twice, once for the top
18686 level and once for grub-core. Add Makefile.util.def and
18687 Makefile.core.def from extra modules to the appropriate autogen
18688 invocations. If Makefile.common exists in an extra module, include
18689 it in both Makefile.util.am and grub-core/Makefile.core.am;
18690 similarly, include any Makefile.util.common file in Makefile.util.am
18691 and any Makefile.core.common file in grub-core/Makefile.core.am.
18692 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18693 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18694 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18695 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18696
18697 * gentpl.py (gvar_add): Turn GVARS into a set.
18698 (global_variable_initializers): Sort global variables on output.
18699 (vars_init): New function.
18700 (first_time): Likewise.
18701 (library): Ensure that non-global variable initialisations are
18702 emitted before the first time we emit code for a library block.
18703 Append to variables rather than setting them. Only emit
18704 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18705 each conditional path.
18706 (program): installdir() emits an Autogen macro, so must be passed to
18707 var_add rather than gvar_add.
18708 (data): Likewise.
18709 (script): Likewise.
18710 (rules): New function, centralising handling for different target
18711 types. Set up Guile association lists for first_time and vars_init,
18712 and send most output to a diversion so that variable initialisations
18713 can be emitted first.
18714 (module_rules): Use new rules function.
18715 (kernel_rules): Likewise.
18716 (image_rules): Likewise.
18717 (library_rules): Likewise.
18718 (program_rules): Likewise.
18719 (script_rules): Likewise.
18720 (data_rules): Likewise.
18721
18722 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18723
18724 * .bzrignore: Add contrib and grub-core/contrib. Remove
18725 grub-core/Makefile.gcry.am.
18726
1d12cf29
YB
187272010-09-24 Yves Blusseau <blusseau@zetam.org>
18728
18729 * grub-core/lib/LzFind.c: Add missing include.
18730 * grub-core/lib/LzmaEnc.c: Likewise.
18731 * grub-core/script/lexer.c: Likewise.
18732 * grub-core/script/yylex.l: Likewise.
18733 * util/grub-macho2img.c: Likewise.
18734 * util/grub-menulst2cfg.c: Likewise.
18735 * util/grub-mklayout.c: Likewise.
18736 * util/grub-mkpasswd-pbkdf2.c
18737 * util/grub-mkrelpath.c: Likewise.
18738 * util/resolve.c: Likewise.
18739
dd363028
BC
187402010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18741
18742 * Makefile.util.def (example_unit_test): Add
18743 grub-core/gnulib/libgnu.a.
18744
f5a109e2
GS
187452010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18746
18747 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18748
6d0fa83c
VS
187492010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 Support xz compression on yeeloong.
18752
18753 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18754 * configure.ac: Check for LZMA.
18755 * grub-core/Makefile.core.def (xz_decompress): New target.
18756 (none_decompress): Likewise.
18757 * grub-core/boot/decompressor/minilib.c: New file.
18758 * grub-core/boot/decompressor/none.c: Likewise.
18759 * grub-core/boot/decompressor/xz.c: Likewise.
18760 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18761 * grub-core/kern/mips/cache_flush.S: Likewise.
18762 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18763 * grub-core/kern/mips/startup.S: Move first stage to ...
18764 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18765 nomacro.
18766 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18767 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18768 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18769 Allocate statically.
18770 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18771 Allocate statically or use scratch. Don't check CRC32.
18772 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18773 Allocate statically. Don't check CRC32.
18774 * include/grub/decompressor.h: New file.
18775 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18776 Removed.
18777 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18778 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18779 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18780 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18781 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18782 * util/grub-mkimage.c (grub_compression_t): New type.
18783 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18784 (image_target_desc): New field default_compression.
18785 (image_targets): Adjust yeeloong targets.
18786 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18787 (compress_kernel): New parameter comp.
18788 (generate_image): Likewise. Handle new compression case.
18789 (options): New option --compression
18790 (help): Likewise.
18791 (main): Handle new option.
18792
1b655af6
GS
187932010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18794
18795 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18796
8f03f0b5
CW
187972010-09-22 Colin Watson <cjwatson@ubuntu.com>
18798
18799 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18800 typo in __i386__ conditional.
18801
7835dfd3
VS
188022010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18805 include.
18806
e255597e
VS
188072010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18808
6d0fa83c 18809 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18810
18811 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18812 new tags as supported.
18813 (acpiv2_size): New function.
18814 (grub_multiboot_get_mbi_size): Take new tags into account.
18815 (grub_multiboot_make_mbi): Add new tags.
18816 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18817
6cc14051 188182010-09-21 Aleš Nesrsta <starous@volny.cz>
18819
18820 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18821 Added missing configuration of USB device.
18822
df7769d8
CW
188232010-09-21 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * grub-core/normal/menu_entry.c (run): Make sure we always return
18826 a value.
18827
b031012d
CW
188282010-09-21 Colin Watson <cjwatson@ubuntu.com>
18829
18830 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18831 NumberOfPages is UINT64 according to the UEFI specification, not
18832 UINTN. Fix printf format.
18833
174de8f3
CW
188342010-09-21 Colin Watson <cjwatson@ubuntu.com>
18835
18836 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18837 `err' to grub_usb_err_t.
18838 Reported and tested by: KESHAV P.R.
18839
d7dbe923
CW
188402010-09-21 Colin Watson <cjwatson@ubuntu.com>
18841
18842 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18843 tpart non-const, so that we can assign to it. (Since this is a
18844 typedef, the constness refers to the pointer rather than what it
18845 points to.)
18846
8d5e2af3
CW
188472010-09-21 Colin Watson <cjwatson@ubuntu.com>
18848
18849 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18850 $(top_srcdir)/grub-core/gnulib as well as
18851 $(top_builddir)/grub-core/gnulib.
18852 Reported by: KESHAV P.R.
18853
5c527783
CW
188542010-09-21 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * util/grub-install.in: Fix the bootloader ID option to be
18857 consistently --bootloader-id, not --bootloader_id.
18858 Reported by: KESHAV P.R.
18859
d309a16e
CW
188602010-09-21 Colin Watson <cjwatson@ubuntu.com>
18861
18862 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18863 check hash checksum." consistently translatable.
18864
b830cd16
YB
188652010-09-21 Yves Blusseau <blusseau@zetam.org>
18866
18867 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18868 $(top_builddir).
18869
c4fe27a8
CW
188702010-09-21 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18873 (GRUB_MOD_INIT): Register sha1sum command.
18874 (GRUB_MOD_FINI): Unregister sha1sum command.
18875
a4c1d277
YB
188762010-09-21 Yves Blusseau <blusseau@zetam.org>
18877
18878 Keep boot and grub directory names in sync with utils scripts
18879
18880 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18881 * config.h.in: Add previous macros.
18882 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18883 * util/grub-install.in: Use $bootdir and $grubdir variables.
18884
4eff79d2
CW
188852010-09-21 Colin Watson <cjwatson@ubuntu.com>
18886
18887 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18888 convert partition names to disk names if the new `convert' parameter
18889 is set.
18890 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18891 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18892 disk in its own right. This can happen with Xen disk images.
18893
934d7e44
YB
188942010-09-21 Yves Blusseau <blusseau@zetam.org>
18895
18896 * util/grub-editenv.c: Update strings to avoid warnings when generating
18897 grub.pot file.
18898 * util/grub-setup.c: Likewise.
934d7e44 18899
df3367cc
VS
189002010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 * configure.ac: Change version to 1.99~beta0.
18903
77a94e98
VS
189042010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18907 Add BADRAM.
18908 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18909 Likewise.
18910 * include/multiboot.h: Resynced with specification.
18911 * include/multiboot2.h: Likewise.
18912
269004c1
CW
189132010-09-21 Colin Watson <cjwatson@ubuntu.com>
18914
18915 Fix po directory handling.
18916
18917 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18918 * grub-core/gnulib/Makefile.am: Import gettext module.
18919 * m4/gnulib-cache.m4: Likewise.
18920 * m4/gnulib-comp.m4: Likewise.
18921 * m4/gettext.m4: New file, from gnulib.
18922 * m4/glibc2.m4: Likewise.
18923 * m4/iconv.m4: Likewise.
18924 * m4/intdiv0.m4: Likewise.
18925 * m4/intl.m4: Likewise.
18926 * m4/intldir.m4: Likewise.
18927 * m4/intlmacosx.m4: Likewise.
18928 * m4/intmax.m4: Likewise.
18929 * m4/inttypes-pri.m4: Likewise.
18930 * m4/lcmessage.m4: Likewise.
18931 * m4/lib-ld.m4: Likewise.
18932 * m4/lib-link.m4: Likewise.
18933 * m4/lib-prefix.m4: Likewise.
18934 * m4/lock.m4: Likewise.
18935 * m4/nls.m4: Likewise.
18936 * m4/po.m4: Likewise.
18937 * m4/printf-posix.m4: Likewise.
18938 * m4/progtest.m4: Likewise.
18939 * m4/threadlib.m4: Likewise.
18940 * m4/uintmax_t.m4: Likewise.
18941 * m4/visibility.m4: Likewise.
18942 * po/Makefile.am: Remove.
18943 * po/Makefile.in.in: New file, from gettext.
18944 ($(DOMAIN).pot-update): Support POTFILES-shell.
18945 * po/Makevars: New file.
18946 * po/POTFILES-shell: Rename to ...
18947 * po/POTFILES-shell.in: ... this. Update.
18948 * po/POTFILES: Rename to ...
18949 * po/POTFILES.in: ... this. Update.
18950 * po/Rules-quot: New file, from gettext.
18951 * po/boldquot.sed: Likewise.
18952 * po/en@boldquot.header: Likewise.
18953 * po/en@quot.header: Likewise.
18954 * po/insert-header.sin: Likewise.
18955 * po/quot.sed: Likewise.
18956 * po/remove-potcdate.sin: Likewise.
18957
3e0fa5d0
VS
189582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18961
ade9bd66
VS
189622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * util/grub.d/20_linux_xen.in: Use submenus.
18965
fc55cc4c
VS
189662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Support submenus.
18969
18970 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18971 parameter submenu. All users updated.
18972 * grub-core/normal/main.c (free_menu): Rename to ...
18973 (grub_normal_free_menu): ... this. Made global.
18974 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18975 if requested.
18976 * grub-core/normal/menu_entry.c (screen): New field submenu.
18977 (make_screen): Set submenu.
18978 (run): Open new context if requested.
18979 * include/grub/menu.h (grub_menu_entry): New field submenu.
18980 * include/grub/normal.h (grub_normal_free_menu): New proto.
18981
600cedf7
VS
189822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 Menu entries extractor.
18985
18986 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18987 variants.
18988 (GRUB_MOD_INIT): Register new variants.
18989 (GRUB_MOD_FINI): Unregister new variants.
18990 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18991 into grub_cmd_legacy_source.
18992 (grub_cmd_legacy_source): Implement extractor variants.
18993 (GRUB_MOD_INIT): Register new variants.
18994 (GRUB_MOD_FINI): Unregister new variants.
18995 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18996 as an extractor.
18997 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18998 search as an extractor.
18999 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19000 test as an extractor.
19001 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19002 as an extractor.
19003 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19004 (grub_env_new_context): New function.
19005 (grub_env_context_open): Likewise.
19006 (grub_env_extractor_open): Likewise.
19007 (grub_env_extractor_close): Likewise.
19008 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19009 grub_extractor_level.
19010 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19011 * include/grub/env.h (grub_env_extractor_open): New proto.
19012 (grub_env_extractor_close): Likewise.
19013 * include/grub/normal.h (grub_extractor_level): New external variable.
19014
7bda3a87
VS
190152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 Make cutmem accept a region specification.
19018 Suggested by: Samuel Thibault
19019
19020 * grub-core/mmap/mmap.c (parsemem): New function.
19021 (grub_cmd_cutmem): Handle new arguments.
19022
2ea57f88
VS
190232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 New command cutmem.
19026
19027 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19028 (GRUB_MOD_INIT): Register new command.
19029 (GRUB_MOD_FINI): Unregister new command.
19030
74342e31
VS
190312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 Support some annoying BSD and Minix subpartitions.
19034
19035 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19036 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19037 Properly handle concatenation.
19038 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19039 * grub-core/normal/completion.c (iterate_partition): Likewise.
19040 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19041 contain partition. All users updated.
19042 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19043 struct.
19044 (grub_openbsdlabel_partition_map): Likewise.
19045 (bsdlabel_partition_map_iterate): Rename to ..
19046 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19047 (bsdlabel_partition_map_iterate): New function.
19048 (netopenbsdlabel_partition_map_iterate): Likewise.
19049 (netbsdlabel_partition_map_iterate): Likewise.
19050 (openbsdlabel_partition_map_iterate): Likewise.
19051 (GRUB_MOD_INIT): Register new partmaps.
19052 (GRUB_MOD_FINI): Unregister new partmaps.
19053 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19054 (grub_partition_msdos_iterate): ... this. All users updated.
19055 Don't support embedding other than in a minix partition.
19056 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19057 proto.
19058 * include/grub/partition.h (grub_partition): New field msdostype.
19059 * util/grub-install.in: Handle openbsd and netbsd types being in
19060 part_bsd module.
19061
1e8d555b
VS
190622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19065
19066 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19067 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19068 (mdraid09): ... this.
19069 (mdraid1x): New module.
19070 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19071 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19072
899d8af4
VS
190732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19076 vsprintf.
19077
40901acd
CW
190782010-09-20 Colin Watson <cjwatson@ubuntu.com>
19079
19080 * grub-core/commands/efi/lsefimmap.c: Correct header.
19081 * NEWS: Update.
19082
dfe3b247
CW
190832010-09-20 Colin Watson <cjwatson@ubuntu.com>
19084
19085 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19086 as printf format strings; the translations might contain '%' which
19087 could cause a crash.
19088 (main): Likewise.
19089 * util/grub-fstest.c (argp_parser): Likewise.
19090 * util/grub-setup.c (argp_parser): Likewise.
19091 (main): Likewise.
19092
3286a4b4
VS
190932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 Use argp in grub-fstest.
19096
19097 * util/grub-fstest.c: Don't include getopt.h.
19098 Include argp.h.
19099 (root): New variable.
19100 (args_count): Likewise.
19101 (nparm): Likewise.
19102 (num_disks): Likewise.
19103 (images): Likewise.
19104 (cmd): Likewise.
19105 (debug_str): Likewise.
19106 (args): Likewise.
19107 (options): Transformed to argp.
19108 (usage): Removed.
19109 (main): Split argument parsing into ...
19110 (argp_parser): ... this. Changed to argp format.
19111 (argp): New variable.
19112 (main): Use argp_parse.
19113
3dccbe4b
TG
191142010-09-20 Tristan Gingold <gingold@free.fr>
191152010-09-20 Robert Millan <rmh.grub@aybabtu.com>
191162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * grub-core/commands/efi/lsefimmap.c: New file.
19119 * grub-core/Makefile.core.def (lsefimmap): New module.
19120 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19121
38c259a7
VS
191222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 Pause the execution (10s max) if any errors are displayed so the user
19125 has a chance to see them.
19126
19127 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19128 (grub_print_error): Increment grub_err_printed_errors.
19129 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19130 execution if any errors were displayed.
19131 (show_menu): Remove old code for pause.
19132 * grub-core/normal/menu_entry.c (run): Likewise.
19133 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19134 users updated.
19135 (grub_normal_get_char_counter): Likewise.
19136 * include/grub/err.h (grub_err_printed_errors): New external variable.
19137 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19138
f218b09c
VS
191392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 Support multiboot VBE info.
19142
19143 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19144 Take VBE info into account.
19145 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19146 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19147 Call fill_vbe_info when appropriate.
19148 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19149 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19150 as supported.
19151 (grub_multiboot_get_mbi_size): Take new tags into account.
19152 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19153 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19154 Call fill_vbe_tag when appropriate.
19155 (grub_multiboot_make_mbi): Properly align tags.
19156 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19157 function.
19158 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19159 proto.
19160 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19161
a9cc5438
VS
191622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 Suport manual terminal geometry specification.
19165
19166 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19167 Save state in grub_ofconsole_terminfo_output.
19168 (grub_ofconsole_term): Use grub_terminfo_getwh.
19169 (grub_ofconsole_getwh): Removed.
19170 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19171 (grub_serial_term): Use grub_terminfo_getwh.
19172 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19173 (options): New struct.
19174 (OPTION_*): New enum.
19175 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19176 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19177 width and height.
19178 (grub_terminfo_getwh): New proto.
19179 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19180
1a8fed20
VS
191812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 Handle legacy "terminal" command.
19184
19185 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19186 and FLAG_TERMINAL.
19187 (legacy_commands): Add terminal and title.
19188 (grub_legacy_parse): Handle terminal. Simplify title handling.
19189
41e9c57d
VS
191902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19193 parameters overflow.
19194
61c874c5
CW
191952010-09-20 Colin Watson <cjwatson@ubuntu.com>
19196
19197 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19198 widthspec.h.
19199
19200 * docs/grub.texi (Shell-like scripting): Document `!'.
19201 (Network): Simplify using new i386-pc-pxe format. Mention
19202 grub-mknetdir.
19203
19204 * NEWS: Update.
19205
943682b4
CW
192062010-09-20 Colin Watson <cjwatson@ubuntu.com>
19207
19208 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19209 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19210 when needed.
19211
6d3d698d
CW
192122010-09-20 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * grub-core/commands/efi/lsefisystab.c: Correct header.
19215 * grub-core/commands/efi/lssal.c: Likewise.
19216 * grub-core/commands/testload.c: Likewise.
19217
c982589f
CW
192182010-09-20 Colin Watson <cjwatson@ubuntu.com>
19219
19220 * util/grub-mkrescue.in: Add explicit root argument to --set to
19221 prevent the UUID being interpreted as an argument to --set (matches
19222 previous change to prepare_grub_to_access_device).
19223
a63c31b6
CW
192242010-09-20 Colin Watson <cjwatson@ubuntu.com>
19225
19226 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19227 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19228 the verbosity of later #ifs.
19229 (find_partition_start): Define this function on FreeBSD too.
19230 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19231 function.
19232 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19233 on FreeBSD.
19234
6439b8ee
YB
192352010-09-20 Yves Blusseau <blusseau@zetam.org>
19236
19237 * util/grub-editenv.c: Use argp instead of getopt.
19238
c5930ec8
YB
192392010-09-20 Yves Blusseau <blusseau@zetam.org>
19240
19241 * util/grub-setup.c: Use argp instead of getopt.
19242
15c69261
YB
192432010-09-20 Yves Blusseau <blusseau@zetam.org>
19244
19245 Use gnulib-tool to create gnulib source files.
19246
19247 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19248 grub-core/gnulib directories
19249 * .bzignore: Add **/.deps and autogenerated gnulib files
19250 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19251 of gnulib macros, add grub-core/gnulib/Makefile
19252 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19253 include m4 directory to aclocal.
19254 * Makefile.util.def: Remove direct compilation of gnulib source files
19255 and use the new grub-core/gnulib/libgnu.a.
19256 * build-aux/config.rpath: move config.rpath from top directory to
19257 build-aux
19258 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19259 in gnulib headers
19260 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19261 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19262 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19263 header.
19264 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19265 string.
19266
e511c9f5
YB
192672010-09-20 Yves Blusseau <blusseau@zetam.org>
19268
19269 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19270 grub-core/genmod.sh and grub-core/gensyminfo.sh
19271
c2dede05
BC
192722010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19273
19274 Add a test for echo command options.
19275
19276 * tests/grub_cmd_echo.in: New test.
19277 * Makefile.util.def: Rules for new test.
19278
c55f5018
SJ
192792010-09-20 Szymon Janc <szymon@janc.net.pl>
19280
19281 Remove crc.mod and move crc command to hashsum.mod.
19282 Remove lib/crc.c - users updated to use gcrypt implementation.
19283
19284 * grub-core/commands/crc.c: Removed.
19285 * grub-core/Makefile.core.def (crc): Module removed.
19286 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19287 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19288 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19289 * grub-core/lib/crc.c: Removed.
19290 * include/grub/lib/crc.h: Removed.
19291 * Makefile.util.def (crc): Remove lib/crc.c
19292 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19293 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19294 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19295 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19296 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19297 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19298
e0337366
VS
192992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19302
742f9232
VS
193032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Split config.h for util and core.
19306
19307 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19308 (ADDR32): Likewise.
19309 (DATA32): Likewise.
19310 (BSS_START_SYMBOL): Likewise.
19311 (END_SYMBOL): Likewise.
19312 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19313 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19314 * config.h.in: New file.
19315 * configure.ac: Use config-util.h as config define file.
19316 Rename MACHINE into GRUB_MACHINE. All users updated.
19317 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19318 updated.
19319 (NESTED_FUNC_ATTR): Likewise.
19320 Substitue new variables.
19321 (COND_HAVE_ASM_USCORE): New conditional.
19322 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19323 (kernel_syms.lst): Use ASM_PREFIX.
19324 * grub-core/kern/emu/console.c: Include config-util.h.
19325 * grub-core/kern/emu/misc.c: Likewise.
19326 * grub-core/kern/emu/mm.c: Likewise.
19327 * include/grub/emu/misc.h: Likewise.
19328 * include/grub/libgcc.h: Likewise.
19329
39feb0e8
VS
193302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19333 constants usage.
19334 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19335 Fix GRUB_TERM_KEY_* constants usage.
19336 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19337
9af6dac3
VS
193382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19341 print pointer.
19342 * grub-core/bus/usb/uhci.c: Remove empty define.
19343 (grub_uhci_check_transfer): Add missing cast.
19344 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19345 print pointer.
19346 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19347 PRIuGRUB_SIZE.
19348 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19349
d6d94820
VS
193502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 * grub-core/Makefile.core.def (legacycfg): Add
19353 lib/i386/pc/vesa_modes_table.c on emu.
19354
3572f2b6
BC
193552010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19356
19357 Reduce number of temporary files generated by build system.
19358
19359 * grub-core/gencmdlist.sh: Removed.
19360 * grub-core/genfslist.sh: Removed.
19361 * grub-core/genhandlerlist.sh: Removed.
19362 * grub-core/genmodsrc.sh: Removed.
19363 * grub-core/genpartmaplist.sh: Removed.
19364 * grub-core/genparttoollist.sh: Removed.
19365 * grub-core/gentermiinallist.sh: Removed.
19366 * grub-core/genvideolist.sh: Removed.
19367
19368 * grub-core/genmod.sh.in: New file.
19369 * grub-core/gensyminfo.sh.in: New file.
19370
19371 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19372 * conf/Makefile.extra-dist: Update with new files.
19373 * gentpl.py: Remove rules related to unnecessary temporary files.
19374 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19375 and und-* files.
19376 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19377 genmod.sh scripts.
19378 * grub-core/bus/usb/uhci.c: Remove empty #define.
19379 * grub-core/genmoddep.awk: Updated with new syminfo format.
19380 * util/bash-completion.d/Makefile.am: Add config.log to
19381 CLEANFILES.
19382
c836b030
YB
193832010-09-19 Yves Blusseau <blusseau@zetam.org>
19384
19385 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19386
2f4e8053
BC
193872010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19388
19389 * util/grub-mkconfig.in: Check the config script for syntax errors
19390 before saving.
19391
75831c34
CW
193922010-09-19 Colin Watson <cjwatson@ubuntu.com>
193932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19396 platforms.
19397 * util/grub-install.in: Add EFI and IEEE1275 support.
19398 * util/i386/efi/grub-install.in: Removed.
19399 * util/ieee1275/grub-install.in: Likewise.
19400
eaf41b25
VS
194012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19404 (grub_cmd_cmosclean): Likewise.
19405 (GRUB_MOD_INIT): Register command cmosclean.
19406 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19407 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19408
1a9130dd
CPE
194092010-09-18 Carles Pina i Estany <carles@pina.cat>
194102010-09-18 Aleš Nesrsta <starous@volny.cz>
194112010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 Add keyboard layouts support.
19414
19415 * Makefile.util.def (grub-mklayout): New file.
19416 (grub-kbdcomp): New script.
19417 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19418 Add keyboard_layouts.h.
19419 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19420 commands/boot.c on yeeloong.
19421 (keylayouts): New module.
19422 * grub-core/bus/usb/ohci.c
19423 * grub-core/bus/usb/uhci.c
19424 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19425 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19426 (attach_root_port): Likewise.
19427 (poll_nonroot_hub): Likewise.
19428 (grub_usb_poll_devices): Likewise.
19429 (detach_device): Close transfer.
19430 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19431 function.
19432 (grub_usb_bulk_setup_readwrite): Likewise.
19433 (grub_usb_bulk_finish_readwrite): Likewise.
19434 * grub-core/commands/keylayouts.c: New file.
19435 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19436 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19437 aliases.
19438 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19439 support scancode 2.
19440 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19441 * include/grub/keyboard_layouts.h: New file.
19442 * util/grub-mklayout.c: New file.
19443 * util/grub-kbdcomp.in: Likewise.
19444
a1d84a5e
VS
194452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 Unify memory types.
19448
19449 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19450 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19451 types.
19452 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19453 (grub_upper_mem): Likewise.
19454 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19455 * include/grub/memory.h (grub_memory_type_t): New enum.
19456 All users updated.
19457
9696382e
VS
194582010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 * grub-core/Makefile.core.def (lsapm): New module.
19461 * grub-core/commands/i386/pc/lsapm.c: New file.
19462 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19463 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19464 Likewise.
19465 * include/grub/i386/pc/apm.h: New file.
19466 * include/multiboot.h (multiboot_apm_info): New struct.
19467
194682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 GRUB-legacy configuration file support.
19471
19472 * Makefile.util.def (grub-menulst2cfg): New util.
19473 * docs/man/grub-menulst2cfg.h2m: New file.
19474 * grub-core/Makefile.core.def (legacycfg): New module.
19475 * grub-core/commands/legacycfg.c: New file.
19476 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19477 (grub_normal_add_menu_entry): ... this.
19478 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19479 (grub_normal_set_password): ...this.
19480 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19481 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19482 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19483 * grub-core/lib/legacy_parse.c: New file.
19484 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19485 * include/grub/i386/pc/vesa_modes_table.h: New file.
19486 * include/grub/legacy_parse.h: Likewise.
19487 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19488 * util/grub-menulst2cfg.c: New file.
19489
bf8d1338
CW
194902010-09-17 Colin Watson <cjwatson@ubuntu.com>
19491
19492 * grub-core/kern/emu/hostdisk.c
19493 (convert_system_partition_to_system_disk): Initialise node.
19494
9c0bad2e
CW
194952010-09-17 Colin Watson <cjwatson@ubuntu.com>
19496
19497 * grub-core/kern/emu/hostdisk.c
19498 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19499 leak.
19500 Reported and based on patch by: Modestas Vainius.
19501
a939d135
CW
195022010-09-17 Colin Watson <cjwatson@ubuntu.com>
19503
19504 Fix DM-RAID probing with recent versions of device-mapper udev
19505 rules.
19506
19507 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19508 canonicalise device paths under /dev/mapper/.
19509 (convert_system_partition_to_system_disk): Compare the
19510 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19511 path, since device nodes under /dev/mapper/ are often symlinks.
19512
0f7ee3c9
YB
195132010-09-17 Yves Blusseau <blusseau@zetam.org>
19514
19515 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19516
10854d0d
YB
195172010-09-16 Yves Blusseau <blusseau@zetam.org>
19518
19519 * configure.ac: Avoid some annoying error messages if freetype-config
19520 program is not found.
19521
108538d8
CW
195222010-09-16 Colin Watson <cjwatson@ubuntu.com>
19523
19524 Support RAID on virtio devices, and others.
19525
19526 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19527 Rename to ...
19528 [__MINGW32__] (grub_find_device): ... this.
19529 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19530 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19531 reasonable default if dir is NULL.
19532 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19533 ...
19534 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19535 (grub_guess_root_device): Update callers.
19536 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19537
19538 * util/raid.c (grub_util_getdiskname): Remove.
19539 (grub_util_raid_getmembers): Use grub_find_device rather than
19540 grub_util_getdiskname.
19541
e5bfc130
CW
195422010-09-16 Colin Watson <cjwatson@ubuntu.com>
19543
19544 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19545 needing to be compiled with serial support.
19546 (ls): Indicate that multiple files are accepted.
19547 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19548 indicate that multiple files are accepted.
19549
be458ae2
CW
195502010-09-16 Colin Watson <cjwatson@ubuntu.com>
19551
19552 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19553 libgrub_a_init.c, and util/bash-completion.d/grub.
19554
cb731b5e
VS
195552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * util/grub-setup.c (setup): Fix incorrect container semantics.
19558
35139e8a
VS
195592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19562 misusage.
19563 Reported by: J. Nick Terry
19564
e50fca4a
VS
195652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19566
19567 Move embedding routines to partmap sources files.
19568
19569 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19570 [GRUB_UTIL]: New variable.
19571 (gpt_partition_map_iterate): Set part.parent.
19572 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19573 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19574 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19575 New function.
19576 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19577 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19578 (grub_partition_map) [GRUB_UTIL]: New field embed.
19579 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19580 (setup): Use ->embed.
19581
f00478b7
VS
195822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19585 function.
19586 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19587 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19588
2b94e3ff
YB
195892010-09-15 Yves Blusseau <blusseau@zetam.org>
19590
19591 Add function to get completions from usage.
19592
19593 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19594 completions from usage. Use LC_ALL=C to get options properly.
19595
2e04a006
VS
195962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * grub-core/gnulib/basename-lgpl.c: Imported.
19599 * grub-core/gnulib/basename.c: Likewise.
19600 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19601 * grub-core/gnulib/dirname.c: Likewise.
19602 * grub-core/gnulib/dirname.h: Likewise.
19603 * grub-core/gnulib/stripslash.c: Likewise.
19604
5dcdf93a
VS
196052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * grub-core/gnulib/error.c: Resynced.
19608 * grub-core/gnulib/getopt.c: Likewise.
19609 * grub-core/gnulib/getopt_int.h: Likewise.
19610 * grub-core/gnulib/regex.h: Likewise.
19611 * grub-core/gnulib/regex_internal.c: Likewise.
19612 * grub-core/gnulib/regex_internal.h: Likewise.
19613
014f47b7
SJ
196142010-09-15 Szymon Janc <szymon@janc.net.pl>
19615
19616 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19617 CRC calculations and validity checks.
19618 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19619 calculations.
19620
dd521a4a
SJ
196212010-09-15 Szymon Janc <szymon@janc.net.pl>
19622
19623 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19624
79c4eeb9
VS
196252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19626
19627 Fix incorrect echo options handling.
19628 Reported by: Yves Blusseau.
19629
19630 * include/grub/command.h (grub_command_flags_t): New flags
19631 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19632 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19633 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19634
ed80f7d5
VS
196352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19638 users updated.
19639 (GRUB_COMMAND_FLAG_MENU): Likewise.
19640 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19641 (GRUB_COMMAND_FLAG_TITLE): Removed.
19642 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19643 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19644 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19645 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19646 (grub_command_flags_t): New enum. All users updated.
19647
5fe7620a
SG
196482010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19649
19650 Fix solaris compilation.
19651
19652 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19653 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19654 (grub-emu-list): Likewise.
19655
545b752f
VS
196562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19657
19658 Remove deprecated root command.
19659
19660 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19661 updated.
19662
6c1a338c
VS
196632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * util/i386/pc/grub-setup.c: Merge this ...
19666 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19667 * util/grub-setup.c: ... into this.
19668 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19669 New struct.
19670
196712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19674 possible.
19675
d2ea4551
VS
196762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19679 allocate p.
19680
3c3b5040
VS
196812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19684 explicit root argument to set to prevent UUID to be interpreted as
19685 argument to set.
19686
b71c3fae
VS
196872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19688
19689 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19690
275433e6
VS
196912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 Don't export grub_gate_a20.
19694
19695 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19696 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19697 to ...
19698 (grub_gate_a20): ... this. All users updated.
19699 * include/grub/i386/pc/init.h: Removed. All users updated.
19700
a5dbb1f1
VS
197012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 Create euro.pf2 which supports most European languages.
19704
19705 * Makefile.am (grubdata_DATA): Add euro.pf2.
19706 (euro.pf2): New target.
19707 (CLEANFILES): Add euro.pf2.
19708
62a747cb
VS
197092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 * configure.ac: Disable emu-usb by default to prevent inadvertent
19712 device takeover.
19713
608e43b1
VS
197142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 Disable usbserial on grub-emu since our libusb code isn't good enough
19717 yet.
19718
19719 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19720 (usbserial_pl2303): Likewise.
19721 (usbserial_ftdi): Likewise.
19722
94564f81
VS
197232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * include/grub/disk.h (grub_disk): Remove has_partitions.
19726 All users updated.
19727 * disk/loopback.c (grub_loopback): Remove has_partitions.
19728 All users updated.
19729 (options): Remove partitions. All users updated.
19730 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19731 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19732 actual partition table is found.
19733
3352800b
VS
197342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 Remove readability checks (too many false negatives).
19737
19738 * util/grub-install.in: Remove readability checks.
19739 * util/grub-mkconfig.in: Likewise.
19740 * util/grub.d/10_hurd.in: Likewise.
19741 * util/grub.d/10_kfreebsd.in: Likewise.
19742 * util/grub.d/10_linux.in: Likewise.
19743 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19744 way.
19745
2419f17a
VS
197462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 Enable acpi shutdown on all ACPI platforms.
19749
19750 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19751 on coreboo, multiboot and EFI.
19752 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19753 (grub_acpi_halt): Likewise.
19754 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19755 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19756 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19757 * grub-core/lib/i386/halt.c (grub_halt)
19758 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19759
0575c7c3
VS
197602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19763 context.
19764
54ac3cd1
VS
197652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19768 * grub-core/video/efi_uga.c: Likewise.
19769
b2a30ac5
VS
197702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 Filter devaliases and never open same device twice.
19773
19774 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19775 (last_ihandle): Likewise.
19776 (ofdisk_hash_ent): New member shortest.
19777 (ofdisk_hash_add): Add canonical path too.
19778 (scan): New function.
19779 (grub_ofdisk_iterate): Iterate over hashed entries.
19780 (compute_dev_path): Don't add :0.
19781 (grub_ofdisk_open): Don't really open the disk.
19782 (grub_ofdisk_close): Avoid closing unrelated disk.
19783 (grub_ofdisk_read): Implement reopen logic.
19784 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19785 New function.
19786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19787 New proto.
19788
fb53b340
VS
197892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 Fix sparc64.
19792
19793 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19794 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19795 right address. Add sparc64_ieee1275_ldflags.
19796 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19797 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19798 to grub_host_to_target_addr
19799 (load_image): Likewise.
19800
f452b040
VS
198012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * grub-core/normal/completion.c (complete_file): Handle device
19804 containing slash.
19805 Fix based on patch by Doug Nazar.
19806
9b5b2541
VS
198072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 grub-mknetdir script.
19810
19811 * Makefile.util.def (grub-mknetdir): New module.
19812 * tests/util/grub-shell.in: Support boot=net
19813 * util/grub-mknetdir.in: New file.
19814
9d2be652
VS
198152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 videoinfo on non-vbe.
19818
19819 * grub-core/Makefile.core.def (vbeinfo): Removed.
19820 (vbetest): Removed.
19821 (videoinfo): New module.
19822 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19823 * grub-core/commands/i386/pc/vbetest.c: Removed.
19824 * grub-core/commands/videoinfo.c: New file.
19825 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19826 specification.
19827 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19828 as vbetest.
19829 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19830 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19831 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19832 mode_number. New parameter mode. All users updated.
19833 (grub_video_gop_iterate): New function.
19834 (grub_video_efi_gop): New member iterate.
19835 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19836 (grub_vbe_set_video_mode): Remove setting useless fields.
19837 (vbe2videoinfo): New function.
19838 (grub_video_vbe_iterate): Likewise.
19839 (grub_video_vbe_setup): Use vbe2videoinfo.
19840 (grub_video_vbe_print_adapter_specific_info): New function.
19841 (grub_video_vbe_adapter): New fields iterate and
19842 print_adapter_specific_info.
19843 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19844 All users updated.
19845 (grub_video_mode_info): New field mode_number.
19846 (grub_video_adapter): New fields iterate and
19847 print_adapter_specific_info.
19848
179503f5
TG
198492010-09-13 Tristan Gingold <gingold@free.fr>
198502010-09-13 Robert Millan <rmh.grub@aybabtu.com>
198512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * grub-core/commands/efi/lsefisystab.c: New file.
19854 * grub-core/commands/efi/lssal.c: Likewise.
19855 * grub-core/Makefile.core.def (lsacpi): New module.
19856 (lsefisystab): Likewise.
19857 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19858 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19859 (grub_efi_sal_system_table): New struct.
19860 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19861 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19862 (grub_efi_sal_system_table_platform_features): Likewise.
19863 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19864 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19865 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19866 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19867
cf9827de
VS
198682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 Support explicit user claim that a device is BIOS-visible.
19871
19872 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19873 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19874 * grub-core/kern/emu/hostdisk.c
19875 (convert_system_partition_to_system_disk): Support mdX.
19876 (find_system_device): New parameter add. All users updated.
19877 (grub_util_biosdisk_is_present): New function.
19878 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19879 proto.
19880
53f0eb1f
VS
198812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19882
19883 Search hints support.
19884
19885 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19886 All users updated.
19887
b23ffd70
YB
198882010-09-13 Yves Blusseau <blusseau@zetam.org>
19889
19890 Bash completion script for util commands
19891
19892 * Makefile.am: Add util/bash-completion.d directory
19893 * configure.ac: Likewise.
19894 * util/bash-completion.d/Makefile.am: New file.
19895 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19896
d547dc28
VS
198972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19900 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19901 Reported by: Yves Blusseau.
19902
2fc8ccb9
VS
199032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19906 partition size and offset.
19907
d8a84076
VS
199082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19911
84fb3b3d
VS
199122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19915
768ec2e2
VS
199162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19919 (grub_xvasprintf): Likewise.
19920
4870900f
VS
199212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19924
faca6bec
VS
199252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19928 args ending with NULL.
19929
199302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19931
19932 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19933 pointer.
19934
3c70f225
SJ
199352010-09-11 Szymon Janc <szymon@janc.net.pl>
19936
19937 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19938
4df7996d
VS
199392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 Shutdown using ACPI.
19942
19943 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19944 * grub-core/commands/acpihalt.c: New file.
19945 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19946 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19947 (grub_acpi_halt): New proto.
19948 (GRUB_ACPI_SLP_EN): New const.
19949 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19950 (GRUB_ACPI_OPCODE_*): New enum.
19951 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19952
126b4c32
TG
199532010-09-11 Tristan Gingold <gingold@free.fr>
199542010-09-11 Robert Millan <rmh.grub@aybabtu.com>
199552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * commands/lsacpi.c: New file.
19958 * grub-core/Makefile.core.def (lsacpi): New module.
19959 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19960 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19961 (grub_acpi_madt_entry_header): New struct.
19962 (grub_acpi_madt): Likewise.
19963 (grub_acpi_madt_entry_interrupt_override): Likewise.
19964 (grub_acpi_madt_entry_sapic): Likewise.
19965 (grub_acpi_madt_entry_lsapic): Likewise.
19966 (grub_acpi_madt_entry_platform_int_source): Likewise.
19967 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19968 (PRIuGRUB_UINT32_T): Likewise.
19969 (PRIxGRUB_UINT64_T): Likewise.
19970
1aa4fe88
VS
199712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 Implement loading palette on ieee1275_fb.
19974
19975 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19976 (have_setcolors): Likewise.
19977 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19978 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19979 (grub_video_ieee1275_set_palette): Implement.
19980
25761e13
VS
199812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
199822010-09-11 Colin Watson <cjwatson@ubuntu.com>
19983
19984 * util/grub-install.in (grub_partition): New variable.
19985 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19986 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19987 Fixes a bug reported by Yves Blusseau.
19988
050abaea
VS
199892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 Fix emu on mipsel.
19992
19993 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19994 =grub_cpu_flush_cache on all mips and not only yeeloong.
19995 * configure.ac (COND_mips): New conditional.
19996 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19997 platforms.
19998 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19999 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20000 [GRUB_LINKER_HAVE_INIT]: New function.
20001 (grub_emu_post_init): Likewise.
20002 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20003 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20004 * include/grub/cache.h (_mips): Include mips/cache.h.
20005 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20006 LVM and RAID prototypes.
20007 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20008 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20009 function.
20010
5ed7d816
CW
200112010-09-10 Colin Watson <cjwatson@ubuntu.com>
20012
20013 * util/grub-install.in: Don't try to verify core.img until after
20014 running grub-mkimage to create it.
20015
90367e04
RM
200162010-09-10 Robert Millan <rmh@gnu.org>
20017
20018 * util/grub.d/10_hurd.in: Add misc readability checks.
20019 * util/grub.d/10_kfreebsd.in: Likewise.
20020 * util/grub.d/10_linux.in: Likewise.
20021
c452fa66
CW
200222010-09-10 Colin Watson <cjwatson@ubuntu.com>
20023
20024 * util/grub-install.in: ${imgext} won't be defined here until the
20025 install branch is merged. For the meantime, only verify core.img on
20026 i386-pc and sparc64-ieee1275 platforms.
20027
c38fe9f4
RM
200282010-09-10 Robert Millan <rmh@gnu.org>
20029
20030 Solaris support in grub_find_zpool_from_dir(). Thanks
20031 Seth Goldberg for referring to getextmntent() facility.
20032
20033 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20034 `sys/mkdev.h'.
20035 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20036 `<sys/mnttab.h>'.
20037 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20038 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20039 method for finding zpool name.
20040
905f7773
CW
200412010-09-10 Colin Watson <cjwatson@ubuntu.com>
20042
20043 grub-fstest needs the host and hostfs modules while other utilities
20044 actively require those modules to be absent, so grub-fstest needs
20045 its own initialisation and finalisation code.
20046
20047 * Makefile.am (grub_fstest.pp): New target.
20048 (grub_fstest_init.lst): Likewise.
20049 (grub_fstest_init.c): Likewise.
20050 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20051
fb90b546
RM
200522010-09-10 Robert Millan <rmh@gnu.org>
20053
20054 * configure.ac: Check for `struct statfs.f_fstypename' and
20055 `struct statfs.f_mntfromname'.
20056
20057 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20058 kFreeBSD-specific code.
20059
66d4bea5
RM
200602010-09-10 Robert Millan <rmh@gnu.org>
20061
20062 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20063 on ZFS. Now non-main filesystems are supported as / too.
20064
b6a690ee
CW
200652010-09-09 Colin Watson <cjwatson@ubuntu.com>
20066
20067 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20068 and grub-core/disk/host.c to ...
20069 (grub-fstest): ... here. Having the host disk implementation
20070 present confuses grub-probe and other utility programs.
20071
20072 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20073 when writing to a file, not when writing to stdout.
20074
8901b00c 200752010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20076
20077 * tests/partmap_test.in: New test for partitions.
20078 * Makefile.util.def: Rules for new test.
20079
7bf45fdd
RM
200802010-09-09 Robert Millan <rmh@gnu.org>
20081
20082 * util/grub-probe.c (probe): Fix a pair of unhandled error
20083 conditions.
20084
4dfbc574
RM
200852010-09-09 Robert Millan <rmh@gnu.org>
20086
20087 Basic Btrfs support (detection and UUID).
20088
20089 * grub-core/fs/btrfs.c: New file.
20090 * Makefile.util.def (library): Register btrfs.c.
20091 * grub-core/Makefile.core.def: Likewise.
20092
6b8e78ae
RM
200932010-09-08 Robert Millan <rmh@gnu.org>
20094
20095 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20096 with (optional) parameters to specify device and relative path.
20097 * util/grub-install.in: Use is_path_readable_by_grub() to
20098 verify readability of a few critical files.
20099 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20100 verify readability of grub.cfg.new.
20101
27f21a8b
VS
201022010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 Split minix.mod into minix.mod and minix2.mod.
20105
20106 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20107 * grub-core/Makefile.core.def (minix2): New module.
20108 * grub-core/fs/minix.c: Use definitions instead of runtime version
20109 checking.
20110 * grub-core/fs/minix2.c: New file.
20111
c0e53ea5
YB
201122010-09-08 Yves Blusseau <blusseau@zetam.org>
20113
20114 Add new --boot-directory option to replace --root-directory
20115
20116 * util/grub-install.in: Add new --boot-directory option
20117 * util/grub-reboot.in: Likewise.
20118 * util/grub-set-default.in: Likewise.
20119
b9fe6ea2
YB
201202010-09-08 Yves Blusseau <blusseau@zetam.org>
20121
20122 * util/grub-mkconfig.in: Use new variable.
20123
d87aedff
YB
201242010-09-08 Yves Blusseau <blusseau@zetam.org>
20125
20126 * configure.ac: Define some useful variables.
20127
e55e8495
VS
201282010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20131 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20132 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20133 Use terminfo and don't use cursor-on/cursor-off unless it's known
20134 to work.
20135 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20136 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20137
6fa6d675
CW
201382010-09-08 Colin Watson <cjwatson@ubuntu.com>
20139
20140 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20141 starts with "(,", fill the drive containing the loaded image in
20142 between those two characters, but expect that a full partition
20143 specification including partition map names will follow.
20144
92f2aef0
RM
201452010-09-08 Robert Millan <rmh@gnu.org>
20146
20147 * configure.ac: Remove `--enable-grub-fstest' option.
20148 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20149
20150 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20151 `grub-fstest' instead of `grub-probe' for readability verification.
20152 * util/grub-probe.c (probe): Remove readability verification kludge.
20153
99fd620d
RM
201542010-09-08 Robert Millan <rmh@gnu.org>
20155
20156 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20157 initializing `GRUB_FS'.
20158
058e30ac 201592010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20160
20161 Not command (!) support to GRUB script.
20162
20163 * tests/grub_script_not.in: New test.
20164 * Makefile.util.def: Rules for new test.
20165
20166 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20167 ! command as a special case.
20168 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20169
b61d05ed 201702010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20171
058e30ac 20172 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20173 grub_free.
b61d05ed 20174
4d69c786 201752010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20176
20177 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20178
aa3119c4 201792010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20180
20181 * docs/grub.texi (Shell-like scripting): Documentation for break,
20182 continue, shift and return commands.
20183
db0f7e3d
VS
201842010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 Rename CD-ROM to cd on BIOS.
20187
20188 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20189 "cd".
20190 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20191
88b87c93
VS
201922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20195 * util/grub-probe.c (main): Likewise.
20196 * util/i386/pc/grub-setup.c (main): Likewise.
20197 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20198 Reported and debugged by: alexxy
20199
294f324d
VS
202002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20203 diagnostic info.
20204
d7ee3441
JS
202052010-09-05 Jo Shields <directhex@apebox.org>
20206
20207 * util/grub.d/30_os-prober.in: Add missing classes.
20208
d7e06c1f
VS
202092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 * docs/grub.texi (Theme file format): Document new position format.
20212
fc157e53
VS
202132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20216 a table. Use @code instead of @verbatim.
20217
506e9a1c
CB
202182010-09-05 Colin D Bennett <colin@gibibit.com>
20219
20220 Gfxmenu documentation.
20221
20222 * docs/grub.texi (Theme file format): New chapter.
20223
f0aff67c
SJ
202242010-09-05 Szymon Janc <szymon@janc.net.pl>
20225
20226 * grub-core/Makefile.core.def (xzio): New module.
20227 * grub-core/io/xzio.c: New file.
20228 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20229 * grub-core/lib/xzembed/xz_config.h: Likewise.
20230 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20231 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20232 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20233 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20234 * grub-core/lib/xzembed/xz_private.h: Likewise.
20235 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20236 * include/grub/file.h (grub_file_filter_id): New compression filter
20237 GRUB_FILE_FILTER_XZIO.
20238
82a85062
VS
202392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20242 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20243 size.
20244
3579415d
VS
202452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20248 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20249
5124ae6d
VS
202502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 Uncompressed checksum support.
20253
20254 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20255 (check_list): New parameter uncompress.
20256 (grub_cmd_hashsum): Handle --uncompress.
20257
9aadb3d1
VS
202582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 Reintroduce testload.
20261
20262 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20263 from here ...
20264 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20265 (GRUB_MOD_INIT): New function.
20266 (GRUB_MOD_FINI): Likewise.
20267 * grub-core/Makefile.core.def (testload): New module.
20268
a17792c3
SJ
202692010-09-05 Szymon Janc <szymon@janc.net.pl>
20270
20271 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20272 (uint8_t): New type.
20273 (uint16_t): Likewise.
20274 (uint32_t): Likewise.
20275 (uint64_t): Likewise.
20276
b81e40a3
SJ
202772010-09-05 Szymon Janc <szymon@janc.net.pl>
20278
20279 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20280
fc2ef117
VS
202812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20282
20283 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20284 Made static.
20285 (grub_gzfile_open): Removed. All users updated.
20286 (GRUB_MOD_INIT): New function.
20287 (GRUB_MOD_FINI): Likewise.
20288 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20289 (grub_file_filters_enabled): Likewise.
20290 (grub_file_open): Handle filters.
20291 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20292 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20293 * include/grub/file.h (grub_file_filter_id_t): New type.
20294 (grub_file_filter_t): Likewise.
20295 (grub_file_filters_all): New extern variable.
20296 (grub_file_filters_enabled): Likewise.
20297 (grub_file_filter_register): New inline function.
20298 (grub_file_filter_unregister): Likewise.
20299 (grub_file_filter_disable): Likewise.
20300 (grub_file_filter_disable_compression): Likewise.
20301 * include/grub/gzio.h: Removed.
20302
35ee15e0
BC
203032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20304
20305 Filename expansion support for wildcards in GRUB script.
20306
20307 * tests/grub_script_expansion.in: New test.
20308 * Makefile.util.def: Rule for new test.
20309
20310 * grub-core/commands/wildcard.c: New file, implements filename
20311 expansion support for GRUB script.
20312 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20313 * grub-core/script/argv.c: Cosmetic changes.
20314 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20315 Refactored to perform wildcard expansion on arguments.
20316 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20317 struct.
20318
20319 * tests/util/grub-shell.in: Fix quoting for read input.
20320
5f0c4aca
BC
203212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20322
20323 Support for updating environment variables with matched substrings
20324 of regexp.
20325
20326 * tests/grub_cmd_regexp.in: New test.
20327 * Makefile.util.def: Rule for new test.
20328
20329 * grub-core/commands/regexp.c: New option -s to update environment
20330 variables with regexp matches.
20331
3759a35f
SJ
203322010-09-04 Szymon Janc <szymon@janc.net.pl>
20333
20334 * include/grub/file.h (grub_file): New member not_easly_seekable.
20335 (grub_file_seekable): New inline function.
20336 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20337 easily seekable.
20338 (grub_gzio_open): Set not_easly_seekable.
20339 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20340 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20341
ed8c6dec
BC
203422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20343
20344 Support for options to appear multiple times on cmdline.
20345
20346 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20347 * grub-core/commands/extcmd.c: Support for repeatable option.
20348 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20349 repeatable option support.
20350
20351 Refactor menuentry into a regular command.
20352
20353 * grub-core/commands/menuentry.c: New file, menuentry command
20354 implementation.
20355 * grub-core/Makefile.core.def: Rule update for normal.mod.
20356 * grub-core/normal/main.c: Moved menuentry creation to
20357 grub-core/commands/menuentry.c.
20358 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20359 (grub_menu_execute_entry_real): Removed.
20360 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20361 function.
20362 (grub_script_execute_menuentry): Removed.
20363 * grub-core/script/parser.y (menuentry): Removed.
20364 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20365 * grub-core/script/yylex.l (menuentry): Removed.
20366 * include/grub/menu.h (grub_menu_init): New prototype.
20367 (grub_menu_fini): New prototype.
20368 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20369 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20370 (grub_script_execute_sourcecode): New prototype.
20371
dacd0cf0
BC
203722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20373
20374 "return" command for GRUB script functions.
20375
20376 * tests/grub_script_return.in: New test.
20377 * Makefile.util.def: Rules for new test.
20378
20379 * grub-core/script/execute.c (grub_script_return): New function.
20380 * grub-core/script/main.c: Register/unregister return commaond.
20381 * include/grub/script_sh.h (grub_script_return): New prototype.
20382
52e72f9d
BC
203832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20384
20385 "setparams" command to update positional parameters.
20386
20387 * tests/grub_script_setparams.in: New test.
20388 * Makefile.util.def: Rules for new test.
20389
20390 * grub-core/script/argv.c (grub_script_argv_make): New function.
20391 * grub-core/script/execute.c (replace_scope): New function.
20392 (grub_script_setparams): New function.
20393 * grub-core/script/lexer.c: Remove unused variables.
20394 * grub-core/script/main.c: Register/unregister setparams command.
20395 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20396 (grub_script_setparams): New prototype.
20397
25b60c91
BC
203982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20399
20400 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20401 grub_free order.
20402
37e7bf68
BC
204032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20404
20405 Support for passing block of commands as an argument to extcmds.
20406
20407 * Makefile.util.def: Rules for new test.
20408 * tests/grub_script_blockarg.in: New test.
20409 * grub-core/tests/test_blockarg.c: New file, block argument
20410 command used in the test.
20411
20412 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20413 (grub_register_extcmd_prio): New function prototype.
20414 (grub_extcmd_dispatcher): New function prototype.
20415 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20416 type.
20417 * include/grub/script_sh.h (struct grub_script): New members
20418 `children', `next_siblings' and `refcnt' for block arguments and
20419 reference counting.
20420 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20421 (grub_script_arg): New member `script' for block argument.
20422 (grub_script_argv): New member `script' for block argument.
20423 (grub_parser_param): New member `scripts' for block argument.
20424 (grub_script_mem_free): New extern function prototype.
20425 (grub_script_ref): New function prototype.
20426 (grub_script_unref): New function prototype.
20427
20428 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20429 extcmd form to support block arguments.
20430 * grub-core/script/argv.c: Block arguments support.
20431 * grub-core/script/execute.c: Likewise.
20432 * grub-core/script/lexer.c: Likewise.
20433 * grub-core/script/main.c: Likewise.
20434 * grub-core/script/script.c: Likewise.
20435 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20436 non-terminals.
20437
20438 * grub-core/commands/acpi.c: Update extcmd implementations with
20439 grub_extcmd_context_t.
20440 * grub-core/commands/cat.c: Likewise.
20441 * grub-core/commands/echo.c: Likewise.
20442 * grub-core/commands/extcmd.c: Likewise.
20443 * grub-core/commands/hashsum.c: Likewise.
20444 * grub-core/commands/hdparm.c: Likewise.
20445 * grub-core/commands/help.c: Likewise.
20446 * grub-core/commands/hexdump.c: Likewise.
20447 * grub-core/commands/i386/cpuid.c: Likewise.
20448 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20449 * grub-core/commands/i386/pc/halt.c: Likewise.
20450 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20451 * grub-core/commands/iorw.c: Likewise.
20452 * grub-core/commands/keystatus.c: Likewise.
20453 * grub-core/commands/loadenv.c: Likewise.
20454 * grub-core/commands/ls.c: Likewise.
20455 * grub-core/commands/lspci.c: Likewise.
20456 * grub-core/commands/memrw.c: Likewise.
20457 * grub-core/commands/probe.c: Likewise.
20458 * grub-core/commands/search_wrap.c: Likewise.
20459 * grub-core/commands/setpci.c: Likewise.
20460 * grub-core/commands/sleep.c: Likewise.
20461 * grub-core/disk/loopback.c: Likewise.
20462 * grub-core/hello/hello.c: Likewise.
20463 * grub-core/loader/i386/bsd.c: Likewise.
20464 * grub-core/loader/xnu.c: Likewise.
20465 * grub-core/term/gfxterm.c: Likewise.
20466 * grub-core/term/serial.c: Likewise.
20467 * grub-core/tests/lib/functional_test.c: Likewise.
20468
888d1500
BC
204692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20470
20471 Multi-line quoted strings support.
20472
20473 * grub-core/script/lexer.c (append_newline): Removed.
20474 (grub_script_lexer_yywrap): Refactored.
20475 (grub_script_lexer_init): Refactored.
20476 * grub-core/script/yylex.l (yywrap): New function.
20477 (grub_lexer_resplit): New function.
20478 (grub_lexer_unput): New function.
20479 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20480 and resplit.
20481 * tests/grub_script_echo1.in: Added few more testcases.
20482
dda060dd
VS
204832010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * grub-core/kern/misc.c: Don't add abort alias in utils.
20486 Reported by: echoline.
20487
6556eba9
BC
204882010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20489
20490 Add missing files into "make dist" tarball for other platforms.
20491
20492 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20493 * conf/Makefile.common (dist_noinst_DATA): New variable.
20494 * conf/Makefile.extra-dist: Added missing make dist files.
20495 * grub-core/Makefile.core.def: Likewise.
20496
c8e7bf5f
VS
204972010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 Compress grub_prefix.
20500
20501 * grub-core/boot/i386/pc/lnxboot.S: Use
20502 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20503 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20504 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20505 GRUB_MACHINE_PREFIX_END. All users updated.
20506 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20507 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20508 + 0x40.
20509 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20510 * util/grub-mkimage.c (image_target_desc): Change data_end to
20511 prefix_end. All users updated.
20512
a7c00cdb
VS
205132010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20516 value.
20517 (grub_openbsd_boot): Likewise.
20518 (grub_netbsd_boot): Likewise.
20519 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20520 (grub_xnu_boot): Likewise.
20521
9f915872
VS
205222010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * configure.ac: Clean LIBS variable after tests.
20525
efa1bee7
CW
205262010-09-02 Colin Watson <cjwatson@ubuntu.com>
20527
20528 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20529
61d720e5
VS
205302010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20533 echo if libdevmapper will be used.
20534
ef8e0ec8
IT
205352010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20536
20537 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20538 constant for the same file.
20539
03e261d8
VS
205402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20543
c2a4eba6
CW
205442010-09-02 Colin Watson <cjwatson@ubuntu.com>
20545
20546 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20547 grub-core/*.pp.
20548
9056cbf3
CW
205492010-09-02 Colin Watson <cjwatson@ubuntu.com>
20550
20551 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20552 required by the boot protocol.
20553
20554 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20555 ebp and edi members.
20556 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20557 state.ebp and state.edi.
20558 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20559 %ebp and %edi according to grub_relocator32_ebp and
20560 grub_relocator32_edi respectively.
20561 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20562 and state.edi.
20563
529cc99a
VS
205642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 Add i386-pc-pxe image target.
20567
20568 * util/grub-mkimage.c (image_target_desc): New enum value
20569 IMAGE_I386_PC_PXE.
20570 (image_targets): New target i386-pc-pxe.
20571 (generate_image): Handle i386-pc-pxe image.
20572
9a093920
VS
205732010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 Fix grub_pxe_scan.
20576
20577 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20578 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20579 All users updated.
20580 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20581 (grub_pxe_pxenv): Correct type.
20582
f9cefc4e
CW
205832010-09-01 Colin Watson <cjwatson@ubuntu.com>
20584
20585 * NEWS: Document most of the important changes since 1.98.
20586
4066f57f
CW
205872010-09-01 Colin Watson <cjwatson@ubuntu.com>
20588
20589 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20590 generated manual page) a little.
20591
da2891f9
CW
205922010-09-01 Colin Watson <cjwatson@ubuntu.com>
20593
20594 * docs/grub.texi: Add myself as an author.
20595
ad717fae
VS
205962010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * Makefile.util.def (libgrub.a): Add missing sunpc.
20599 Reported by: Seth Goldberg.
20600
eefe8abd
VS
206012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 Interrupt wrapping and code simplifications.
20604
9494ef9a
VS
20605 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20606 x86_noieee1275 which are functionaly equivalent in this case.
20607 (grub-install): Make source on each platform explicit. Enable on
20608 all noemu.
20609 * gentpl.py (x86_efi_pc): Removed group.
20610 (x86_noefi): Likewise.
20611 (i386_noefi): Likewise.
20612 (x86_noieee1275): Likewise.
20613 (i386_noieee1275): Likewise.
20614 (i386_noefi_noieee1275): Likewise.
20615 (i386_pc_qemu_coreboot): Likewise.
20616 (i386_coreboot_multiboot): Likewise.
20617 (i386_pc_coreboot_multiboot_qemu): Likewise.
20618 (x86_noefi_mips): Likewise.
20619 (noieee1275): Likewise.
20620 (ieee1275_mips): Likewise.
20621 (noemu_noieee1275): Likewise.
20622 (cmos): New group.
20623 (usb): Likewise.
20624 (videoinkernel): Likewise.
20625 (videomodules): Likewise.
eefe8abd 20626 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20627 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20628 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20629 include/grub/loader.h, include/grub/msdos_partition.h,
20630 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20631 include/grub/machine/console.h, include/grub/machine/vga.h,
20632 include/grub/machine/vbe.h, include/grub/machine/init.h,
20633 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20634 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20635 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20636 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20637 * grub-core/Makefile.core.def (kernel): Explicit the source for
20638 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20639 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20640 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20641 Use videoinkernel tag.
20642 (usb): Enable on all usb.
20643 (usbserial_common): Likewise.
20644 (usbserial_pl2303): Likewise.
20645 (usbserial_ftdi): Likewise.
20646 (uhci): Enable on all x86.
20647 (ohci): Enable on all pci.
20648 (cmostest): Enable on all CMOS.
20649 (acpi): Include commands/acpi.c on all platforms.
20650 (halt): Add relevant lib/*/halt.c.
20651 (hdparm): Enable on all pci.
20652 (lspci): Likewise.
20653 (usbtest): Enable on all usb.
20654 (ata): Enable on all pci.
20655 (ata_pthru): Likewise.
20656 (usbms): Enable on all usb.
20657 (usb_keyboard): Likewise.
20658 (font): Use tag videomodules.
20659 (bufio): Likewise.
20660 (datetime): Use tag cmos. Enable on all noemu.
20661 (mmap): Use tags common and x86.
20662 (gfxterm): Use tag videomodules.
20663 (bitmap): Likewise.
20664 (bitmap_scale): Likewise.
20665 (video_fb): Likewise.
20666 (video): Likewise.
20667 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20668 adjust padding accordingly. All users updated.
20669 (grub_ohci_transaction): Fix bad format specification.
20670 (GRUB_MOD_INIT): Add asserts for struct size.
20671 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20672 (grub_alloc_td): Likewise.
20673 (grub_free_queue): Likewise.
20674 (grub_uhci_transfer): Likewise.
20675 (grub_uhci_transaction): Fix bad format specification.
20676 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20677 (grub_usb_bulk_readwrite): Likewise.
20678 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20679 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20680 Made static.
20681 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20682 Made static.
20683 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20684 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20685 Transformed into C.
20686 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20687 Moved from here ...
20688 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20689 ... here. Transformed into C. Made static.
20690 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20691 Moved from here ...
20692 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20693 ... here. Transformed into C. Made static.
20694 * grub-core/kern/i386/pc/startup.S
20695 (grub_biosdisk_check_int13_extensions): Moved from here ...
20696 * grub-core/disk/i386/pc/biosdisk.c
20697 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20698 Made static.
20699 * grub-core/kern/i386/pc/startup.S
20700 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20701 * grub-core/disk/i386/pc/biosdisk.c
20702 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20703 Transformed into C. Made static.
20704 * grub-core/kern/i386/pc/startup.S
20705 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20706 * grub-core/disk/i386/pc/biosdisk.c
20707 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20708 Transformed into C. Made static.
20709 * grub-core/kern/i386/pc/startup.S
20710 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20711 * grub-core/disk/i386/pc/biosdisk.c
20712 (grub_biosdisk_get_diskinfo_standard): ... here.
20713 Transformed into C. Made static.
20714 * grub-core/kern/i386/pc/startup.S
20715 (grub_biosdisk_get_num_floppies): Moved from here ...
20716 * grub-core/disk/i386/pc/biosdisk.c
20717 (grub_biosdisk_get_num_floppies): ... here.
20718 Transformed into C. Made static.
20719 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20720 New function.
20721 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20722 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20723 Transformed into C. Made static.
20724 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20725 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20726 Transformed into C. Made static.
20727 * grub-core/kern/i386/ieee1275/init.c: Removed.
20728 * grub-core/kern/i386/misc.S: Likewise.
20729 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20730 Splitted from here ...
20731 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20732 Transformed into C. Made static. All users updated.
20733 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20734 Transformed into C. Made static. All users updated.
20735 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20736 Moved from here...
20737 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20738 Transformed into C. Made static. All users updated.
20739 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20740 Moved from here...
20741 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20742 Transformed into C. Made static. All users updated.
20743 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20744 Removed (replaced by C version).
20745 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20746 Moved from here...
20747 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20748 Transformed into C. Made static.
20749 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20750 Moved from here...
20751 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20752 ... here. Transformed into C.
20753 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20754 Moved from here...
20755 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20756 ... here. Transformed into C.
20757 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20758 Moved from here...
20759 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20760 ... here. Transformed into C. Made static.
20761 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20762 Moved from here...
20763 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20764 ... here. Transformed into C.
21ed554b
VS
20765 * grub-core/kern/i386/pc/startup.S
20766 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20767 * grub-core/video/i386/pc/vbe.c
20768 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20769 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20770 Moved from here...
20771 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20772 ... here. Transformed into C.
20773 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20774 Moved from here...
20775 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20776 ... here. Transformed into C.
20777 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20778 Moved from here...
20779 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20780 ... here. Transformed into C.
20781 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20782 Moved from here...
20783 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20784 ... here. Transformed into C.
20785 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20786 Moved from here...
20787 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20788 ... here. Transformed into C. Made static.
20789 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20790 Moved from here...
20791 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20792 ... here. Transformed into C. Made static.
20793 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20794 Moved from here...
20795 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20796 ... here. Transformed into C. Made static.
20797 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20798 pxe_rm_entry as third argument.
20799 (grub_bios_interrupt): New function.
20800 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20801 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20802 of calling grub_stop.
20803 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20804 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20805 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20806 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20807 * grub-core/lib/i386/halt.c: Moved from here ...
20808 * grub-core/lib/i386/halt.c: ... here.
20809 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20810 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20811 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20812 grub_stop_floppy.
20813 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20814 * include/grub/i386/coreboot/init.h: Removed.
20815 * include/grub/i386/multiboot/init.h: Likewise.
20816 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20817 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20818 * include/grub/i386/pc/int.h: New file.
20819 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20820 (grub_pxe_scan): Removed.
20821 (grub_pxe_call): Update prototype.
20822 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20823 prototypes.
20824 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20825 * include/grub/i386/qemu/init.h: Removed.
20826 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20827 noreturn.
20828 (grub_halt): Likewise.
20829 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20830 (grub_reboot): Likewise.
20831 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20832 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20833 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20834
215dd471
RM
208352010-08-30 Robert Millan <rmh@gnu.org>
20836
20837 * NEWS: Document addition of ZFS support in `grub-install' and
20838 `grub-mkconfig'.
20839
ebd65b82
BC
208402010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20841
20842 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20843 dprintf output.
20844
11721d19
VS
208452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 Remove leftover embedding of font objects.
20848
20849 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20850 * util/grub-install.in (font): Removed.
20851 * util/grub-mkimage.c (generate_image): Remove font support. All users
20852 updated.
20853
37837d4e
VS
208542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 Remove leftover embedding of font objects.
20857
20858 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20859 * util/grub-install.in (font): Removed.
20860 * util/grub-mkimage.c (generate_image): Remove font support. All users
20861 updated.
20862
b4c1aae0
VS
208632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20866 Reported by: Ian Turner
b4c1aae0 20867
8920a08d
VS
208682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20871 timeout to avoid indefinite boot stalling.
20872
f21db033
VS
208732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20876 (grub_env_write_color_highlight): Likewise.
20877
9a9de209
VS
208782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 * grub-core/normal/term.c (print_more): Return to normal and not
20881 to standard state after printing "---MORE---".
20882
3dca01d7
VS
208832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20886 Mask out the bit 0x80 since it has other meaning that specifiing color.
20887
0b986c40
VS
208882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20889
20890 New relocator. Allows for more kernel support and more straightforward
20891 loader writing.
20892
20893 * Makefile.am (BOOTTARGET): New variable.
20894 (QEMU32): Likewise.
20895 (linux.init.x86_64): New target.
20896 (linux.init.i386): Likewise.
20897 (multiboot.elf): Likewise.
20898 (kfreebsd.elf): Likewise.
20899 (kfreebsd.aout): Likewise.
20900 (pc-chainloader.elf): Likewise.
20901 (pc-chainloader.bin): Likewise.
20902 (ntldr.elf): Likewise.
20903 (ntldr.bin): Likewise.
20904 (multiboot2.elf): Likewise.
20905 (kfreebsd.init.x86_64): Likewise.
20906 (kfreebsd.init.i386): Likewise.
20907 (knetbsd.init.i386): Likewise.
20908 (kopenbsd.init.i386): Likewise.
20909 (knetbsd.init.x86_64): Likewise.
20910 (kopenbsd.init.x86_64): Likewise.
20911 (linux-initramfs.i386): Likewise.
20912 (linux-initramfs.x86_64): Likewise.
20913 (kfreebsd-mfsroot.i386.img): Likewise.
20914 (knetbsd.image.i386): Likewise.
20915 (kopenbsd.image.i386): Likewise.
20916 (kopenbsd.image.x86_64): Likewise.
20917 (knetbsd.miniroot-image.i386.img): Likewise.
20918 (kfreebsd-mfsroot.x86_64.img): Likewise.
20919 (knetbsd.image.x86_64): Likewise.
20920 (knetbsd.miniroot-image.x86_64.img): Likewise.
20921 (kfreebsd-mfsroot.i386.gz): Likewise.
20922 (bootcheck-kfreebsd-i386): Likewise.
20923 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20924 (bootcheck-kfreebsd-x86_64): Likewise.
20925 (knetbsd.miniroot-image.i386.gz): Likewise.
20926 (bootcheck-knetbsd-i386): Likewise.
20927 (bootcheck-kopenbsd-i386): Likewise.
20928 (bootcheck-kopenbsd-x86_64): Likewise.
20929 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20930 (bootcheck-knetbsd-x86_64): Likewise.
20931 (bootcheck-linux-i386): Likewise.
20932 (bootcheck-linux-x86_64): Likewise.
20933 (bootcheck-linux16-i386): Likewise.
20934 (bootcheck-linux16-x86_64): Likewise.
20935 (bootcheck-multiboot): Likewise.
20936 (bootcheck-multiboot2): Likewise.
20937 (bootcheck-kfreebsd-aout): Likewise.
20938 (bootcheck-pc-chainloader): Likewise.
20939 (bootcheck-ntldr): Likewise.
20940 (CLEANFILES): Add new targets.
20941 (BOOTCHECKS): New variable.
20942 (.PHONY): Add bootchecks.
20943 (SUCCESSFUL_BOOT_STRING): New variable.
20944 (BOOTCHECK_TIMEOUT): Likewise.
20945 (bootcheck): New target
20946 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20947 * configure.ac: Correct efiemu excuse.
20948 * docs/grub.texi (Supported kernels): New chapter.
20949 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20950 include/grub/mm_private.h. Simplify inclusion of
20951 include/grub/boot.h, include/grub/loader.h
20952 and include/grub/msdos_partition.h
20953 (KERNEL_HEADER_FILES) [i386_coreboot]:
20954 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20955 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20956 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20957 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20958 include/grub/machine/loader.h.
20959 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20960 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20961 extra_dist.
20962 (pci.mod): Enable on i386-multiboot.
20963 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20964 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20965 i386-qemu.
20966 (relocator.mod): Rewritten.
20967 (aout.mod): Enable on all x86.
20968 (bsd.mod): Likewise.
20969 (ntldr.mod): New module.
20970 (linux.mod): Use loader/i386/linux.c on all x86.
20971 (xnu.mod): Enable on all x86.
20972 (vga_text.mod): disable on EFI and QEMU.
20973 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20974 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20975 * grub-core/efiemu/loadcore.c: Likewise.
20976 * grub-core/efiemu/main.c: Likewise.
20977 (grub_efiemu_exit_boot_services): Removed.
20978 (grub_efiemu_finish_boot_services): Likewise.
20979 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20980 function.
20981 * grub-core/efiemu/i386/nocfgtables.c: New file.
20982 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20983 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20984 (grub_efi_finish_boot_services): Moved from here ...
20985 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20986 Fille finish memory map and related data.
20987 (finish_mmap_buf): New variable.
20988 (grub_efi_uintn_t finish_mmap_size): Likewise.
20989 (grub_efi_uintn_t finish_key): Likewise.
20990 (grub_efi_uintn_t finish_desc_size): Likewise.
20991 (grub_efi_uint32_t finish_desc_version): Likewise.
20992 (grub_efi_is_finished): Likewise.
20993 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20994 finished.
20995 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20996 (grub_elf64_phdr_iterate): Likewise.
20997 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20998 (grub_os_area_size): Likewise.
20999 (grub_machine_init): Don't reserve os area.
21000 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21001 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21002 * grub-core/kern/i386/loader.S: Removed.
21003 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21004 (grub_os_area_size): Likewise.
21005 (grub_machine_init): Don't reserve os area.
21006 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21007 Don't call grub_dl_unload_all.
21008 Don't include loader.S.
21009 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21010 Declare the memory after _end as available.
21011 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21012 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21013 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21014 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21015 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21016 * include/grub/mm_private.h (grub_mm_header): ... here.
21017 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21018 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21019 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21020 (grub_mm_region): ..here. Removed addr. Added pre_size.
21021 All users updated.
21022 * grub-core/kern/mm.c (base): Renamed to ...
21023 (grub_mm_base): ... this. Made global.
21024 (grub_real_malloc): Alloc from end of region.
21025 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21026 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21027 * grub-core/kern/powerpc/cache_flush.S: ... here.
21028 * grub-core/lib/efi/relocator.c: New file.
21029 * grub-core/lib/i386/relocator.c: Rewritten.
21030 * grub-core/lib/i386/relocator16.S: New file.
21031 * grub-core/lib/i386/relocator32.S: Likewise.
21032 * grub-core/lib/i386/relocator64.S: Likewise.
21033 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21034 * grub-core/lib/i386/relocator_common.S: New file.
21035 * grub-core/lib/ieee1275/relocator.c: Likewise.
21036 * grub-core/lib/mips/relocator.c: Rewritten.
21037 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21038 stylistic adjustments.
21039 * grub-core/lib/powerpc/relocator.c: New file.
21040 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21041 * grub-core/lib/relocator.c: Rewritten.
21042 * grub-core/lib/x86_64/relocator_asm.S: New file.
21043 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21044 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21045 (bsd_tag): New struct.
21046 (tags): New variable.
21047 (tags_last): Likewise.
21048 (netbsd_module): New struct.
21049 (netbsd_mods): New variable.
21050 (netbsd_mods_last): Likewise.
21051 (openbsd_opts): New parameter "serial".
21052 (OPENBSD_SERIAL_ARG): New definition.
21053 (netbsd_opts): New parameter "serial".
21054 (NETBSD_SERIAL_ARG): New definition.
21055 (grub_freebsd_add_meta): Reorganised into ...
21056 (grub_bsd_add_meta): ...this. All users updated.
21057 (grub_freebsd_add_mmap): Reorganised into ...
21058 (generate_e820_mmap): ...this...
21059 (grub_bsd_add_mmap): ...and this. All users updated.
21060 (grub_freebsd_list_modules): Use tags.
21061 (grub_netbsd_add_meta_module): New function.
21062 (grub_netbsd_list_modules): Likewise.
21063 (grub_freebsd_boot): Use relocator and finish EFI.
21064 (grub_openbsd_boot): Likewise.
21065 (grub_netbsd_setup_video): New function.
21066 (grub_netbsd_add_modules): Likewise.
21067 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21068 and finish EFI.
21069 (grub_bsd_unload): Unload tags.
21070 (grub_bsd_load_aout): Use relocator.
21071 (grub_bsd_elf32_size_hook): New function.
21072 (grub_bsd_elf32_hook): Use relocator.
21073 (grub_bsd_elf64_size_hook): New function.
21074 (grub_bsd_elf64_hook): Use relocator.
21075 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21076 (grub_bsd_load): Zero-out openbsd_ramdisk.
21077 (grub_bsd_load): Use relocator.
21078 (grub_cmd_openbsd): Support serial.
21079 (grub_cmd_netbsd): Support modules.
21080 (grub_cmd_freebsd_module): Use relocator.
21081 (grub_netbsd_module_load): New function.
21082 (grub_cmd_netbsd_module): Likewise.
21083 (grub_cmd_openbsd_ramdisk): Likewise.
21084 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21085 kopenbsd_ramdisk.
21086 (GRUB_MOD_FINI): Unregister new commands.
21087 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21088 (grub_freebsd_load_elfmodule_obj): Use relocator.
21089 (grub_freebsd_load_elfmodule): Likewise.
21090 (grub_freebsd_load_elf_meta): Likewise.
21091 (grub_netbsd_load_elf_meta): New function.
21092 (grub_openbsd_find_ramdisk): Likewise.
21093 * grub-core/loader/i386/bsd_helper.S: Removed.
21094 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21095 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21096 * grub-core/loader/i386/efi/linux.c: Likewise.
21097 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21098 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21099 (DEFAULT_VIDEO_MODE): Likewise.
21100 (real_mode_target): New variable.
21101 (prot_mode_target): Likewise.
21102 (initrd_mem_target): Likewise.
21103 (relocator): Likewise.
21104 (efi_mmap_buf): Likewise.
21105 (efi_mmap_size): Likewise.
21106 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21107 (free_pages): Use relocator.
21108 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21109 (grub_linux_setup_video): Return error.
21110 (grub_linux_trampoline_start): Removed.
21111 (grub_linux_trampoline_end): Likewise.
21112 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21113 andd video parameters depending on firmware.
21114 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21115 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21116 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21117 (grub_cmd_initrd): Use relocator.
21118 * grub-core/loader/i386/linux_trampoline.S: Removed.
21119 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21120 (elf_sec_entsize): Likewise.
21121 (elf_sec_shstrndx): Likewise.
21122 (elf_sections): Likewise.
21123 (grub_multiboot_load): Use relocator.
21124 (grub_multiboot_get_mbi_size): Account for sections.
21125 (grub_multiboot_make_mbi): Use relocator and support sections.
21126 (grub_multiboot_add_elfsyms): New function.
21127 (grub_multiboot_free_mbi): Free sections.
21128 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21129 (grub_linux_real_target): Likewise.
21130 (grub_linux_real_chunk): Likewise.
21131 (grub_linux16_prot_size): Likewise.
21132 (grub_linux16_boot): Use relocator.
21133 (grub_linux_unload): Unload relocator.
21134 (grub_cmd_linux): Use relocator.
21135 (grub_cmd_initrd): Likewise.
21136 * grub-core/loader/i386/pc/ntldr.c: New file.
21137 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21138 Don't try to guess CPU frequency.
21139 (grub_xnu_set_video): Stretch bitmap.
21140 (grub_xnu_boot): Use relocator.
21141 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21142 (grub_linux_unload): Free relocator.
21143 (grub_linux_load32): Use relocator.
21144 (grub_linux_load64): Likewise.
21145 (grub_cmd_initrd): Likewise.
21146 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21147 (grub_multiboot_unload): Unload relocator.
21148 (grub_cmd_multiboot): Use relocator.
21149 (grub_cmd_module): Likewise.
21150 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21151 Use relocator and support sections.
21152 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21153 (elf_sec_entsize): Likewise.
21154 (elf_sec_shstrndx): Likewise.
21155 (elf_sections): Likewise.
21156 (grub_multiboot_load): Use relocator.
21157 (grub_multiboot_get_mbi_size): Account for sections.
21158 (grub_multiboot_make_mbi): Use relocator and support sections.
21159 (grub_multiboot_add_elfsyms): New function.
21160 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21161 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21162 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21163 Prototype changed. All users updated.
21164 (grub_xnu_align_heap): Simplified.
21165 (grub_xnu_writetree_toheap): Likewise.
21166 (grub_xnu_unload): Unload relocator.
21167 (grub_cmd_xnu_kernel): Use relocator.
21168 (grub_cmd_xnu_kernel64): Likewise.
21169 (grub_xnu_register_memory): Simplified.
21170 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21171 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21172 EFI is finished.
21173 (grub_console_checkkey): Likewise.
21174 (grub_console_getkey): Likewise.
21175 (grub_console_getwh): Likewise.
21176 (grub_console_getxy): Likewise.
21177 (grub_console_gotoxy): Likewise.
21178 (grub_console_cls): Likewise.
21179 (grub_console_setcolorstate): Likewise.
21180 (grub_console_setcursor): Likewise.
21181 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21182 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21183 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21184 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21185 * grub-core/tests/boot/kernel-8086.S: Likewise.
21186 * grub-core/tests/boot/kernel-i386.S: Likewise.
21187 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21188 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21189 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21190 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21191 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21192 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21193 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21194 * grub-core/tests/boot/linux.cfg: Likewise.
21195 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21196 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21197 * grub-core/tests/boot/linux16.cfg: Likewise.
21198 * grub-core/tests/boot/multiboot.cfg: Likewise.
21199 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21200 * grub-core/tests/boot/ntldr.cfg: Likewise.
21201 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21202 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21203 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21204 New definition.
21205 * include/grub/dl.h (grub_dl_unload_all): Removed.
21206 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21207 (grub_efi_finish_boot_services): Change prototype.
21208 (grub_efi_is_finished): New variable.
21209 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21210 Changed prototype.
21211 (grub_efiemu_finish_boot_services): Removed.
21212 (grub_machine_efiemu_init_tables): New prototype.
21213 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21214 (grub_elf64_phdr_iterate): Likewise.
21215 * include/grub/i386/bsd.h: Include relocator.h.
21216 (freebsd_tag_header): New struct.
21217 (grub_openbsd_bios_mmap): Removed.
21218 (grub_unix_real_boot): Removed.
21219 (grub_freebsd_load_elfmodule32): Changed prototype.
21220 (grub_freebsd_load_elfmodule_obj64): Likewise.
21221 (grub_freebsd_load_elf_meta32): Likewise.
21222 (grub_freebsd_load_elf_meta64): Likewise.
21223 (grub_freebsd_add_meta): Removed.
21224 (grub_netbsd_load_elf_meta32): New prototype.
21225 (grub_netbsd_load_elf_meta64): Likewise.
21226 (grub_bsd_add_meta): Likewise.
21227 (grub_openbsd_ramdisk_descriptor): New struct.
21228 (grub_openbsd_find_ramdisk32): New prototype.
21229 (grub_openbsd_find_ramdisk64): Likewise.
21230 * include/grub/i386/coreboot/loader.h: Removed.
21231 * include/grub/i386/efi/loader.h: Likewise.
21232 * include/grub/i386/ieee1275/loader.h: Likewise.
21233 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21234 to grub_uint32_t.
21235 * include/grub/i386/loader.h: Removed.
21236 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21237 value.
21238 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21239 (grub_phys_addr_t): New type.
21240 (grub_vtop): New inline function.
21241 (grub_map_memory): Likewise.
21242 (grub_unmap_memory): Likewise.
21243 * include/grub/i386/multiboot/loader.h: Removed.
21244 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21245 (NETBSD_BTINFO_CONSOLE): New definition.
21246 (NETBSD_BTINFO_SYMTAB): Likewise.
21247 (NETBSD_BTINFO_MODULES): Likewise.
21248 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21249 (grub_netbsd_bootinfo): New struct.
21250 (grub_netbsd_btinfo_common): Use explicit bitsize.
21251 (grub_netbsd_btinfo_mmap_entry): Removed.
21252 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21253 (grub_netbsd_btinfo_bootdisk): New struct.
21254 (grub_netbsd_btinfo_symtab): Likewise.
21255 (grub_netbsd_btinfo_serial): Likewise.
21256 (grub_netbsd_btinfo_modules): Likewise.
21257 (grub_netbsd_btinfo_framebuf): Likewise.
21258 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21259 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21260 Likewise.
21261 (grub_openbsd_bootargs): Use explicit bitsize.
21262 (grub_openbsd_bootarg_console): New struct.
21263 (GRUB_OPENBSD_COM_MAJOR): New definition.
21264 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21265 * include/grub/i386/pc/efiemu.h: Removed.
21266 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21267 * include/grub/i386/qemu/loader.h: Removed.
21268 * include/grub/i386/relocator.h: Rewritten.
21269 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21270 * include/grub/mips/memory.h: New file.
21271 * include/grub/mips/multiboot.h: Rewritten.
21272 * include/grub/mips/relocator.h: Rewritten.
21273 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21274 (grub_vtop): New function.
21275 (grub_map_memory): Likewise.
21276 (grub_unmap_memory): Likewise.
21277 * include/grub/misc.h (ALIGN_DOWN): New definition.
21278 * include/grub/mm.h (grub_mm_check_real): New proto.
21279 (GRUB_MM_CHECK): New definition.
21280 * include/grub/mm_private.h: New file.
21281 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21282 (grub_multiboot_get_mbi_size): Removed.
21283 (grub_multiboot_make_mbi): Change prottype.
21284 (grub_multiboot_set_accepts_video): New proto.
21285 (grub_multiboot_add_elfsyms): Likewise.
21286 (grub_multiboot_payload_eip): New variable.
21287 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21288 New prototype.
21289 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21290 New definition.
21291 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21292 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21293 * include/grub/powerpc/ieee1275/loader.h: Removed.
21294 * include/grub/powerpc/memory.h: New file.
21295 * include/grub/powerpc/relocator.h: Likewise.
21296 * include/grub/relocator.h: Likewise.
21297 * include/grub/relocator_private.h: Likewise.
21298 * include/grub/sparc64/ieee1275/loader.h: Removed.
21299 * include/grub/x86_64/memory.h: New file.
21300 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21301 (grub_xnu_heap_malloc): Likewise.
21302 (grub_xnu_heap_real_start): Removed.
21303 (grub_xnu_heap_start): Likewise.
21304 (grub_xnu_relocator): New variable.
21305 (grub_xnu_heap_target_start): Likewise.
21306 * tests/util/grub-shell.in: Support non-pc.
21307 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21308
5303b85d
VS
213092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21312 on malloc error.
21313 (grub_bidi_logical_to_visual): Check that malloc succeded.
21314 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21315 puts.
21316 (grub_xputs_normal): Likewise.
21317
d768d159
VS
213182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21321 extra_dist.
21322
213232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21326
5bf84df4
VS
213272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21330
3626810e
VS
213312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21332
21333 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21334 dprintf.
21335
a7363f53
BC
213362010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21337
21338 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21339
902f75f6
VS
213402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 * grub-core/normal/term.c (print_more): Fix a memory leak.
21343 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21344 (grub_xputs_normal): Likewise.
21345
3c707967
VS
213462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21349 the begining of the string
21350
2053cc07
VS
213512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 * grub-core/script/script.c (grub_script_parse): Free parsed on
21354 failure.
21355
46422ebf
VS
213562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21359 on failure.
21360
9e0fa3f6
VS
213612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21362
21363 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21364 return.
21365
3393cf16
VS
213662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21369 (scroll_up): Fix a memory leak.
21370
b17540cb
VS
213712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21374 errors.
21375
67140446
VS
213762010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 Handle USB pendrives exposed as floppies.
21379
21380 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21381 floppy.
21382 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21383 Check for partitions on all devices.
21384
e35e46fc
VS
213852010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21388 (readkey): Likewise.
21389
d24c6190
BC
213902010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21391
21392 Multiple variable names support to "export" command.
21393
21394 * normal/context.c (grub_cmd_export): "export" command supports
21395 multiple variable names.
21396
04ddcc6a
ST
213972010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21398
21399 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21400 --target=drive output to Mach device name.
21401
0c8b61d8
BC
214022010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21403
21404 New Automake based build system for GRUB.
21405
21406 * ABOUT-NLS: New file.
21407 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21408 in Makefile.util.def file.
21409 * Makefile.util.def: New file. Autogen build definitions file for
21410 GRUB host utils.
21411 * conf/Makefile.common: New file. Common variables for GRUB host
21412 utils and target modules.
21413 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21414 * docs/Makefile.am: New file. Automake file for docs.
21415 * gentpl.py: New file. Python script to generate Autogen
21416 template.
21417 * grub-core/Makefile.am: New file. GRUB target modules' rules
21418 that doesn't fit in Makefile.core.def file.
21419 * grub-core/Makefile.core.def: New file. Autogen build
21420 definitions file for GRUB target modules.
21421 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21422 specific setjmp.S file.
21423 * po/Makefile.am: New file.
21424
21425 * .bzrignore: New ignores.
21426 * INSTALL: New requirements, without Ruby.
21427 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21428 * autogen.sh: Updated to invoke autogen as necessary.
21429 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21430 and defines for Automake conditionals.
21431 * geninit.sh: Refactoring.
21432
21433 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21434 necessary.
21435 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21436 New prototype.
21437
21438 * include/grub/test.h: Fix functional test modules' naming.
21439 * grub-core/tests/example_functional_test.c: Fix test module name.
21440
21441 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21442 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21443 * util/grub-editenv.c: Likewise.
21444 * util/grub-fstest.c: Likewise.
21445 * util/grub-mkdevicemap.c: Likewise.
21446 * util/grub-mkfont.c: Likewise.
21447 * util/grub-mkimage.c: Likewise.
21448 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21449 * util/grub-probe.c: Likewise.
21450 * util/grub-script-check.c: Likewise.
21451 * util/i386/pc/grub-setup.c: Likewise.
21452 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21453
21454 * tests/util/grub-shell.in: Fix override directory path.
21455 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21456 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21457
21458 * util/lvm.c: Update #includes.
21459 * util/raid.c: Likewise.
21460 * util/resolve.c: Likewise.
21461 * grub-core/bus/emu/pci.c: Likewise.
21462 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21463 * grub-core/lib/posix_wrap/string.h: Likewise.
21464 * grub-core/kern/emu/main.c: Likewise.
21465
21466 * grub-core/gensymlist.sh: New file. Script for generating kernel
21467 symbols file.
21468 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21469
21470 * grub-core/gentrigtables.c: Fix unused variable warnings.
21471
21472 * Makefile.in: Removed.
21473 * conf/any-emu.rmk: Removed.
21474 * conf/common.rmk: Removed.
21475 * conf/i386-coreboot.rmk: Removed.
21476 * conf/i386-efi.rmk: Removed.
21477 * conf/i386-ieee1275.rmk: Removed.
21478 * conf/i386-multiboot.rmk: Removed.
21479 * conf/i386-pc.rmk: Removed.
21480 * conf/i386-qemu.rmk: Removed.
21481 * conf/i386.rmk: Removed.
21482 * conf/mips-yeeloong.rmk: Removed.
21483 * conf/mips.rmk: Removed.
21484 * conf/powerpc-ieee1275.rmk: Removed.
21485 * conf/sparc64-ieee1275.rmk: Removed.
21486 * conf/tests.rmk: Removed.
21487 * conf/x86-efi.rmk: Removed.
21488 * conf/x86_64-efi.rmk: Removed.
21489 * gendistlist.sh: Removed.
21490 * geninitheader.sh: Removed.
21491 * genkernsyms.sh.in: Removed.
21492 * genmk.rb: Removed.
21493 * gensymlist.sh.in: Removed.
21494 * mkinstalldirs: Removed.
21495 * boot: Moved ...
21496 * grub-core/boot: ... to here.
21497 * bus: Moved ...
21498 * grub-core/bus: ... to here.
21499 * commands: Moved ...
21500 * grub-core/commands: ... to here.
21501 * disk: Moved ...
21502 * grub-core/disk: ... to here.
21503 * efiemu: Moved ...
21504 * grub-core/efiemu: ... to here.
21505 * font: Moved ...
21506 * grub-core/font: ... to here.
21507 * fs: Moved ...
21508 * grub-core/fs: ... to here.
21509 * gencmdlist.sh: Moved ...
21510 * grub-core/gencmdlist.sh: ... to here.
21511 * genemuinit.sh: Moved ...
21512 * grub-core/genemuinit.sh: ... to here.
21513 * genemuinitheader.sh: Moved ...
21514 * grub-core/genemuinitheader.sh: ... to here.
21515 * genfslist.sh: Moved ...
21516 * grub-core/genfslist.sh: ... to here.
21517 * genhandlerlist.sh: Moved ...
21518 * grub-core/genhandlerlist.sh: ... to here.
21519 * genmoddep.awk: Moved ...
21520 * grub-core/genmoddep.awk: ... to here.
21521 * genmodsrc.sh: Moved ...
21522 * grub-core/genmodsrc.sh: ... to here.
21523 * genpartmaplist.sh: Moved ...
21524 * grub-core/genpartmaplist.sh: ... to here.
21525 * genparttoollist.sh: Moved ...
21526 * grub-core/genparttoollist.sh: ... to here.
21527 * genterminallist.sh: Moved ...
21528 * grub-core/genterminallist.sh: ... to here.
21529 * gentrigtables.c: Moved ...
21530 * grub-core/gentrigtables.c: ... to here.
21531 * genvideolist.sh: Moved ...
21532 * grub-core/genvideolist.sh: ... to here.
21533 * gettext: Moved ...
21534 * grub-core/gettext: ... to here.
21535 * gfxmenu: Moved ...
21536 * grub-core/gfxmenu: ... to here.
21537 * gnulib: Moved ...
21538 * grub-core/gnulib: ... to here.
21539 * hello: Moved ...
21540 * grub-core/hello: ... to here.
21541 * hook: Moved ...
21542 * grub-core/hook: ... to here.
21543 * io: Moved ...
21544 * grub-core/io: ... to here.
21545 * kern: Moved ...
21546 * grub-core/kern: ... to here.
21547 * lib: Moved ...
21548 * grub-core/lib: ... to here.
21549 * loader: Moved ...
21550 * grub-core/loader: ... to here.
21551 * mmap: Moved ...
21552 * grub-core/mmap: ... to here.
21553 * normal: Moved ...
21554 * grub-core/normal: ... to here.
21555 * partmap: Moved ...
21556 * grub-core/partmap: ... to here.
21557 * parttool: Moved ...
21558 * grub-core/parttool: ... to here.
21559 * script: Moved ...
21560 * grub-core/script: ... to here.
21561 * term: Moved ...
21562 * grub-core/term: ... to here
21563 * tests/example_functional_test.c: Moved ...
21564 * grub-core/tests/example_functional_test.c: ... to here.
21565 * tests/lib/functional_test.c: Moved ...
21566 * grub-core/tests/lib/functional_test.c: ... to here.
21567 * tests/lib/test.c: Moved ...
21568 * grub-core/tests/lib/test.c: ... to here.
21569 * video: Moved ...
21570 * grub-core/video: ... to here.
21571
645586e6
BC
215722010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21573
21574 Replace --enable-grub-emu-modules with grub-emu-lite.
21575
21576 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21577 cache.S.
21578
21579 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21580 * kern/emu/full.c: New file. For grub-emu specific initialization.
21581 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21582 * kern/emu/main.c: Call initialization function grub_emu_init.
21583
21584 * Makefile.in: Include grub-emu-lite in install.
21585 * commands/parttool.c: Use grub_no_autoload to differentiate
21586 between grub-emu and grub-emu-lite.
21587 * include/grub/misc.h: New variable grub_no_autoload.
21588
21589 * conf/any-emu.rmk: New rules for grub-emu-lite.
21590 * configure.ac: Remove --enable-grub-emu-modules.
21591 * genmk.rb: Cleanup unnecessary rules.
21592 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21593
21594 * normal/main.c: Don't load list files on grub-emu-lite.
21595 * util/misc.c (grub_arch_sync_caches): Removed.
21596
f86a4030
CW
215972010-08-23 Colin Watson <cjwatson@ubuntu.com>
21598
21599 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21600 grub-mkimage rather than grub-mkelfimage.
21601 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21602
06776944
VS
216032010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21604
21605 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21606 a key after CapsLock or NumLock. It's just a qemu bug.
21607
df262419
VS
216082010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21611 needed by libusb wrapper.
21612
b40ea81b
ST
216132010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21614
21615 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21616
dee50575
VS
216172010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21620 --nounzip is passed.
21621
fb1d7b79
VS
216222010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 USB hotunplugging and USB serial support.
21625
21626 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21627 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21628 (grub_uhci_transfer): Respect timeout and set *actual.
21629 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21630 non-standard length.
21631 (grub_usb_device_attach): Autoload modules.
21632 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21633 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21634 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21635 users updated.
21636 (grub_usb_add_hub): Fill nports and children.
21637 (attach_root_port): Receive hub instead of controller.
21638 All users updated. Fill hub->devices.
21639 (grub_usb_root_hub): Allocate hub->devices.
21640 (detach_device): New function.
21641 (poll_nonroot_hub): Fill children and detach devices.
21642 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21643 actual arguments. All users updated.
21644 (grub_usb_bulk_read_extended): New function.
21645 * bus/usb/serial/common.c: New file.
21646 * bus/usb/serial/ftdi.c: Likewise.
21647 * bus/usb/serial/pl2303.c: Likewise.
21648 * commands/terminal.c (handle_command): Support wildcard.
21649 * commands/usbtest.c: Output "Unknown" instead of empty string.
21650 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21651 (usbserial_common_mod_SOURCES): New variable.
21652 (usbserial_common_mod_CFLAGS): Likewise.
21653 (usbserial_common_mod_LDFLAGS): Likewise.
21654 (pkglib_MODULES): Add usbserial_pl2303.mod.
21655 (usbserial_pl2303_mod_SOURCES): New variable.
21656 (usbserial_pl2303_mod_CFLAGS): Likewise.
21657 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21658 (pkglib_MODULES): Add usbserial_ftdi.mod.
21659 (usbserial_ftdi_mod_SOURCES): New variable.
21660 (usbserial_ftdi_mod_CFLAGS): Likewise.
21661 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21662 (pkglib_MODULES): Add serial.mod.
21663 (serial_mod_SOURCES): New variable.
21664 (serial_mod_CFLAGS): Likewise.
21665 (serial_mod_LDFLAGS): Likewise.
21666 * conf/i386-pc.rmk: Likewise.
21667 * conf/mips-yeeloong.rmk: Likewise.
21668 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21669 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21670 * disk/usbms.c (first_available_slot): New variable.
21671 (grub_usbms_attach): Don't reuse free slots due to potential cache
21672 problems.
21673 * include/grub/serial.h: Moved to ..
21674 * include/grub/ns8250.h: ...this.
21675 * include/grub/serial.h: New file.
21676 * include/grub/term.h (grub_term_poll_usb): New variable.
21677 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21678 readkey. All users updated.
21679 (grub_terminfo_output_state): Pass term to put.
21680 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21681 (grub_usb_controller_dev): Add timeout and actual arguments to
21682 transfer. All users updated.
21683 (grub_usb_interface): New field detach_data.
21684 (grub_usb_device): New fields children and nports.
21685 (grub_usb_ep_type_t): New type.
21686 (grub_usb_get_ep_type): New function.
21687 (grub_usb_bulk_read_extended): Likewise.
21688 * include/grub/usbdesc.h (grub_usb_desc): New type.
21689 * include/grub/usbserial.h: New file.
21690 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21691 * kern/term.c (grub_term_poll_usb): New variable.
21692 (grub_getkey): Call grub_term_poll_usb if set.
21693 (grub_checkkey): Likewise.
21694 (grub_getkeystatus): Likewise.
21695 * term/serial.c: Moved controller-specific parts to ...
21696 * term/ns8250.c: ... here.
21697 * term/serial.c: Mostly rewritten.
21698 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21699 according to spec.
21700
21a313de
RM
217012010-08-20 Robert Millan <rmh@gnu.org>
21702
21703 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21704 a separate module and maybe other interesting combinations.
21705
21706 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21707 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21708 (kfreebsd_entry): Add generic filesystem module load routine.
21709 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21710
63c734a6
CW
217112010-08-20 Colin Watson <cjwatson@ubuntu.com>
21712
21713 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21714 "numcenter" (I misunderstood the purpose of this entry).
21715 * docs/grub.texi (sendkey): Likewise.
21716
c4d16542
CW
217172010-08-20 Colin Watson <cjwatson@ubuntu.com>
21718
21719 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21720 status flag options; simply omitting the option is equivalent and
21721 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21722 (keysym_table): Rename "num5numlock" to "numlock".
21723 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21724 can uniformly say that only the last of multiple `sendkey'
21725 invocations has any effect.
21726 * docs/grub.texi (sendkey): New section.
21727
93541d66
CW
217282010-08-19 Colin Watson <cjwatson@ubuntu.com>
21729
21730 * commands/i386/pc/sendkey.c (options): Fix three typos.
21731
b4ece5e1
VS
217322010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21733
21734 Implement sendkey support.
21735
21736 * commands/i386/pc/sendkey.c: New file.
21737 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21738 (sendkey_mod_SOURCES): New variable.
21739 (sendkey_mod_CFLAGS): Likewise.
21740 (sendkey_mod_LDFLAGS): Likewise.
21741
51f1f5af
CW
217422010-08-18 Colin Watson <cjwatson@ubuntu.com>
21743
21744 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21745 fix warnings from Autoconf.
21746
9da94e05
CW
217472010-08-18 Colin Watson <cjwatson@ubuntu.com>
21748
21749 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21750 to avoid false positives with some assemblers that output things
21751 like "someprefix_func" as part of their output.
21752
729a0f2e
RM
217532010-08-15 Robert Millan <rmh@gnu.org>
21754
21755 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21756 errors.
21757 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21758 grub_get_libzfs_handle() errors.
21759
f3710e08
RM
217602010-08-14 Robert Millan <rmh@gnu.org>
21761
21762 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21763 filesystem is not ZFS.
21764
7a3c13de
BC
217652010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21766
21767 Fix for misspelled color names defaulting to black/black (bug
21768 reported by Doug Nazar)
21769
21770 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21771 status to prototype.
21772 * normal/color.c (grub_parse_color_name_pair): Return failure
21773 status.
21774 (grub_env_write_color_normal): Ignore bad color names.
21775 (grub_env_write_color_highlight): Likewise.
21776 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21777
ab8ba50d
BC
217782010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21779
21780 "shift" command support to GRUB script.
21781
21782 * include/grub/script_sh.h (grub_script_shift): New prototype.
21783 * script/execute.c (grub_script_shift): New function.
21784 * script/main.c (grub_script_init): Register shift command.
21785 (grub_script_fini): Unregister shift command.
21786 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21787
21788 * tests/grub_script_shift.in: New testcase.
21789 * conf/tests.rmk: Rules for new testcase.
21790
4d61999e
BC
217912010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21792
21793 "continue" command support to GRUB script.
21794
21795 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21796 (grub_script_break): Continue support.
21797 * script/main.c (grub_script_init): Register continue command.
21798 (grub_script_fini): Unregister continue command.
21799
21800 * tests/grub_script_continue.in: New testcase.
21801 * conf/tests.rmk: Rules for new testcase.
21802
4df51e00
BC
218032010-08-12 BVK Chaitanya <bvk@dbook>
21804
21805 "break" command support to GRUB script.
21806
21807 * conf/common.rmk: Rule updates to grub-script-check.
21808 * include/grub/misc.h (grub_min): New function.
21809 * include/grub/script_sh.h (grub_script_init): New prototype.
21810 (grub_script_fini): New prototype.
21811 (grub_script_break): New prototype.
21812 * script/main.c (grub_script_init): New function.
21813 (grub_script_fini): New function.
21814 * script/execute.c (grub_script_break): New function.
21815 * normal/main.c: Calls to grub_script_{init,fini}.
21816 * util/grub-script-check.c (grub_script_break): New function.
21817
21818 * tests/grub_script_break.in: New testcase.
21819 * conf/tests.rmk: Rules for new test case.
21820
f12c8420
BC
218212010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21822
21823 Function parameters support to GRUB script.
21824
21825 * script/yylex.l (VARIABLE): Regular expression update.
21826 * script/function.c (grub_script_function_call): Moved ...
21827 * script/execute.c (grub_script_function_call): ... to here.
21828 (grub_script_execute_arglist_to_argv): Removed.
21829 (grub_script_arglist_to_argv): New function.
21830 * script/argv.c: New file.
21831 (grub_script_argv_free): New function.
21832 (grub_script_argv_next): Likewise.
21833 (grub_script_argv_append): Likewise.
21834 (grub_script_argv_split_append): Likewise.
21835 * include/grub/script_sh.h (grub_script_argv): New struct.
21836 (grub_script_argv_free): New function.
21837 (grub_script_argv_next): Likewise.
21838 (grub_script_argv_append): Likewise.
21839 (grub_script_argv_split_append): Likewise.
21840
21841 * conf/common.rmk (normal.mod): New source script/argv.c.
21842
21843 * tests/grub_script_echo1.in: More tests.
21844 * tests/grub_script_vars1.in: Likewise.
21845 * tests/grub_script_functions.in: New test case.
21846 * conf/tests.rmk: Rules for new testcase.
21847
8022b748
BC
218482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21849
21850 Remove grub_script_cmdblock struct.
21851
21852 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21853 * script/parser.y: Likewise.
21854 * script/execute.c: Rename cmdblock suffix to cmdlist.
21855 * script/script.c: Likewise.
21856 * util/grub-script-check.c: Likewise.
21857
79a6ba61
YB
218582010-08-11 Yves Blusseau <blusseau@zetam.org>
21859
21860 * .bzrignore: add grub-macho2img
21861
d04b9414
VS
218622010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21865
f947ab49
VS
218662010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 Remove the dump of sm712 initialisation sequence.
21869
21870 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21871 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21872 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21873 (GRUB_VGA_CR_*): Added many registers.
21874 (GRUB_VGA_SR_*): Likewise.
21875 (GRUB_VGA_GR_*): Likewise.
21876 (grub_vga_write_arx): New function.
21877 (grub_video_hw_config): New struct.
21878 (grub_vga_set_geometry): New function.
21879 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21880 GRUB_PCI_CLASS_SUBCLASS_VGA.
21881 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21882 * video/sm712.c (grub_sm712_write_reg): New function
21883 (grub_sm712_read_reg): Likewise.
21884 (grub_sm712_sr_write): Likewise.
21885 (grub_sm712_gr_write): Likewise.
21886 (grub_sm712_cr_write): Likewise.
21887 (grub_sm712_write_arx): Likewise.
21888 (grub_sm712_cr_shadow_write): Likewise.
21889 (grub_sm712_write_dda_lookup): Likewise.
21890 (grub_video_sm712_setup): Initialise the video rather then
21891 blindly replay the dump.
21892 (main) [TEST]: Add a routine to be able to compile as standalone for
21893 tests.
21894 * video/sm712_init.c (sm712_init): Removed.
21895 (sm712_sr_seq1): New array.
21896 (sm712_sr_seq2): Likewise.
21897
f0206638
VS
218982010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * include/grub/vga.h: Add missing grub/pci.h include.
21901
2764da3b
YB
219022010-08-10 Yves Blusseau <blusseau@zetam.org>
21903
21904 * util/grub-macho2img.c (main): fix typo
21905
cf0c775e
VS
219062010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21909 (grub_vga_gr_read): Likewise.
21910 (grub_vga_cr_write): Likewise.
21911 (grub_vga_cr_read): Likewise.
21912 (grub_vga_sr_write): Likewise.
21913 (grub_vga_sr_read): Likewise.
21914 (grub_vga_palette_read): Likewise.
21915 (grub_vga_palette_write): Likewise.
21916 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21917 (grub_sm712_sr_read): New function.
21918 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21919 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21920
07f360e9
RM
219212010-08-09 Robert Millan <rmh@gnu.org>
21922
21923 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21924 out unused variables on non-ZFS build.
21925
346c2072
RM
219262010-08-08 Robert Millan <rmh@gnu.org>
21927
21928 Fix path generation for sub-filesystems in ZFS.
21929
21930 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21931 missing slash.
21932
71175420
RM
219332010-08-08 Robert Millan <rmh@gnu.org>
21934
21935 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21936
0d8286f3
RM
219372010-08-08 Robert Millan <rmh@gnu.org>
21938
21939 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21940 exist, issue a proper error message (rely on `ls' for translated
21941 strings).
21942
55dd2924
RM
219432010-08-08 Robert Millan <rmh@gnu.org>
21944
21945 Fix grub-probe invocation.
21946
21947 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21948
d3dd9e80
RM
219492010-08-04 Robert Millan <rmh@gnu.org>
21950
21951 * configure.ac: Remove checks for getfsstat() and getmntany().
21952 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21953 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21954 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21955 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21956 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21957 function.
21958 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21959 via find_mount_point_from_dir() and getfsstat() / getmntany().
21960
0de22aa9
RM
219612010-08-04 Robert Millan <rmh@gnu.org>
21962
21963 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21964 (grub_find_zpool_from_mount_point): Merge into ...
21965 (grub_find_zpool_from_dir): ... this.
21966 * kern/emu/misc.c: Likewise.
21967
21968 * kern/emu/misc.c
21969 (grub_make_system_path_relative_to_its_root): Replace
21970 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21971 with grub_find_zpool_from_dir().
21972 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21973
62858144
RM
219742010-08-04 Robert Millan <rmh@gnu.org>
21975
21976 Support OpenSolaris in ZFS device resolution.
21977
21978 * configure.ac: Check for getmntany().
21979 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21980 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21981 support.
21982
9dd6fd50
RM
219832010-08-03 Robert Millan <rmh@gnu.org>
21984
21985 Fix grub-emu build.
21986
21987 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21988 * include/grub/emu/misc.h: ... here.
21989
21990 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21991 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21992
21993 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21994 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21995 (grub_get_libzfs_handle): Move to ...
21996 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21997 (grub_get_libzfs_handle): ... here.
21998
c9f7ff97
BC
219992010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22000
22001 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22002 as command name case.
22003
a870a783
CW
220042010-08-02 Colin Watson <cjwatson@ubuntu.com>
22005
22006 * disk/raid.c (insert_array): Select unique numbers for named arrays
22007 as well, for use as keys in the disk cache.
22008
c7db243b
RM
220092010-08-01 Robert Millan <rmh@gnu.org>
22010
22011 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22012 kFreeBSD device name, except on ZFS where the filesystem label is
22013 used.
22014 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22015 `/boot/zfs/zpool.cache'.
22016 Set mountfrom kernel variable using ${kfreebsd_device}.
22017
f7abdefb
RM
220182010-08-01 Robert Millan <rmh@gnu.org>
22019
22020 Make it even harder to use uninitialized `libzfs_handle' (and
22021 make the interface a bit simpler).
22022
22023 * include/grub/util/misc.h (grub_util_init_libzfs)
22024 (libzfs_handle): Remove.
22025 (grub_get_libzfs_handle): New prototype.
22026
22027 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22028 attribute.
22029 (grub_util_init_libzfs): Remove.
22030 (grub_get_libzfs_handle): New function.
22031
22032 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22033 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22034 accessing `libzfs_handle' directly.
22035
c882acc0
RM
220362010-08-01 Robert Millan <rmh@gnu.org>
22037
22038 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22039 (grub_find_zpool_from_mount_point): New function prototypes.
22040
22041 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22042 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22043
22044 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22045 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22046 `static' attribute.
22047
22048 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22049 finding zpool from mount point into ...
22050 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22051
22052 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22053 requested path is part of a ZFS pool, use
22054 grub_find_zpool_from_mount_point() to detect its filesystem name,
22055 and generate a path with `/fsname@path' syntax.
22056
8bfe31d8
CW
220572010-08-01 Colin Watson <cjwatson@ubuntu.com>
22058
22059 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22060 (void) rather than () so that this is a proper prototype.
22061
553df63d
VS
220622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22065
8687cf07
VS
220662010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22069 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22070
ea9be8ea
CW
220712010-08-01 Colin Watson <cjwatson@ubuntu.com>
22072
22073 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22074
6eea041a
CW
220752010-08-01 Colin Watson <cjwatson@ubuntu.com>
22076
22077 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22078
2cfb45df
CW
220792010-08-01 Colin Watson <cjwatson@ubuntu.com>
22080
22081 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22082 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22083 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22084 disable gfxpayload.
22085 (Shell-like scripting): Add real content.
22086 (Serial terminal): Suggest `terminal_input serial; terminal_output
22087 serial' rather than putting the two commands on separate lines,
22088 since console input will be inoperative after the first command.
22089 (menuentry): Document --class, --users, and --hotkey options.
22090 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22091 Vladimir Serbinenko).
22092
7decd202
VS
220932010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
220942010-08-01 Colin Watson <cjwatson@ubuntu.com>
22095
22096 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22097
c882acc0
RM
220982010-08-01 Robert Millan <rmh@gnu.org>
22099
22100 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22101 (grub_find_zpool_from_mount_point): New function prototypes.
22102
22103 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22104 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22105
22106 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22107 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22108 `static' attribute.
22109
22110 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22111 finding zpool from mount point into ...
22112 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22113
22114 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22115 requested path is part of a ZFS pool, use
22116 grub_find_zpool_from_mount_point() to detect its filesystem name,
22117 and generate a path with `/fsname@path' syntax.
22118
deb0caa3
RM
221192010-08-01 Robert Millan <rmh@gnu.org>
22120
22121 Prevent accidental use of uninitialized libzfs_handle.
22122
22123 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22124 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22125 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22126
ce04ef47
CW
221272010-08-01 Colin Watson <cjwatson@ubuntu.com>
22128
22129 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22130 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22131
ebf53056
RM
221322010-08-01 Robert Millan <rmh@gnu.org>
22133
22134 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22135
3710bb6b
RM
221362010-07-31 Robert Millan <rmh@gnu.org>
22137
22138 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22139
8072efeb
RM
221402010-07-31 Robert Millan <rmh@gnu.org>
22141
22142 * kern/emu/misc.c: Add missing license header.
22143
3169f4c7
RM
221442010-07-31 Robert Millan <rmh@gnu.org>
22145
22146 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22147
22148 * include/grub/util/libnvpair.h: Include `<config.h>'.
22149 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22150 declaring libnvpair prototypes ourselves.
22151 * include/grub/util/libzfs.h: Include `<config.h>'.
22152 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22153 declaring libzfs prototypes ourselves.
22154
22155 (libzfs_handle): Moved to ...
22156 * include/grub/util/misc.h (libzfs_handle): ... here.
22157 Include `<grub/util/libzfs.h>'.
22158
c9a00aee
RM
221592010-07-30 Robert Millan <rmh@gnu.org>
22160
22161 * include/grub/emu/misc.h: Add missing license header.
22162
a184f9c8
RM
221632010-07-30 Robert Millan <rmh@gnu.org>
22164
22165 Enable `grub-probe -t device' resolution on ZFS.
22166
22167 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22168 * include/grub/util/libnvpair.h: New file.
22169 * include/grub/util/libzfs.h: New file.
22170
22171 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22172 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22173 `<grub/util/libnvpair.h>'.
22174 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22175
22176 (find_mount_point_from_dir): New static function.
22177 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22178 function.
22179 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22180 find_root_device_from_libzfs() before ressorting to find_root_device().
22181
22182 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22183 prototype.
22184 * util/misc.c: Include `<grub/util/libzfs.h>'.
22185 (grub_util_init_libzfs): New function.
22186 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22187 [HAVE_LIBZFS] (fini_libzfs): New static function.
22188 (grub_util_init_libzfs): New function.
22189 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22190
f7790cdd
RM
221912010-07-30 Robert Millan <rmh@gnu.org>
22192
22193 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22194 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22195 `warn_unused_result' attribute.
22196 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22197 (grub_xasprintf, grub_xvasprintf): Likewise.
22198 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22199
0806b63c
RM
222002010-07-29 Robert Millan <rmh@gnu.org>
22201
22202 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22203 (probe): Handle `PRINT_FS_LABEL'.
22204 (main): Handle `-t fs_label'.
22205
9f841f5c
RM
222062010-07-29 Robert Millan <rmh@gnu.org>
22207
22208 * configure.ac: Remove grub-mkisofs checks.
22209
46371121
VS
222102010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22211
22212 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22213 Reported by: Lennart Sorensen.
22214
222152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22218 prior to terminal_input/terminal_output separation. It's been over 1.5
22219 years and those versions weren't widely deployed.
22220
a9600892
CW
222212010-07-22 Colin Watson <cjwatson@ubuntu.com>
22222
22223 * disk/raid.c (insert_array): Don't count named arrays when looking
22224 for unused array numbers.
697e053c 22225 Reported and tested by: Michael Guntsche.
a9600892 22226
c03507df
CW
222272010-07-20 Colin Watson <cjwatson@ubuntu.com>
22228
22229 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22230 implementation of this so that grub-emu links again, with a note
22231 that this should support hotplugging in the future.
22232
b26f1c11
CW
222332010-07-20 Colin Watson <cjwatson@ubuntu.com>
22234
22235 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22236
efc9d7f1
CW
222372010-07-20 Colin Watson <cjwatson@ubuntu.com>
22238
22239 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22240 handle on failure.
22241 (grub_loopback_close): Remove empty function.
22242 (grub_loopback_dev): Remove close method.
22243
dd8ff5c9
CW
222442010-07-20 Colin Watson <cjwatson@ubuntu.com>
22245
22246 Disable EFI cursor when the EFI console becomes inactive.
22247
22248 * term/efi/console.c (grub_efi_console_init): New function.
22249 (grub_efi_console_fini): New function.
22250 (grub_console_term_output): Register init and fini methods.
22251
5e3bec67
VS
222522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22255 sh script.
22256
afaec079
VS
222572010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 * disk/loopback.c (grub_loopback): Replace filename with file.
22260 (delete_loopback): Handle new semantics.
22261 (grub_cmd_loopback): Likewise.
22262 (grub_loopback_iterate): Likewise.
22263 (grub_loopback_close): Likewise.
22264
a6a11f3c
VS
222652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22268 with -p "".
22269 Reported by: Tito Keitel.
22270
64a638b0
VS
222712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 * docs/grub.texi (Naming convention): Document new naming convention.
22274
ab8ba957
VS
222752010-07-20 Vadim Solomin <vadic052@gmail.com>
222762010-07-20 Colin Watson <cjwatson@ubuntu.com>
22277
22278 Generate device.map in something closer to the old ordering.
22279
22280 * util/deviceiter.c (struct device): New declaration.
22281 (compare_file_names): Rename to ...
22282 (compare_devices): ... this. Sort by kernel name in preference to
22283 the stable by-id name, but keep the latter as a fallback comparison.
22284 Update header comment.
22285 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22286 of `struct device' rather than of plain file names.
22287
a29d6a4b
TF
222882010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22289
22290 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22291 on i386.
22292
39d824e8
VS
222932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22296 hardcoding size.
22297 (setv1table): Likewise.
22298
f058276b
FZ
222992010-07-20 Colin Watson <cjwatson@ubuntu.com>
22300
22301 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22302 removing the homehost if present.
22303 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22304 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22305 removing the homehost if present.
22306 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22307 if possible.
22308 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22309
22310 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22311 parameter. Set its pointer target to 0.
22312 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22313 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22314 `data_offset' value from the superblock for 1.x metadata.
22315 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22316 data on the device.
22317 (insert_array): Record the start sector of data on the device.
22318 (grub_raid_register): Pass start_sector parameters to
22319 grub_raid_list->detect and insert_array.
22320 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22321 member.
22322 (struct grub_raid): Add start_sector parameter to `detect'.
22323
22324 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22325 __attribute__ ((packed)), leaving a comment.
22326 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22327 (grub_mdraid_detect_09): ... here and ...
22328 (grub_mdraid_detect_1x): ... here.
22329
223302010-07-20 Peter Henn <peter.henn@web.de>
22331
22332 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22333 chunk size and disk size, which are already given as sector counts
22334 as distinct from the 0.90 units. Fetch the correct device number
22335 from the role table instead of using the table index.
22336
223372010-07-20 Felix Zielcke <fzielcke@z-51.de>
22338
22339 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22340 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22341 (WriteMostly1): New macro.
22342 Set array->name to NULL for metadata format 0.90. Add support for
22343 metadata 1.x. Fix some comments.
22344 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22345 few comments.
22346 * util/getroot.c (grub_util_get_grub_dev): Add support for
22347 /dev/md/name style devices.
22348
4b761da9
CW
223492010-07-20 Colin Watson <cjwatson@ubuntu.com>
22350
22351 * .bzrignore: Ignore 20_linux_xen.
22352
5771289a
CW
223532010-07-17 Colin Watson <cjwatson@ubuntu.com>
22354
22355 * util/import_unicode.py: Remove unnecessary imports.
22356
5dab68df
AN
223572010-07-17 Aleš Nesrsta <starous@volny.cz>
22358
22359 Hotplugging and USB hub support.
22360
22361 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22362 (grub_ohci): Likewise.
22363 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22364 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22365 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22366 (GRUB_OHCI_CTRL_EDS): Likewise.
22367 (GRUB_OHCI_BULK_EDS): Likewise.
22368 (GRUB_OHCI_TDS): Likewise.
22369 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22370 (grub_ohci_ed_phys2virt): New function.
22371 (grub_ohci_virt_to_phys): Likewise.
22372 (grub_ohci_td_phys2virt): Likewise.
22373 (grub_ohci_td_virt2phys): Likewise.
22374 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22375 attachment.
22376 (grub_ohci_find_ed): New function.
22377 (grub_ohci_alloc_td): Likewise.
22378 (grub_ohci_free_td): Likewise.
22379 (grub_ohci_free_tds): Likewise.
22380 (grub_ohci_transfer): Use previously allocated memory.
22381 (grub_ohci_portstatus): Reset status changed bit.
22382 (grub_ohci_detect_dev): Supply status changed.
22383 (grub_ohci_fini_hw): Free memory.
22384 (grub_ohci_restore_hw): Reallocate memory.
22385 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22386 Reset status change.
22387 (grub_uhci_detect_dev): Supply status_change.
22388 * bus/usb/usb.c (attach_hooks): New var.
22389 (grub_usb_device_attach): New function.
22390 (grub_usb_register_attach_hook_class): Likewise.
22391 (grub_usb_unregister_attach_hook_class): Likewise.
22392 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22393 (grub_usb_add_hub): Reset connection changed bit.
22394 (attach_root_port): New function.
22395 (grub_usb_root_hub): Likewise.
22396 (poll_nonroot_hub): Likewise.
22397 (grub_usb_poll_devices): Likewise.
22398 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22399 * disk/usbms.c (grub_usbms_open): Use device hooks.
22400 (grub_usbms_iterate) :Poll devices.
22401 (grub_usbms_finddevs): Split into ...
22402 (grub_usbms_attach): ... this ...
22403 (grub_usbms_attach): ... and this.
22404 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22405 in detect_dev.
22406 (grub_usb_interface): New fields attached and detach_hook.
22407 (grub_usb_attach_hook_class): New type.
22408 (grub_usb_attach_desc): New struct.
22409 (grub_usb_register_attach_hook_class): New function.
22410 (grub_usb_unregister_attach_hook_class): Likewise.
22411 (grub_usb_poll_devices): Likewise.
22412 (grub_usb_device_attach): Likewise.
22413 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22414 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22415
3222efaf
VS
224162010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22419 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22420 delta determination style. Works with most NetBSD partitions too.
22421
139b714a
VS
224222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22423
22424 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22425 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22426
986aad56
VS
224272010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22430
99be513c
AB
224312010-07-14 Anton Blanchard <anton@samba.org>
22432
22433 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22434 ET_DYN files.
22435
18075f62
GS
224362010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22437
22438 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22439
8d9a5b15
GS
224402010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22441
22442 * kern/partition.c (grub_partition_check_containment): New function to
22443 check that a partition is physically contained in a parent. Since
22444 offsets are relative (and non-negative), this reduces to checking that
22445 the partition ends before its parent.
22446 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22447 (grub_partition_iterate): Likewise.
22448 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22449 comments.
22450 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22451 partitions that start before their parent, and add debug printfs.
22452
19563c25
CW
224532010-07-13 Colin Watson <cjwatson@ubuntu.com>
22454
22455 * Makefile.in (.SUFFIX): Spell correctly, as ...
22456 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22457 bare module name without `.mod', e.g. `test') tried to invoke a
22458 Modula-2 compiler.
22459
1a1f1e67
CW
224602010-07-13 Colin Watson <cjwatson@ubuntu.com>
22461
22462 * README: Point to the Info manual.
22463
811b0dca
JS
224642010-07-13 Jiro SEKIBA <jir@unicus.jp>
22465
22466 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22467 2nd superblock position from partition size.
22468
e4f4eafc
CW
224692010-07-10 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22472 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22473 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22474 outputs.
22475
4274c30f
VS
224762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 Restructure SCSI .id handling.
22479 Reported and tested by: Aleš Nesrsta.
22480
22481 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22482 (grub_atapi_dev): Changed .name to "ata". New field .id.
22483 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22484 (grub_usbms_dev): New field .id.
22485 * disk/scsi.c (grub_scsi_iterate): Generate name.
22486 (grub_scsi_open): Parse name.
22487 * include/grub/scsi.h (grub_make_scsi_id): New function.
22488 (grub_scsi_dev): Change iterate and open to number instead of naming
22489 busses. All users updated.
22490 (grub_scsi): Remove name. Add .bus.
22491
5bc24388
VS
224922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 * commands/help.c (grub_cmd_help): Fix a typo.
22495
249975ba
VS
224962010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22499 Reported and tested by: Colin Watson.
22500
3eaac1a1
VS
225012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22504 in this context.
22505
becce1b1
VS
225062010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22507
22508 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22509
f7bf0918
CW
225102010-07-07 Colin Watson <cjwatson@ubuntu.com>
22511
22512 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22513 indentation.
22514
0b0f9620
CW
225152010-07-06 Colin Watson <cjwatson@ubuntu.com>
22516
22517 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22518 and disk/raid6_recover.c.
22519 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22520 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22521
1e545469
CW
225222010-07-06 Colin Watson <cjwatson@ubuntu.com>
22523
22524 * term/gfxterm.c (repaint_schedulded): Rename to ...
22525 (repaint_scheduled): ... this. Update all callers.
22526 (repaint_was_schedulded): Rename to ...
22527 (repaint_was_scheduled): ... this. Update all callers.
22528
5357687a
CW
225292010-07-06 Colin Watson <cjwatson@ubuntu.com>
22530
22531 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22532 which we expect to be handled by upper layers.
22533
29d7e783
BC
225342010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22535
22536 * bus/usb/usbhub.c: #include time.h header.
22537
37582066
CW
225382010-07-06 Colin Watson <cjwatson@ubuntu.com>
22539
22540 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22541 entry_name also for entries without stat blocks (e.g. ".."); fixes
22542 corruption of the first entry in a directory.
22543
c8c06953
CW
225442010-07-06 Colin Watson <cjwatson@ubuntu.com>
22545
22546 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22547 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22548 doesn't work otherwise.
22549
e75056f1
CW
225502010-07-05 Colin Watson <cjwatson@ubuntu.com>
22551
22552 * docs/grub.texi (Features): Update list of supported file systems.
22553 (GNU/Linux): Update for GRUB 2.
22554 (Serial terminal): Remove mention of --disable-serial, which was a
22555 GRUB Legacy configure option. Update instructions to use
22556 `terminal_input' and `terminal_output' rather than `terminal'.
22557 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22558 configuration' and `Installing GRUB using grub-install'.
22559 (Menu entry editor): Update for GRUB 2.
22560 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22561 Document new -a, -u, and -v options.
22562 (initrd): New section.
22563 (initrd16): New section.
22564 (linux): New section.
22565 (linux16): New section.
22566 (search): The `var' argument to `--set' is optional.
22567 (GRUB only offers a rescue shell): Go into a little more detail on
22568 drive ordering.
22569
5cf69151
CW
225702010-07-05 Colin Watson <cjwatson@ubuntu.com>
22571
22572 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22573
e3f90044
CW
225742010-07-05 Colin Watson <cjwatson@ubuntu.com>
22575
22576 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22577 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22578
38d8f4f3
CW
225792010-07-05 Colin Watson <cjwatson@ubuntu.com>
22580
22581 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22582 install_prefix, in line with install_dos_part and install_bsd_part.
22583 Add new prefix variable, which is copied to install_prefix after
22584 comparing core.img in memory with the one read from disk in the
22585 no-embedding case, and use that rather than overwriting
22586 install_prefix immediately when installing to a partition.
22587 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22588 Bicakci.
22589
57ebd41e
GS
225902010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22591
22592 * configure.ac: Avoid == in test command, it's not portable.
22593 * util/grub.d/30_os-prober.in: Likewise.
22594
cb7f64b2
CW
225952010-07-04 Colin Watson <cjwatson@ubuntu.com>
22596
22597 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22598
6b654bb0
GS
225992010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22600
22601 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22602 multiple (top-level) partmaps.
22603
72a2026d
VS
226042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22607 Reported by: Tino Keitel.
72a2026d 22608
df3eb88f
VS
226092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 Bidi and diacritics support.
22612
22613 * Makefile.in (widthspec.bin): New target.
22614 (widthspec.h): Likewise.
22615 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22616 * autogen.sh: Generate unidata.c.
22617 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22618 * commands/ls.c (grub_ls_list_devices): Likewise.
22619 (grub_ls_list_files): Likewise.
22620 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22621 (grub_mini_cmd_lsmod): Likewise.
22622 * commands/read.c: Likewise.
22623 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22624 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22625 * lib/arg.c (grub_arg_show_help): Likewise.
22626 * lib/crypto.c (grub_password_get): Likewise.
22627 * normal/auth.c (grub_username_get): Likewise.
22628 * normal/misc.c (grub_normal_print_device_info): Likewise.
22629 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22630 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22631 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22632 (normal/charset.c_DEPENDENCIES): New variable.
22633 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22634 (pkglib_MODULES): Remove charset.mod.
22635 (charset_mod_SOURCES): Removed.
22636 (charset_mod_CFLAGS): Likewise.
22637 (charset_mod_LDFLAGS): Likewise.
22638 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22639 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22640 and term/tparm.c.
22641 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22642 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22643 (kernel_img_HEADERS): Add terminfo.h.
22644 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22645 Fill ->font. Reverse ascii bitmaps.
22646 (grub_font_get_xheight): New function.
22647 * font/font.c (grub_font_get_string_width): Moved from here ...
22648 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22649 * font/font.c (grub_font_draw_string): Moved from here ...
22650 * gfxmenu/font.c (grub_font_draw_string): ... here.
22651 * font/font.c (grub_font_dup_glyph): New function.
22652 (grub_font_blit_glyph): Likewise.
22653 (grub_font_blit_glyph_mirror): Likewise.
22654 (blit_comb): Likewise.
22655 (grub_font_construct_dry_run): Likewise.
22656 (grub_font_get_constructed_device_width): Likewise.
22657 (grub_font_construct_glyph): Likewise.
22658 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22659 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22660 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22661 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22662 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22663 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22664 (grub_font_get_xheight): New proto.
22665 (grub_font_get_constructed_device_width): Likewise.
22666 (grub_font_construct_glyph): Likewise.
22667 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22668 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22669 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22670 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22671 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22672 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22673 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22674 (grub_console_getcharwidth): Likewise.
22675 * include/grub/misc.h (grub_xputs): New proto.
22676 (grub_puts): Inlined.
22677 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22678 (grub_normal_get_line_counter): Removed.
22679 (grub_install_newline_hook): Likewise.
22680 (grub_normal_get_char_counter): New proto.
22681 (grub_normal_reset_more): Likewise.
22682 (grub_xputs_normal): Likewise.
22683 * include/grub/powerpc/ieee1275/console.h: Removed.
22684 * include/grub/sparc64/ieee1275/console.h: Likewise.
22685 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22686 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22687 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22688 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22689 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22690 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22691 (grub_term_input): Pass reference to self. All users updated.
22692 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22693 Pass reference to self. New fields normal_color, highlight_color and
22694 data. All users updated.
22695 (grub_putchar): Removed.
22696 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22697 (grub_unicode_estimate_width): New function.
22698 (grub_term_getcharwidth): Add defaults.
22699 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22700 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22701 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22702 (grub_cls): Remove EXPORT_FUNC.
22703 (grub_setcolorstate): Inline.
22704 (grub_newline_hook): Removed.
22705 * include/grub/terminfo.h: Rewritten. All users updated.
22706 * include/grub/unicode.h: New file.
22707 * include/grub/video.h (grub_video_signed_rect): New type.
22708 * kern/emu/console.c (grub_console_highlight_color): Removed.
22709 (grub_console_normal_color): Likewise.
22710 (grub_console_standard_color): Made static.
22711 (grub_ncurses_putchar): Remove mapping.
22712 (grub_ncurses_getcharwidth): Removed.
22713 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22714 (grub_ncurses_setcolor): Removed.
22715 (grub_ncurses_getcolor): Likewise.
22716 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22717 (grub_console_putchar): ... this.
22718 (grub_console_putchar): Handle argument difference.
22719 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22720 console_init_early and console_init_lately.
22721 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22722 * kern/misc.c (grub_puts): Removed.
22723 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22724 (grub_vsnprintf_real): Remove str = NULL support.
22725 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22726 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22727 * kern/term.c (grub_putcode): Renamed to ...
22728 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22729 (grub_putchar): Removed.
22730 (grub_xputs_dumb): New function.
22731 (grub_xputs): New variable.
22732 * lib/charset.c: Move from here ...
22733 * normal/charset.c: ... to here.
22734 (grub_ucs4_to_utf8): New function.
22735 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22736 (join_types): New variable.
22737 (unpack_join): New function.
22738 (bidi_types): New variable.
22739 (unpack_bidi): New function.
22740 (get_bidi_type): Likewise.
22741 (get_join_type): Likewise.
22742 (is_mirrored): Likewise.
22743 (grub_unicode_get_comb_type): Likewise.
22744 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22745 (is_type_after): Likewise.
22746 (grub_unicode_aglomerate_comb): Likewise.
22747 (bidi_line_wrap): Likewise.
22748 (grub_bidi_line_logical_to_visual): Likewise.
22749 (grub_bidi_logical_to_visual): Likewise.
22750 (grub_unicode_mirror_code): Likewise.
22751 (grub_unicode_shape_code): Likewise.
22752 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22753 Don't use grub_putchar.
22754 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22755 (grub_normal_reader_init): Likewise.
22756 (grub_xputs_saved): New variable.
22757 (GRUB_MOD_INIT): Set grub_xputs.
22758 (GRUB_MOD_FINI): Restore grub_xputs.
22759 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22760 (menu_init): Avoid printing gfxmenu error.
22761 (show_menu): Use grub_normal_get_char_counter.
22762 * normal/menu_entry.c (update_screen): Fix out-of-array.
22763 (complete): Avoid NULL dereferencing.
22764 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22765 * normal/menu_text.c (print_spaces): Removed.
22766 (grub_print_ucs4): Likewise.
22767 (grub_print_message_indented): Use grub_print_ucs4.
22768 (print_message): Use grub_putcode.
22769 (print_entry): Hanlde diacritics.
22770 * normal/term.c (term_state): New type.
22771 (grub_more_lines): Removed.
22772 (term_states): New variable.
22773 (grub_normal_line_counter): Renamed to ..
22774 (grub_normal_char_counter): ...this. All users updated.
22775 (grub_normal_get_line_counter): Renamed to ...
22776 (grub_normal_get_char_counter): ... this.
22777 (grub_normal_reset_more): New function.
22778 (process_newline): Removed.
22779 (print_more): New function.
22780 (grub_install_newline_hook): Removed.
22781 (map_code): New function.
22782 (grub_puts_terminal): Use grub_print_ucs4.
22783 (putglyph): New function.
22784 (putcode_real): Likewise.
22785 (grub_putcode): Use putcode_real.
22786 (get_maxwidth): New function.
22787 (get_startwidth): Likewise.
22788 (print_ucs4_terminal): Likewise.
22789 (find_term_state): Likewise.
22790 (put_glyphs_terminal): Likewise.
22791 (print_backlog): Likewise.
22792 (print_ucs4_real): Likewise.
22793 (grub_print_ucs4): Likewise.
22794 (grub_xputs_normal): Likewise.
22795 * term/efi/console.c (grub_console_putchar): Output diacritics.
22796 (grub_console_getcharwidth): Removed.
22797 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22798 * term/gfxterm.c (clear_char): Free chars.
22799 (scroll_up): Avoid leaking memory.
22800 (grub_gfxterm_putchar): Support diacritics.
22801 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22802 * term/i386/pc/console.c (grub_console_term_output): Declare as
22803 GRUB_TERM_CODE_TYPE_VGA.
22804 * term/i386/pc/vga.c (grub_vga_term): Declare as
22805 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22806 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22807 GRUB_TERM_CODE_TYPE_VGA.
22808 * term/i386/vga_common.c (map_char): Removed.
22809 (grub_console_putchar): Likewise.
22810 (grub_console_getcharwidth): Likewise.
22811 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22812 (colors): Reordered to match terminfo.
22813 (grub_ofconsole_normal_color): Removed.
22814 (grub_ofconsole_writeesc): Likewise.
22815 (grub_ofconsole_highlight_color): Likewise.
22816 (grub_ofconsole_getcharwidth): Likewise.
22817 (grub_ofconsole_setcolorstate): Likewise.
22818 (grub_ofconsole_setcolor): Likewise.
22819 (grub_ofconsole_getcolor): Likewise.
22820 (grub_ofconsole_readkey): Renamed to ...
22821 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22822 key.
22823 (grub_ofconsole_checkkey): Removed.
22824 (grub_ofconsole_getkey): Likewise.
22825 (grub_ofconsole_getxy): Likewise.
22826 (grub_ofconsole_gotoxy): Likewise.
22827 (grub_ofconsole_cls): Likewise.
22828 (grub_ofconsole_refresh): Likewise.
22829 (grub_ofconsole_terminfo_input): New struct.
22830 (grub_ofconsole_terminfo_output): Likewise.
22831 (grub_ofconsole_term_input): Use terminfo.
22832 (grub_ofconsole_term_output): Likewise.
22833 (grub_console_init): Split into ...
22834 (grub_console_init_early): ...this and ...
22835 (grub_console_init_lately): ...this. Use terminfo.
22836 (grub_ofconsole_putchar): Renamed to ...
22837 (put): ... this. Remove mapping.
22838 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22839 * term/serial.c: Simplify using terminfo.
22840 (xpos): Removed.
22841 (ypos): Likewise.
22842 (keep_track): Likewise.
22843 (registered): Likewise.
22844 (input_buf): Likewise.
22845 (npending): Likewise.
22846 (serial_translate_key_sequence): Likewise.
22847 (fill_input_buf): Likewise.
22848 (grub_serial_checkkey): Likewise.
22849 (grub_serial_getkey): Likewise.
22850 (grub_serial_getxy): Likewise.
22851 (grub_serial_gotoxy): Likewise.
22852 (grub_serial_putchar): Likewise.
22853 (grub_serial_cls): Likewise.
22854 (grub_serial_setcolorstate): Likewise.
22855 (grub_serial_setcursor): Likewise.
22856 (serial_hw_init): Use serial_hw_fetch.
22857 (grub_serial_terminfo_input): New variable.
22858 (grub_serial_terminfo_output): Likewise.
22859 (grub_serial_term_input): Use terminfo.
22860 (grub_serial_term_output): Likewise.
22861 * term/terminfo.c (putstr): Use put.
22862 (grub_terminfo_all_free): New function
22863 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22864 (grub_terminfo_output_register): New function.
22865 (grub_terminfo_output_unregister): Likewise.
22866 (grub_terminfo_getxy): Likewise.
22867 (grub_terminfo_readkey): Likewise.
22868 (grub_terminfo_checkkey): Likewise.
22869 (grub_terminfo_getkey): Likewise.
22870 (grub_terminfo_input_init): Likewise.
22871 (print_terminfo): Likewise.
22872 (grub_cmd_terminfo): Handle encoding.
22873 (grub_terminfo_gotoxy): Track position.
22874 (grub_terminfo_cls): Likewise.
22875 (grub_terminfo_putchar): Likewise.
22876 (grub_terminfo_setcolorstate): Handle colors
22877 (grub_terminfo_cursor_on): This ...
22878 (grub_terminfo_cursor_off): ... and this merged into ...
22879 (grub_terminfo_setcursor): ... this.
22880 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22881 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22882 * unicode/BidiMirroring.txt: Likewise.
22883 * unicode/UnicodeData.txt: Likewise.
22884 * unicode/COPYING: Likewise.
22885 * util/grub-editenv.c (grub_putchar): Removed.
22886 (grub_xputs_real): New function.
22887 (grub_xputs): New variable.
22888 * util/grub-fstest.c (grub_putchar): Removed.
22889 (grub_xputs_real): New function.
22890 (grub_xputs): New variable.
22891 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22892 (grub_xputs_real): New function.
22893 (grub_xputs): New variable.
22894 * util/grub-probe.c (grub_putchar): Removed.
22895 (grub_xputs_real): New function.
22896 (grub_xputs): New variable.
22897 * util/grub-script-check.c (grub_putchar): Removed.
22898 (grub_xputs_real): New function.
22899 (grub_xputs): New variable.
22900 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22901 (grub_xputs_real): New function.
22902 (grub_xputs): New variable.
22903 * util/import_unicode.py: New file.
22904 * util/grub-mkfont.c (ft_errmsgs): New array.
22905 (grub_glyph_info): Make bitmap a pointer.
22906 (file_formats): New type WIDTH_SPEC.
22907 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22908 (options): Add width-spec.
22909 (help): Likewise.
22910 (add_char): Renamed to ...
22911 (add_glyph): ... this.
22912 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22913 (glyph_replace): New type.
22914 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22915 (add_char): New function.
22916 (add_subst): Likewise.
22917 (process_cursive): Likewise.
22918 (add_font): Handle GSUB.
22919 (write_font_width_spec): New function.
22920 (main): Sort glyphs.
22921 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22922 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22923 * kern/term.c (grub_cls): Moved from here...
22924 * normal/term.c (grub_cls): ... here.
22925
50f0bcda
CW
229262010-07-02 Colin Watson <cjwatson@ubuntu.com>
22927
22928 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22929 suitable for using within the format argument of printf when
22930 converting grub_size_t.
22931 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22932 "x" to convert grub_size_t arguments.
22933
40372103
VS
229342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22937 too long captions.
22938 (list_get_minimal_size): Take selection box into account.
22939
942a10c7
VS
229402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22941
22942 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22943 NULL font.
22944
2bdb2892
CW
229452010-07-02 Colin Watson <cjwatson@ubuntu.com>
22946
22947 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22948 devices when iterating over /dev/disk/by-id; they will be handled
22949 later if appropriate, which they aren't always (e.g. LVM).
22950
e03ed6c1
CW
229512010-07-02 Colin Watson <cjwatson@ubuntu.com>
22952
22953 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22954 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22955 fails.
22956 (grub_halt): Likewise.
22957 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22958 reset-all fails.
22959 (grub_halt): Don't return, even if all of shut-down, power-off, and
22960 poweroff fail.
22961
47695765
CW
229622010-07-02 Colin Watson <cjwatson@ubuntu.com>
22963
22964 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22965 arguments, not three.
22966
507736c8
CW
229672010-07-02 Colin Watson <cjwatson@ubuntu.com>
22968
22969 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22970 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22971 LVM-on-RAID is handled correctly.
22972
e3c8cd37
CW
229732010-07-02 Colin Watson <cjwatson@ubuntu.com>
22974
22975 * docs/grub.texi (Changes from GRUB Legacy): New section.
22976 (Future): Fix typo.
22977
8d4a2fec
CW
229782010-07-02 Colin Watson <cjwatson@ubuntu.com>
22979
22980 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22981 grub.d/README accidentally ends up executable for one reason or
22982 another. Ignore it.
22983
1c4827be
VS
229842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22987 (gpt_partition_map_iterate): Support non-512B sectors.
22988
d9a0c941
VS
229892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22990
22991 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22992 Tested by: Seth Goldberg.
22993
48f27e87
VS
229942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22997 Properly align mbi.
22998 Reported by: Seth Goldberg.
22999
b0c4f956
VS
230002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 * util/grub-mkrescue.in: Avoid module duplication.
23003
105a2e8c
SF
230042010-07-01 Sean Finney <seanius@seanius.net>
23005
23006 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23007
5944958c
SF
230082010-07-01 Sean Finney <seanius@seanius.net>
23009
23010 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23011
230122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 * disk/lvm.c (grub_lvm_checkvalue): New function.
23015 (grub_lvm_check_flag): Likewise.
23016
b79889ba
RM
230172010-07-01 Robert Millan <rmh@gnu.org>
23018
23019 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23020 Support 'p' as partition separator on kernel of FreeBSD (used
23021 with GPT labels).
23022 (grub_util_biosdisk_get_grub_dev): Likewise.
23023
ec1d04f1
VS
230242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 Yeeloong firmware port.
23027
23028 * boot/mips/yeeloong/fwstart.S: New file.
23029 * bus/cs5536.c (gpiodump): New const.
23030 (set_io_space): New function.
23031 (set_iod): Likewise.
23032 (set_p2d): Likewise.
23033 (grub_cs5536_init_geode): Likewise.
23034 * commands/mips/yeeloong/lsspd.c: New file.
23035 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23036 (serial_mod_SOURCES): New variable.
23037 (serial_mod_CFLAGS): Likewise.
23038 (serial_mod_LDFLAGS): Likewise.
23039 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23040 term/terminfo.c and term/tparm.c.
23041 (pkglib_IMAGES): Add fwstart.img.
23042 (fwstart_img_SOURCES): New variable.
23043 (fwstart_img_CFLAGS): Likewise.
23044 (fwstart_img_ASFLAGS): Likewise.
23045 (fwstart_img_LDFLAGS): Likewise.
23046 (fwstart_img_FORMAT): Likewise.
23047 (pkglib_MODULES): Add lsspd.mod.
23048 (lsspd_mod_SOURCES): New variable.
23049 (lsspd_mod_CFLAGS): Likewise.
23050 (lsspd_mod_LDFLAGS): Likewise.
23051 (pkglib_MODULES): Add halt.mod.
23052 (halt_mod_SOURCES): New variable.
23053 (halt_mod_CFLAGS): Likewise.
23054 (halt_mod_LDFLAGS): Likewise.
23055 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23056 (serial_mod_SOURCES): Removed.
23057 (serial_mod_CFLAGS): Likewise.
23058 (serial_mod_LDFLAGS): Likewise.
23059 * disk/ata.c (check_device): New function.
23060 (grub_ata_device_initialize): Use check_device.
23061 (grub_ata_iterate): Recheck devices.
23062 (grub_ata_open): Likewise.
23063 (grub_atapi_iterate): Likewise.
23064 (grub_atapi_open): Likewise.
23065 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23066 (GRUB_ATA_CH1_PORT1): Likewise.
23067 (GRUB_ATA_CH0_PORT2): Likewise.
23068 (GRUB_ATA_CH1_PORT2): Likewise.
23069 * include/grub/mips/loongson.h: New file.
23070 * include/grub/mips/yeeloong/ec.h: Likewise.
23071 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23072 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23073 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23074 * include/grub/misc.h (grub_halt): Declare as noreturn.
23075 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23076 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23077 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23078 (UART_ENABLE_DTRRTS): Likewise.
23079 (UART_ENABLE_MODEM): Removed.
23080 (UART_ENABLE_OUT2): New const.
23081 * include/grub/term.h (grub_term_register_input_active): New function.
23082 (grub_term_register_output_active): Likewise.
23083 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23084 argument.
23085 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23086 (init_pci): New function.
23087 (grub_machine_init): Execute platform init when firmware. Init serial.
23088 (grub_halt): Implement.
23089 (grub_exit): Likewise.
23090 (grub_reboot): Likewise.
23091 * term/serial.c (serial_hw_init): Update macros.
23092 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23093 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23094 (image_targets): New target mipsel-yeeloong-flash.
23095 (generate_image): Support IMAGE_YEELOONG_FLASH.
23096 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23097 (grub_video_sm712_setup): Init card.
23098 (grub_video_sm712_set_palette): Removed.
23099 * video/sm712_init.c: New file.
23100
ff4a70d2
CW
231012010-06-30 Colin Watson <cjwatson@ubuntu.com>
23102
23103 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23104 PATH when running help2man and then run it on the unadorned
23105 executable names, rather than passing $(builddir)/* paths to
23106 help2man. This avoids the build directory ending up in generated
23107 manual pages.
23108
1246efeb
CW
231092010-06-29 Colin Watson <cjwatson@ubuntu.com>
23110
23111 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23112 to avoid accidents when debugging with 'sh -x'.
23113 * util/grub-mkrescue.in: Likewise.
23114 * util/grub.d/00_header.in: Likewise.
23115 * util/grub.d/10_hurd.in: Likewise.
23116 * util/grub.d/10_kfreebsd.in: Likewise.
23117 * util/grub.d/10_linux.in: Likewise.
23118 * util/grub.d/10_netbsd.in: Likewise.
23119 * util/grub.d/10_windows.in: Likewise.
23120 * util/grub.d/20_linux_xen.in: Likewise.
23121 * util/grub.d/30_os-prober.in: Likewise.
23122 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23123
1ba9b889
CW
231242010-06-29 Colin Watson <cjwatson@ubuntu.com>
23125
23126 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23127 last character in the buffer.
23128 Reported by: Vladimir Serbinenko.
23129
dccaf99d
RM
231302010-06-29 Robert Millan <rmh@gnu.org>
23131
23132 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23133 (Command-line and menu entry commands): Document `badram' command.
23134
d500ed12
RM
231352010-06-28 Robert Millan <rmh@gnu.org>
23136
23137 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23138 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23139 command using ${GRUB_BADRAM} as parameter.
23140
20bc84a6
CW
231412010-06-28 Colin Watson <cjwatson@ubuntu.com>
23142
23143 * docs/grub.texi (Device map): New section.
23144 (Themes): New section (stub).
23145 * Makefile.in (docs/grub.info): The info documentation now builds
23146 without errors. Make sure it stays that way.
23147
4045dee1
VS
231482010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23149
23150 Use normal parser for menu entries.
23151 Reported by: Thomas Frauendorfer
23152
23153 * include/grub/parser.h (grub_parser_execute): Don't export.
23154 * normal/menu.c (grub_menu_execute_entry_real): New function.
23155 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23156
bca58c7b
CW
231572010-06-28 Colin Watson <cjwatson@ubuntu.com>
23158
23159 * docs/grub.texi (Embedded configuration): New section (replacing
23160 old "Preset Menu" stub).
23161 (Images): New section.
23162 (configfile): Note that any menu entries defined in `file' are shown
23163 immediately.
23164
dec53e63
JT
231652010-06-28 Josh Triplett <josh@joshtriplett.org>
23166
23167 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23168
c06e40f7
CW
231692010-06-28 Colin Watson <cjwatson@ubuntu.com>
23170
23171 * util/grub-install.in: Add --debug-image= option.
23172
cb88052b
CW
231732010-06-28 Colin Watson <cjwatson@ubuntu.com>
23174
23175 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23176 possible on Linux.
23177
23178 * util/deviceiter.c (check_device): Rename to ...
23179 (check_device_readable_unique): ... this. Update all callers.
23180 Maintain and check a list of which devices (by canonicalized name)
23181 have already been seen.
23182 (clear_seen_devices): New function.
23183 (compare_file_names) [__linux__]: New function.
23184 (grub_util_iterate_devices): Clear the list of seen devices on exit
23185 and (just in case) on entry.
23186 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23187 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23188 seen-devices list, superseded by general code in check_device.
23189
bbe34652
CW
231902010-06-28 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * commands/cat.c (options): New variable.
23193 (grub_cmd_cat): Parse options. If the --dos option is given, print
23194 DOS-style "\r\n" line endings as simple newlines (Debian bug
23195 #586358).
23196 (GRUB_MOD_INIT): Use extcmd.
23197 (GRUB_MOD_FINI): Likewise.
23198 * docs/grub.texi (cat): Document --dos.
23199
412e09f3
VS
232002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23201
23202 XEN with Linux grub-mkconfig support.
23203
23204 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23205 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23206 GRUB_CMDLINE_XEN_DEFAULT.
23207 * util/grub.d/20_linux_xen.in: New file.
23208
53f3ef38 232092010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23210
23211 Initialise VGA video on qemu ourselves.
23212
23213 * boot/i386/qemu/boot.S: Don't call 0xc000.
23214 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23215 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23216 (kernel_img_HEADERS): Add pci.h.
23217 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23218 * configure.ac: Force unifont on qemu and yeeloong.
23219 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23220 (grub_vga_palette_write): Use correct register.
23221 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23222 Call grub_qemu_init_cirrus.
23223 * kern/i386/qemu/init.c: New file.
23224 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23225
23226 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23227
c75be4fb
PR
232282010-06-26 Pavel Roskin <proski@gnu.org>
23229
23230 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23231 13.
23232
d8034603
CW
232332010-06-26 Colin Watson <cjwatson@ubuntu.com>
23234
23235 * docs/grub.texi (Simple configuration): Explain that
23236 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23237 set to `true' to disable their respective recovery entries, not
23238 merely set.
23239
3fa06487
CW
232402010-06-26 Colin Watson <cjwatson@ubuntu.com>
23241
23242 Make the `source' command slightly faster.
23243
23244 * normal/main.c (grub_normal_execute): Don't re-read list files when
23245 nested.
23246
e9b29642
CW
232472010-06-23 Colin Watson <cjwatson@ubuntu.com>
23248
23249 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23250 field position and mask size to red fields from mode_info, not
23251 green.
23252 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23253 Remove redundant tag->common.framebuffer_type assignment.
23254 Reported by: Seth Goldberg.
23255
e726542f
CW
232562010-06-23 Colin Watson <cjwatson@ubuntu.com>
23257
23258 Sync up other versions of the Linux loader with Robert Millan's
23259 change of 2010-01-09, "Make loader output a bit more user-friendly".
23260
23261 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23262 grub_dprintf().
23263 (grub_cmd_linux): Likewise.
23264 (grub_cmd_initrd): Likewise.
23265 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23266 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23267
d6e98a17
CW
232682010-06-21 Colin Watson <cjwatson@ubuntu.com>
23269
23270 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23271 larger than MEMORY_MAP_SIZE.
23272
14d3f08e
BC
232732010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23274
23275 Fix parallel build.
23276
23277 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23278 dependency.
23279 * script/parser.y: #include grub_script.tab.h header.
23280
4f9613a3
VS
232812010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 Support >3GiB and <16MiB RAM in i386-qemu.
23284
23285 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23286 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23287 (grub_lower_mem): Removed.
23288 (grub_upper_mem): Likewise.
23289 (mem_size): Made static.
23290 (above_4g): New variable.
23291 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23292 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23293 support.
23294
05e51879
VS
232952010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23296
23297 Cirrus 5446 and Bochs video cards support.
23298
23299 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23300 video_bochs.mod
23301 (video_cirrus_mod_SOURCES): New variable.
23302 (video_cirrus_mod_CFLAGS): Likewise.
23303 (video_cirrus_mod_LDFLAGS): Likewise.
23304 (video_bochs_mod_SOURCES): Likewise.
23305 (video_bochs_mod_CFLAGS): Likewise.
23306 (video_bochs_mod_LDFLAGS): Likewise.
23307 * include/grub/vga.h: New file.
23308 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23309 (grub_video_fb_set_page_t): New type.
23310 (grub_video_fb_setup): New prototype.
23311 (grub_video_fb_swap_buffers): Likewise.
23312 (grub_video_fb_get_info_and_fini): Likewise.
23313 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23314 (CRTC_DATA_PORT): Likewise.
23315 (CRTC_CURSOR): Likewise.
23316 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23317 (CRTC_CURSOR_ADDR_LOW): Likewise.
23318 (CRTC_CURSOR_DISABLE): Likewise.
23319 (update_cursor): Use grub_vga_cr_write.
23320 (grub_vga_text_setcursor): Likewise.
23321 * video/bochs.c: New file.
23322 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23323 (palette): Likewise.
23324 (palette_size): Likewise.
23325 (framebuffer): New variable.
23326 (grub_video_fb_init): Use 'framebuffer'.
23327 (grub_video_fb_fini): Likewise.
23328 (grub_video_fb_get_info): Likewise.
23329 (grub_video_fb_get_palette): Likewise.
23330 (grub_video_fb_set_palette): Likewise.
23331 (grub_video_fb_set_viewport): Likewise.
23332 (grub_video_fb_get_viewport): Likewise.
23333 (grub_video_fb_map_color): Likewise.
23334 (grub_video_fb_map_rgb): Likewise.
23335 (grub_video_fb_map_rgba): Likewise.
23336 (grub_video_fb_unmap_color): Likewise.
23337 (grub_video_fb_unmap_color_int): Likewise.
23338 (grub_video_fb_fill_rect): Likewise.
23339 (grub_video_fb_blit_bitmap): Likewise.
23340 (grub_video_fb_blit_render_target): Likewise.
23341 (grub_video_fb_scroll): Likewise.
23342 (grub_video_fb_create_render_target): Likewise.
23343 (grub_video_fb_doublebuf_blit_init): Likewise.
23344 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23345 (doublebuf_pageflipping_update_screen): New function.
23346 (doublebuf_pageflipping_init): Likewise.
23347 (grub_video_fb_setup): Likewise.
23348 (grub_video_fb_swap_buffers): Likewise.
23349 (grub_video_fb_get_info_and_fini): Likewise.
23350 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23351 All users updated.
23352 (doublebuf_pageflipping_commit): Restructured into ...
23353 (doublebuf_pageflipping_set_page): ... this.
23354 (doublebuf_pageflipping_update_screen): Removed.
23355 (doublebuf_pageflipping_init): Likewise.
23356 (double_buffering_init): Likewise.
23357 (grub_video_vbe_setup): Use grub_video_fb_setup.
23358 (grub_video_vbe_swap_buffers): Removed.
23359 (grub_video_vbe_set_active_render_target): Likewise.
23360 (grub_video_vbe_get_active_render_target): Likewise.
23361 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23362 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23363 grub_video_fb_set_active_render_target and
23364 grub_video_fb_get_active_render_target.
23365 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23366 (SEQUENCER_DATA_PORT): Likewise.
23367 (MAP_MASK_REGISTER): Likewise.
23368 (CRTC_ADDR_PORT): Likewise.
23369 (CRTC_DATA_PORT): Likewise.
23370 (START_ADDR_HIGH_REGISTER): Likewise.
23371 (START_ADDR_LOW_REGISTER): Likewise.
23372 (GRAPHICS_ADDR_PORT): Likewise.
23373 (GRAPHICS_DATA_PORT): Likewise.
23374 (READ_MAP_REGISTER): Likewise.
23375 (INPUT_STATUS1_REGISTER): Likewise.
23376 (INPUT_STATUS1_VERTR_BIT): Likewise.
23377 (get_map_mask): Use grub_vga_sr_read.
23378 (set_map_mask): Use grub_vga_sr_write.
23379 (set_read_map): Use grub_vga_gr_write.
23380 (set_start_address): Use grub_vga_cr_write.
23381 * video/sm712.c (framebuffer): Remove leftover fields.
23382
4321c64a
CW
233832010-06-20 Colin Watson <cjwatson@ubuntu.com>
23384
23385 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23386 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23387 instead. Replace the gfxterm backend check with a check that
23388 ${GRUB_PREFIX}/video.lst is non-empty.
23389 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23390 again.
23391 (load_video): New generated function. Call it before loading
23392 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23393 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23394 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23395 * docs/grub.texi (Simple configuration): Document
23396 GRUB_VIDEO_BACKEND.
23397
233982010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 Use video functions in linux and xnu loaders.
23401
23402 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23403 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23404 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23405 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23406 loader/i386/pc/linux.c.
23407 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23408 (find_line_len): Removed.
23409 (find_framebuf): Likewise.
23410 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23411 * loader/i386/efi/xnu.c: Removed.
23412 * loader/i386/pc/xnu.c: Moved from here...
23413 * loader/i386/xnu.c: ...here.
23414
23415 Enable priorities in video drivers.
23416
23417 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23418 (grub_video_adapter): New field prio.
23419 (grub_video_register): Respect prio when inserting.
23420 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23421 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23422 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23423 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23424 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23425 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23426 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23427
23428 Fix SDL driver ID.
23429
23430 * include/grub/video.h (grub_video_driver_id_t): New value
23431 GRUB_VIDEO_DRIVER_SDL.
23432 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23433
7d24e434
CW
234342010-06-17 Colin Watson <cjwatson@ubuntu.com>
23435
23436 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23437 argument to printf.
23438 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23439
c88a83f6
CW
234402010-06-17 Colin Watson <cjwatson@ubuntu.com>
23441
23442 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23443 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23444
094dfb69
CW
234452010-06-17 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23448 directly, and recommend grub-install instead.
23449 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23450
2164da6b
CW
234512010-06-17 Colin Watson <cjwatson@ubuntu.com>
23452
23453 Fix i386-pc prefix handling with nested partitions (Debian bug
23454 #585068). Note that the case where the core image is booted using
23455 multiboot and relocated from its original location still requires
23456 more work.
23457
23458 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23459 with "(,", fill the boot drive in between those two characters, but
23460 expect that a full partition specification including partition map
23461 names will follow.
23462 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23463 specified, write a prefix without the drive name but including a
23464 full partition specification.
23465
044e2e60
CW
234662010-06-16 Colin Watson <cjwatson@ubuntu.com>
23467
23468 * util/grub-mkconfig.in: Ignore non-option arguments, for
23469 compatibility with older versions (before 2010-06-12) which did the
23470 same. In particular, this makes it easier to ship an update-grub
23471 wrapper which is compatible with that used with GRUB Legacy (Debian
23472 bug #586056).
23473
5591324f
GS
234742010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23475
23476 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23477 for manual page generation.
23478
662e24d5
GS
234792010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23480
23481 * po/POTFILES: Remove leftover commands/handler.c.
23482
8d70754e
CW
234832010-06-14 Colin Watson <cjwatson@ubuntu.com>
23484
23485 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23486 left this script non-functional.
23487
41160e2e
CW
234882010-06-14 Colin Watson <cjwatson@ubuntu.com>
23489
23490 * docs/man/grub-emu.h2m: New file.
23491
b5309cc1
CW
234922010-06-13 Colin Watson <cjwatson@ubuntu.com>
23493
23494 * docs/grub.texi (Commands): Document reduced command set in rescue
23495 mode.
23496 (cpuid): New section.
23497
fcb2d090
GS
234982010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23499
23500 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23501 new partition naming style.
23502 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23503
96e5c556
BC
235042010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23505
23506 Add "-o grub.iso" like cmdline options support.
23507
23508 * util/grub-install.in: Improve cmdline option parsing.
23509 * util/grub-mkconfig.in: Likewise.
23510 * util/grub-mkrescue.in: Likewise.
23511 * util/grub-reboot.in: Likewise.
23512 * util/grub-set-default.in: Likewise.
23513 * util/i386/efi/grub-install.in: Likewise.
23514 * util/ieee1275/grub-install.in: Likewise.
23515 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23516
c16be99b
CW
235172010-06-12 Colin Watson <cjwatson@ubuntu.com>
23518
23519 * .bzrignore: Ignore 41_custom.
23520
ce08a9fb
TS
235212010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23522
23523 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23524
7beac90c
CW
235252010-06-12 Colin Watson <cjwatson@ubuntu.com>
23526
23527 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23528 prototype declarations.
23529
23530 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23531 generating fs, partmap, and video lists.
23532 * include/grub/fs.h (grub_fs_register): Omit prototype if
23533 GRUB_LST_GENERATOR is defined.
23534 * include/grub/partition.h (grub_partition_map_register): Likewise.
23535 * include/grub/video.h (grub_video_register): Likewise.
23536
1c8f0f8d
JM
235372010-06-12 Javier Martín <lordhabbit@gmail.com>
23538
23539 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23540
a6085973
TS
235412010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23542
23543 * util/grub-mkrescue.in: Support --xorriso argument.
23544
25c56d29
VS
235452010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23548 Suggested by: Thomas Schmitt.
23549
e03e4b24
VS
235502010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23553 Suggested by: Thomas Schmitt.
23554
57711df6
VS
235552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23556
23557 custom.cfg support.
23558
23559 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23560 * util/grub.d/41_custom.in: New file.
23561
ee62c427
CW
235622010-06-12 Colin Watson <cjwatson@ubuntu.com>
23563
23564 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23565 been merged back into normal.
23566
283af07a
CW
235672010-06-11 Colin Watson <cjwatson@ubuntu.com>
23568
23569 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23570 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23571
56a0d956
CW
235722010-06-11 Colin Watson <cjwatson@ubuntu.com>
23573
23574 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23575 when generating manual pages.
23576 * docs/man/grub-bin2h.h2m: New file.
23577 * docs/man/grub-editenv.h2m: New file.
23578 * docs/man/grub-fstest.h2m: New file.
23579 * docs/man/grub-install.h2m: New file.
23580 * docs/man/grub-macho2img.h2m: New file.
23581 * docs/man/grub-mkconfig.h2m: New file.
23582 * docs/man/grub-mkdevicemap.h2m: New file.
23583 * docs/man/grub-mkfont.h2m: New file.
23584 * docs/man/grub-mkimage.h2m: New file.
23585 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23586 * docs/man/grub-mkrelpath.h2m: New file.
23587 * docs/man/grub-mkrescue.h2m: New file.
23588 * docs/man/grub-ofpathname.h2m: New file.
23589 * docs/man/grub-pe2elf.h2m: New file.
23590 * docs/man/grub-probe.h2m: New file.
23591 * docs/man/grub-reboot.h2m: New file.
23592 * docs/man/grub-script-check.h2m: New file.
23593 * docs/man/grub-set-default.h2m: New file.
23594 * docs/man/grub-setup.h2m: New file.
23595
3a37e322
VS
235962010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23597
23598 Use FOR_* macros instead of *_iterate whenever possible.
23599
23600 * commands/handler.c: Removed.
23601 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23602 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23603 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23604 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23605 (grub_probe_SOURCES): Remove kern/parser.c.
23606 (util/grub-script-check.c_DEPENDENCIES): Removed.
23607 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23608 and grub_script_check_init.c.
23609 (grub_script_check_init.lst): Removed.
23610 (grub_script_check_init.h): Likewise.
23611 (grub_script_check_init.c): Likewise.
23612 (pkglib_MODULES): Remove handler.mod and sh.mod.
23613 (handler_mod_SOURCES): Removed.
23614 (handler_mod_CFLAGS): Likewise.
23615 (handler_mod_LDFLAGS): Likewise.
23616 (normal_mod_SOURCES): Remove normal/handler.c.
23617 Add script/main.c, script/script.c, script/execute.c,
23618 script/function.c, script/lexer.c, grub_script.tab.c
23619 and grub_script.yy.c.
23620 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23621 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23622 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23623 (grub_setup_SOURCES): Remove kern/parser.c.
23624 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23625 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23626 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23627 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23628 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23629 (grub_setup_SOURCES): Remove kern/parser.c.
23630 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23631 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23632 * include/grub/command.h (grub_command_iterate): Removed.
23633 (FOR_COMMANDS): New macro.
23634 * include/grub/dl.h (grub_dl): New member next.
23635 (grub_dl_iterate): Removed.
23636 (grub_dl_head): New variable declaration.
23637 (FOR_DL_MODULES): New macro.
23638 * include/grub/fs.h: Include list.h.
23639 (grub_fs): Make next first element.
23640 (grub_fs_list): New variable declaration.
23641 (grub_fs_register): Make inline.
23642 (grub_fs_unregister): Likewise.
23643 (grub_fs_iterate): Removed.
23644 (FOR_FILESYSTEMS): New macro.
23645 * include/grub/handler.h: Removed.
23646 * include/grub/list.h (grub_list_hook_t): Removed.
23647 (grub_list_test_t): Likewise.
23648 (grub_list_pop): Likewise.
23649 (grub_list_iterate): Likewise.
23650 (grub_list_insert): Likewise.
23651 (FOR_LIST_ELEMENTS): New macro.
23652 * include/grub/parser.h (grub_parser_class): Removed.
23653 (grub_parser_register): Likewise.
23654 (grub_parser_unregister): Likewise.
23655 (grub_parser_get_current): Likewise.
23656 (grub_parser_set_current): Likewise.
23657 (grub_register_rescue_parser): Likewise.
23658 (grub_rescue_parse_line): New function.
23659 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23660 * include/grub/script_sh.h (grub_script_function_list): New variable
23661 declaration.
23662 (FOR_SCRIPT_FUNCTIONS): New macro.
23663 (grub_script_function_iterate): Removed.
23664 (grub_normal_parse_line): New prototype.
23665 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23666 (FOR_DISABLED_TERM_INPUTS): Likewise.
23667 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23668 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23669 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23670 element.
23671 (grub_video_register): Inline.
23672 (grub_video_unregister): Likewise.
23673 (grub_video_adapter_list): New variable declaration.
23674 (grub_video_iterate): Removed.
23675 (FOR_VIDEO_ADAPTERS): New macro.
23676 * kern/dl.c (grub_dl_list): Removed. All users updated.
23677 (grub_dl_iterate): Removed.
23678 * kern/fs.c (grub_fs_list): Make global.
23679 (grub_fs_register): Removed.
23680 (grub_fs_unregister): Likewise.
23681 (grub_fs_iterate): Likewise.
23682 * kern/handler.c: Removed.
23683 * kern/list.c (grub_list_pop): Removed.
23684 (grub_list_iterate): Likewise.
23685 (grub_list_insert): Likewise.
23686 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23687 (grub_prio_list_insert): Don't use grub_list_insert.
23688 * kern/main.c (grub_register_rescue_parser): Don't call
23689 grub_register_rescue_parser.
23690 * kern/parser.c (grub_parser_class): Removed.
23691 (grub_parser_execute): Use grub_rescue_parse_line.
23692 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23693 (grub_rescue_parser): Removed.
23694 (grub_register_rescue_parser): Likewise.
23695 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23696 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23697 (grub_auth_check_authentication): Likewise.
23698 * normal/completion.c (iterate_command): Removed.
23699 (grub_normal_do_completion): Use FOR_COMMANDS.
23700 * normal/handler.c: Removed.
23701 * normal/main.c (read_config_file): Remove parser changing.
23702 (grub_normal_execute): Don't call read_handler_list.
23703 (grub_normal_read_line_real): Statically allocate prompt.
23704 (grub_cmdline_run): Use grub_normal_parse_line.
23705 (GRUB_MOD_FINI): Don't call free_handler_list.
23706 * normal/menu_entry.c (run): Likewise.
23707 * script/function.c (grub_script_function_list): Make global.
23708 (grub_script_function_iterate): Removed.
23709 * script/main.c (grub_normal_parse_line): Make global.
23710 (grub_sh_parser): Removed.
23711 (GRUB_MOD_INIT): Likewise.
23712 (GRUB_MOD_FINI): Likewise.
23713 * tests/lib/functional_test.c (grub_functional_test): Use
23714 FOR_LIST_ELEMENTS.
23715 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23716 (grub_test_run): Use FOR_LIST_ELEMENTS.
23717 * tests/lib/unit_test.c (main): Likewise.
23718 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23719 grub_list_pop.
23720 * util/grub-fstest.c (grub_term_input_class): Removed.
23721 (grub_term_output_class): Likewise.
23722 * util/grub-probe.c: Likewise.
23723 * util/i386/pc/grub-setup.c: Likewise.
23724 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23725 * util/grub-script-check.c (main): Don't call grub_init_all and
23726 grub_fini_all.
23727 * video/video.c (grub_video_adapter_list): Make global.
23728 (grub_video_register): Removed.
23729 (grub_video_unregister): Likewise.
23730 (grub_video_iterate): Likewise.
23731
6289c3a7
VS
237322010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23733
23734 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23735 reported by Henrique Ferreiro.
23736
91460247
RM
237372010-06-09 Robert Millan <rmh@gnu.org>
23738
23739 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23740 ones, when both are available.
23741
0ea7c4f9
GS
237422010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23743
23744 Make --version uniform and avoid hard-coded program name.
23745
23746 * util/grub-mkimage.c (main): Use `program_name' instead of
23747 hard-coded string.
23748 * util/i386/pc/grub-setup.c (main): Likewise.
23749 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23750 * util/grub-install.in: Save the basename of $0 in $self, and use the
23751 latter in informational messages. Use the same format for --version
23752 as the binary programs.
23753 * util/grub-mkconfig.in: Likewise.
23754 * util/grub-mkrescue.in: Likewise.
23755 * util/grub-reboot.in: Likewise.
23756 * util/grub-set-default.in: Likewise.
23757 * util/i386/efi/grub-install.in: Likewise.
23758 * util/ieee1275/grub-install.in: Likewise.
23759 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23760
e8a6f3b6
GS
237612010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23762
23763 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23764 embedding area. Use <= instead of == when checking for non-emptiness.
23765
f4d095d7
GS
237662010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23767
23768 * configure.ac: Add `.' to the directories searched for unifont.
23769
50e532ca
CW
237702010-06-08 Colin Watson <cjwatson@ubuntu.com>
23771
23772 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23773 grub_script.yy.h.
23774
d39f3dec
CW
237752010-06-08 Colin Watson <cjwatson@ubuntu.com>
23776
23777 * docs/grub.texi (History): Expand to cover GRUB 2.
23778 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23779 commands, not `terminal'.
23780 (serial): Likewise.
23781 (terminal_input): New section.
23782 (terminal_output): New section.
23783 (uppermem): New section (stub).
23784 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23785
6ef0ddb4
CW
237862010-06-08 Colin Watson <cjwatson@ubuntu.com>
23787
23788 * docs/grub.texi (Security): Menu entries are unrestricted by
23789 default, not restricted to superusers as I had previously thought.
23790 Reword to account for this.
23791
e0f4c438
CW
237922010-06-07 Colin Watson <cjwatson@ubuntu.com>
23793
23794 * kern/emu/misc.c (device_mapper_null_log): New function.
23795 (grub_device_mapper_supported): New function.
23796 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23797 prototype.
23798 * kern/emu/hostdisk.c (find_partition_start): Check whether
23799 device-mapper is supported before trying to use it.
23800 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23801
da908200
CW
238022010-06-07 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23805 (File name syntax): Likewise.
23806 (help): --all is no longer supported in GRUB 2. Be more precise
23807 about pattern matching.
23808
fb55c3ac
CW
238092010-06-07 Colin Watson <cjwatson@ubuntu.com>
23810
23811 * normal/completion.c (grub_normal_do_completion): When completing
23812 arguments to "set" and the current word contains an equals sign,
23813 skip to after the equals sign before starting completion.
23814
258c2573
CW
238152010-06-07 Colin Watson <cjwatson@ubuntu.com>
23816
23817 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23818
ee75515e
CW
238192010-06-07 Colin Watson <cjwatson@ubuntu.com>
23820
23821 * docs/grub.texi (Network): New section.
23822 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23823 `(nd)' as in GRUB Legacy.
23824 (pxe_unload): New section.
23825
a6a700aa
CW
238262010-06-07 Colin Watson <cjwatson@ubuntu.com>
23827
23828 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23829 in the rescue shell, so recommend using `set' instead. Thanks,
23830 Jordan Uggla.
23831
4003dd38
CW
238322010-06-07 Colin Watson <cjwatson@ubuntu.com>
23833
23834 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23835 (password): New section.
23836 (password_pbkdf2): New section.
23837 (search): New section.
23838 (Security): New section.
23839 (Troubleshooting): New section, currently very incomplete.
23840 (Invoking grub-mkpasswd-pbkdf2): New section.
23841 (Internals): New section, currently very incomplete.
23842
e1cbcc40
CW
238432010-06-07 Colin Watson <cjwatson@ubuntu.com>
23844
23845 * util/grub.d/00_header.in: Add some more quoting (of
23846 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23847 work again.
23848 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23849
db8fa1ad
CW
238502010-06-07 Colin Watson <cjwatson@ubuntu.com>
23851
23852 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23853 to `count', fixing variable shadowing that broke the -c option.
23854
238552010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23856
23857 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23858 in case they contain spaces.
23859
f28a9212
CW
238602010-06-04 Colin Watson <cjwatson@ubuntu.com>
23861
23862 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23863 "part_" to partmap module names, in line with grub-install.
23864 Reported by: Jindřich Makovička (Debian bug #584426).
23865
9cdfe32f
CW
238662010-06-04 Colin Watson <cjwatson@ubuntu.com>
23867
23868 * util/grub-mkimage.c: Make target-related error messages slightly
23869 more helpful; -O talks about "format". Explicitly point to the use
23870 of -O if no target is specified.
23871 Reported by: Didier Raboud (Debian bug #584415).
23872
795b593a
CW
238732010-06-03 Colin Watson <cjwatson@ubuntu.com>
23874
23875 * INSTALL: Document several build requirements for optional features
23876 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23877
9d9b5833
GS
238782010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23879
23880 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23881 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23882 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23883
0819fec8
CW
238842010-06-02 Colin Watson <cjwatson@ubuntu.com>
23885
23886 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23887 Thanks to Jordan Uggla for spotting this.
23888
49396b4f
VS
238892010-06-02 Aleš Nesrsta <starous@volny.cz>
23890
23891 Finally make USB usable.
23892
23893 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23894 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23895 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23896 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23897 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23898 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23899 (GRUB_OHCI_FSMPS): Likewise.
23900 (GRUB_OHCI_PERIODIC_START): Likewise.
23901 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23902 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23903 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23904 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23905 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23906 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23907 (grub_ohci_transaction): Likewise.
23908 (grub_ohci_transfer): Improve condition detection algorithms.
23909 Handle toggle property. Program the transactions correctly.
23910 Improve error handling. Various important fixups.
23911 (grub_ohci_portstatus): Put register writes in right order.
23912 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23913 (grub_uhci_transfer): Don't show "failed" message on success.
23914 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23915 array.
23916 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23917 determine its size.
23918 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23919 before initialization is completed. Use IN direction for empty
23920 transfers. Use last_trans and compute toggle.
23921 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23922 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23923 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23924 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23925 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23926 (grub_usb_device): Increase toggle to 256.
23927 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23928 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23929 GRUB_USBMS_SUBCLASS_SFF8070.
23930 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23931 (grub_scsi_inquiry): New member page and alloc_length.
23932 (grub_scsi_request_sense): New structure.
23933 (grub_scsi_request_sense_data): Likewise.
23934 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23935 control.
23936 * disk/scsi.c (grub_scsi_request_sense): New function.
23937 (grub_scsi_test_unit_ready): Likewise.
23938 (grub_scsi_inquiry): Fill new fields.
23939 (grub_scsi_read_capacity): Likewise.
23940 (grub_scsi_read10): Add request sense at the end.
23941 (grub_scsi_read12): Likewise.
23942 (grub_scsi_write10): Likewise.
23943 (grub_scsi_write12): Likewise.
23944 (grub_scsi_open): Add Test Unit Ready.
23945 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23946 Support additional subclasses. Con't clear halt yet. Activate the
23947 proper config. Calculate LUNs correctly.
23948 (grub_usbms_transfer): Various important fixups.
23949
239502010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23953 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23954 (grub_ohci_fini_hw): New function.
23955 (grub_ohci_restore_hw): Likewise.
23956 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23957 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23958 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23959
239602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23961
23962 Dedicated DMA allocations.
23963
23964 * bus/pci.c (grub_memalign_dma32): New function
23965 (grub_dma_free): Likewise.
23966 (grub_dma_get_virt): Likewise.
23967 (grub_dma_get_phys): Likewise.
23968 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23969 (grub_ohci_pci_iter): Use dma32_alloc.
23970 (grub_ohci_transfer): Likewise.
23971 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23972 (grub_usb_bulk_readwrite): Likewise.
23973 * include/grub/pci.h: Add declarations.
23974
239752010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23976
23977 CS5536 support.
23978
23979 * bus/cs5536.c: New file.
23980 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23981 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23982 (cs5536_mod_SOURCES): New variable.
23983 (cs5536_mod_CFLAGS): Likewise.
23984 (cs5536_mod_LDFLAGS): Likewise.
23985 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23986 machine/pci.h.
23987 (kernel_img_SOURCES): Add bus/cs5536.c.
23988 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23989 usb_keyboard.mod.
23990 (usb_mod_SOURCES): New variable.
23991 (usb_mod_CFLAGS): New variable.
23992 (usb_mod_LDFLAGS): New variable.
23993 (usbtest_mod_SOURCES): New variable.
23994 (usbtest_mod_CFLAGS): New variable.
23995 (usbtest_mod_LDFLAGS): New variable.
23996 (ohci_mod_SOURCES): New variable.
23997 (ohci_mod_CFLAGS): New variable.
23998 (ohci_mod_LDFLAGS): New variable.
23999 (usbms_mod_SOURCES): New variable.
24000 (usbms_mod_CFLAGS): New variable.
24001 (usbms_mod_LDFLAGS): New variable.
24002 (usb_keyboard_mod_SOURCES): New variable.
24003 (usb_keyboard_mod_CFLAGS): New variable.
24004 (usb_keyboard_mod_LDFLAGS): New variable.
24005 * include/grub/smbus.h: New file.
24006 * include/grub/cs5536.h: New file.
24007
0b35b2a9
CW
240082010-06-02 Colin Watson <cjwatson@ubuntu.com>
24009
24010 * util/grub.d/00_header.in: Add safety check to make sure that
24011 ${locale_dir} exists before trying to probe it.
24012
ca0afd5b
CW
240132010-06-02 Colin Watson <cjwatson@ubuntu.com>
24014
24015 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24016 per the GNU Coding Standards; this is now too obscure to be worth
24017 documenting.
24018 (QNX): Likewise.
24019 (chainloader): Remove cross-reference to `SCO UnixWare'.
24020
1c41aa78
CW
240212010-06-02 Colin Watson <cjwatson@ubuntu.com>
24022
24023 * docs/grub.texi (Chain-loading): New section.
24024 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24025 adjusted for GRUB 2.
24026 (SCO UnixWare): Likewise.
24027 (QNX): Likewise.
24028 (chainloader): Add reference to `Block list syntax'.
24029 (drivemap): New section.
24030 (parttool): New section.
24031
bb8ea0f5
CW
240322010-06-02 Colin Watson <cjwatson@ubuntu.com>
24033
24034 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24035 the grub shell'.
24036 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24037 (Installing GRUB using grub-install): Remove reference to the grub
24038 shell; mention `grub-mkimage' and `grub-setup' instead.
24039 (Invoking grub-install): Likewise.
24040 (Interface): Add reference to `Menu entry editor'.
24041 (serial): Remove `--device' option.
24042
288dd6ed
CW
240432010-06-02 Colin Watson <cjwatson@ubuntu.com>
24044
24045 * docs/grub.texi (Configuration): New section, documenting
24046 configuration file generation using grub-mkconfig. I've left a slot
24047 for documenting the full shell scripting format but have not yet
24048 started on writing that up.
24049 (Invoking grub-mkconfig): New section.
24050
34c9f0e9
CW
240512010-06-02 Colin Watson <cjwatson@ubuntu.com>
24052
24053 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24054 (GNU GRUB manual): Likewise.
24055 (General commands): Update description of `terminfo' for GRUB 2.
24056
9121567e
CW
240572010-06-02 Colin Watson <cjwatson@ubuntu.com>
24058
24059 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24060 (GRUB_MOD_INIT): Fix capitalisation.
24061 * docs/grub.texi (Command-line and menu entry commands): Document
24062 gettext and gptsync commands.
24063
ab631611
CW
240642010-06-02 Colin Watson <cjwatson@ubuntu.com>
24065
24066 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24067 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24068
bde4a9ac
CW
240692010-06-01 Colin Watson <cjwatson@ubuntu.com>
24070
24071 Add btrfs probing support, currently only in the single-device case.
24072
24073 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24074 function.
24075 (grub_guess_root_device): Call find_root_device_from_mountinfo
24076 before looking in /dev.
24077
b1d17e10
VS
240782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24081 GRUB_DISK_SIZE_UNKNOWN.
24082 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24083
dfbfe004
JS
240842010-05-31 Jiro SEKIBA <jir@unicus.jp>
24085
24086 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24087 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24088 corrupted or not synced properly.
24089
c2ffc8e9
VS
240902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24091
24092 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24093 Reported by: Seth Goldberg.
24094
56293166
VS
240952010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24098 addition of dest.
24099 Reported by: Seth Goldberg.
24100
7620e7de
VS
241012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24104 Reported by: Seth Goldberg.
24105
c837af3f
VS
241062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24107
24108 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24109 64-bit address as signed on MIPS.
24110
c7c75cf4
CW
241112010-05-28 Colin Watson <cjwatson@ubuntu.com>
24112
24113 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24114 to the empty string.
24115
fa4b8490
BC
241162010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24117
24118 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24119
24120 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24121 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24122 * kern/misc.c (__enable_execute_stack): Disable on
24123 GRUB_MACHINE_EMU.
24124
a33075b9
CW
241252010-05-28 Colin Watson <cjwatson@ubuntu.com>
24126
24127 Make grub-probe work with symbolic links under /dev/mapper as well
24128 as with real block devices. The Linux world seems to be (at best)
24129 in transition here, and GRUB shouldn't get caught in the middle.
24130
24131 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24132 /dev/mapper.
24133
d8708134
CW
241342010-05-27 Colin Watson <cjwatson@ubuntu.com>
24135
24136 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24137 input files (in which case exit zero).
24138
db2102a0
CW
241392010-05-27 Colin Watson <cjwatson@ubuntu.com>
24140
24141 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24142 return NULL for various reasons even if it has a maximum-length
24143 buffer: for example, there might be a symlink loop, or the path
24144 might exceed PATH_MAX. If this happens, return NULL.
24145
5fdba519
RM
241462010-05-27 Robert Millan <rmh@gnu.org>
24147
24148 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24149 partmap module to handle cross-partmap setups.
24150 Reported by Orestes Mas. Gràcies!
24151
d1d368e4
CW
241522010-05-27 Colin Watson <cjwatson@ubuntu.com>
24153
24154 * util/grub-mkrescue.in: Initialise override_dir rather than
24155 assuming that it's unset or empty in the environment.
24156
95ac3c73
GS
241572010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24158
24159 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24160 variable index into p_index to suppress a warning with -Wshadow.
24161
7d8c0213
BC
241622010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24163
24164 * INSTALL: Added flex >= 2.5.35 requirement.
24165
db4d5813
VS
241662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24169
f24f4300
VS
241702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 cmostest support.
24173
24174 * commands/i386/cmostest.c: New file.
24175 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24176 (cmostest_mod_SOURCES): New variable.
24177 (cmostest_mod_CFLAGS): Likewise.
24178 (cmostest_mod_LDFLAGS): Likewise.
24179 * conf/i386-pc.rmk: Likewise.
24180 * docs/grub.texi (Vendor power-on keys): New section.
24181 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24182 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24183 and GRUB_BUTTON_CMOS_ADDRESS.
24184 * util/grub.d/00_header.in: Handle powering-on by separate button.
24185
ad603f61
VS
241862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24189 Removed drawing_scrollbar argument. All users updated
24190 Fixes #29792.
24191 Reported by Jo Shields
24192
3ecb080a
VS
241932010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24194
24195 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24196 buffer since gfxterm handles double repaint.
24197
5f2316c1
VS
241982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24199
24200 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24201 * term/gfxterm.c (real_scroll): Likewise.
24202
9a25f885
VS
242032010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24206 before calling BIOS.
24207
39fbb79a
VS
242082010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 * include/grub/i18n.h: Always enable grub_gettext.
24211
228cfa97
VS
242122010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24213
24214 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24215 partition naming style.
24216
21717c8f
CW
242172010-05-21 Colin Watson <cjwatson@ubuntu.com>
24218
24219 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24220 not the first option.
24221
c0f48e65
CW
242222010-05-20 Colin Watson <cjwatson@ubuntu.com>
24223
24224 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24225
96779aec
CW
242262010-05-20 Colin Watson <cjwatson@ubuntu.com>
24227
24228 * util/misc.c: Move inclusion of <limits.h> to ...
24229 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24230
fa9d256e
GS
242312010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24232
24233 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24234 Fix merge error in NetBSD code.
24235 (find_partition_start) [__NetBSD__]: Likewise.
24236
123b7a85
BC
242372010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24238
24239 Fix grub-mkrescue usage unit testing.
24240
24241 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24242
74276c0d
CF
242432010-05-18 Christian Franke <franke@computer.org>
24244
24245 * util/grub.d/10_windows.in: Use path names instead of
24246 drive letters to prevent warning from Cygwin 1.7.
24247 Add drivemap command to menuentry if needed.
24248
c4f7b523
ST
242492010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24250
24251 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24252 gnumach and gnumach.gz.
24253
95b97950
VS
242542010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 * include/grub/i18n.h (gettext): Inline instead of using #define.
24257 (grub_gettext): Likewise.
24258 (_): Likewise.
24259
01b8d2d7
VS
242602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24263 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24264 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24265 (main): Add a slash after pkglibdirroot.
24266
654e1d1e
VS
242672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 * util/grub-install.in: Add missing "in" keyword.
24270
26966aeb
VS
242712010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24272
24273 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24274 Reported by: Seth Goldberg.
24275
75006747
VS
242762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24279
74cbf5bd
CW
242802010-05-18 Colin Watson <cjwatson@ubuntu.com>
24281
24282 * configure.ac: Check for Linux device-mapper support.
24283
24284 * util/hostdisk.c (device_is_mapped): New function.
24285 (find_partition_start): New function, partly broken out from
24286 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24287 device-mapper support added.
24288 (linux_find_partition): Use find_partition_start.
24289 (convert_system_partition_to_system_disk): Add `st' argument.
24290 Support Linux /dev/mapper/* devices if device-mapper support is
24291 available; only DM-RAID devices are understood at present.
24292 (find_system_device): Add `st' argument. Pass it to
24293 convert_system_partition_to_system_disk.
24294 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24295 find_system_device and convert_system_partition_to_system_disk. Use
24296 find_partition_start.
24297
24298 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24299 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24300 * util/deviceiter.c [__linux__]: Define MINOR.
24301 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24302 * util/mkdevicemap.c (grub_putchar): New function.
24303 (grub_getkey): New function.
24304 (grub_refresh): New function.
24305 (main): Set debug=all if -v -v is used.
24306
355b51e9
CW
243072010-05-18 Colin Watson <cjwatson@ubuntu.com>
24308
24309 Fix build with non-GNU libcs.
24310
24311 * util/misc.c (canonicalize_file_name): Move to ...
24312 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24313 grub_make_system_path_relative_to_its_root.
24314
7fb5c25f
CW
243152010-05-18 Colin Watson <cjwatson@ubuntu.com>
24316
24317 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24318 we handle finding grub-mkimage. Default to finding grub-mkimage in
24319 ${bindir} with program_transform_name applied, and provide a
24320 --grub-mkimage option to override this.
24321
1d3293d6
VS
243222010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 Remove grub-mkisofs.
24325
24326 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24327 (grub_mkisofs_SOURCES): Removed.
24328 (grub_mkisofs_CFLAGS): Removed.
24329 * util/mkisofs/defaults.h: Removed.
24330 * util/mkisofs/eltorito.c: Likewise.
24331 * util/mkisofs/exclude.h: Likewise.
24332 * util/mkisofs/hash.c: Likewise.
24333 * util/mkisofs/include/: Likewise.
24334 * util/mkisofs/include/fctldefs.h: Likewise.
24335 * util/mkisofs/include/mconfig.h: Likewise.
24336 * util/mkisofs/include/prototyp.h: Likewise.
24337 * util/mkisofs/include/statdefs.h: Likewise.
24338 * util/mkisofs/iso9660.h: Likewise.
24339 * util/mkisofs/joliet.c: Likewise.
24340 * util/mkisofs/match.c: Likewise.
24341 * util/mkisofs/match.h: Likewise.
24342 * util/mkisofs/mkisofs.c: Likewise.
24343 * util/mkisofs/mkisofs.h: Likewise.
24344 * util/mkisofs/msdos_partition.h: Likewise.
24345 * util/mkisofs/multi.c: Likewise.
24346 * util/mkisofs/name.c: Likewise.
24347 * util/mkisofs/rock.c: Likewise.
24348 * util/mkisofs/tree.c: Likewise.
24349 * util/mkisofs/write.c: Likewise.
24350
5dde9afe
VS
243512010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 Unify grub-mkimage accross platforms.
24354
24355 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24356 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24357 (grub_mkelfimage_SOURCES): Removed.
24358 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24359 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24360 (bin_UTILITIES): Add grub-mkimage.
24361 (grub_mkimage_SOURCES): New variable.
24362 (kernel_img_HEADERS): Remove machine/kernel.h.
24363 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24364 (pkglib_PROGRAMS): Add kernel.img.
24365 (kernel_img_HEADERS): Add machine/kernel.h.
24366 (kernel_img_FORMAT): Removed.
24367 (bin_UTILITIES): Remove grub-mkimage.
24368 (grub_mkimage_SOURCES): Removed.
24369 (grub_mkimage_CFLAGS): Likewise.
24370 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24371 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24372 (pkglib_PROGRAMS): Add kernel.img.
24373 (bin_UTILITIES): Remove grub-mkimage.
24374 (grub_mkimage_SOURCES): Removed.
24375 (grub_mkimage_CFLAGS): Likewise.
24376 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24377 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24378 (pkglib_PROGRAMS): Add kernel.img.
24379 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24380 (pkglib_PROGRAMS): Add kernel.img.
24381 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24382 (grub_mkimage_SOURCES): Removed.
24383 (grub_mkimage_CFLAGS): Likewise.
24384 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24385 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24386 (pkglib_PROGRAMS): Add kernel.img.
24387 (bin_UTILITIES): Remove grub-mkimage.
24388 (grub_mkimage_SOURCES): Removed.
24389 (grub_mkimage_CFLAGS): Likewise.
24390 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24391 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24392 (grub_mkimage_SOURCES): Removed.
24393 (grub_mkimage_CFLAGS): Likewise.
24394 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24395 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24396 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24397 (grub_pe32_optional_header): ... this.
24398 (grub_pe64_optional_header): ... and this. All users updated.
24399 (GRUB_PE32_PE32_MAGIC): Split into ..
24400 (GRUB_PE32_PE32_MAGIC): .. this.
24401 (GRUB_PE32_PE64_MAGIC): .. and this.
24402 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24403 * include/grub/elf.h (PT_GNU_STACK): New definition.
24404 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24405 * include/grub/i386/efi/kernel.h: Likewise.
24406 * include/grub/i386/kernel.h: Likewise.
24407 * include/grub/i386/pc/kernel.h: Likewise.
24408 * include/grub/i386/qemu/boot.h: Likewise.
24409 * include/grub/mips/kernel.h: Likewise.
24410 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24411 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24412 * include/grub/powerpc/kernel.h: Likewise.
24413 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24414 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24415 * include/grub/sparc64/kernel.h: Likewise.
24416 * include/grub/x86_64/efi/kernel.h: Likewise.
24417 * include/grub/x86_64/kernel.h: Likewise.
24418 * include/grub/offsets.h: New file.
24419 * include/grub/kernel.h (grub_module_info): Split into ...
24420 (grub_module_info32): ... this.
24421 (grub_module_info64): ... and this.
24422 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24423 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24424 (grub_boot_blocklist): Moved from here ...
24425 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24426 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24427 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24428 * include/grub/types.h (grub_target_to_host16): Removed.
24429 (grub_target_to_host32): Likewise.
24430 (grub_target_to_host64): Likewise.
24431 (grub_host_to_target16): Likewise.
24432 (grub_host_to_target32): Likewise.
24433 (grub_host_to_target64): Likewise.
24434 (grub_host_to_target_addr): Likewise.
24435
24436 Support grub-mkrescue for efi, coreboot and qemu.
24437
24438 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24439 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24440 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24441 * util/grub-mkrawimage.c: Moved from here ...
24442 * util/grub-mkimage.c: ... here. All users updated.
24443 (ALIGN_ADDR): Use image_target.
24444 (TARGET_NO_FIELD): New const.
24445 (image_target_desc): New type.
24446 (image_targets): New array.
24447 (grub_target_to_host64): Use image_target.
24448 (grub_target_to_host32): Likewise.
24449 (grub_target_to_host16): Likewise.
24450 (grub_host_to_target64): Likewise.
24451 (grub_host_to_target32): Likewise.
24452 (grub_host_to_target16): Likewise.
24453 (grub_host_to_target_addr): Likewise.
24454 (generate_image): Handle multiimage.
24455 (main): Require -O parameter. All users updated.
24456 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24457 util/efi/grub-mkimage.c
24458 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24459 New option --rom-directory.
24460 Use xorriso.
24461 * util/i386/efi/grub-mkimage.c: Removed.
24462 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24463 (grub_target_to_host32): Likewise.
24464 (grub_target_to_host64): Likewise.
24465 (grub_host_to_target16): Likewise.
24466 (grub_host_to_target32): Likewise.
24467 (grub_host_to_target64): Likewise.
24468 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24469 (grub_target_to_host32): Likewise.
24470 (grub_target_to_host64): Likewise.
24471 (grub_host_to_target16): Likewise.
24472 (grub_host_to_target32): Likewise.
24473 (grub_host_to_target64): Likewise.
24474
f4fc97d0
BC
244752010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24476
24477 Source tree is reorganized for emu build.
24478
24479 * include/grub/util/console.h: Move from here...
24480 * include/grub/emu/console.h: ...to here.
24481 * include/grub/util/getroot.h: Move from here...
24482 * include/grub/emu/getroot.h: ...to here.
24483 * include/grub/util/hostdisk.h: Move from here...
24484 * include/grub/emu/hostdisk.h: ...to here.
24485 * util/console.c: Move from here...
24486 * kern/emu/console.c: ...to here.
24487 * util/getroot.c: Move from here...
24488 * kern/emu/getroot.c: ...to here.
24489 * util/grub-emu.c: Move from here...
24490 * kern/emu/main.c: ...to here.
24491 * util/hostdisk.c: Move from here...
24492 * kern/emu/hostdisk.c: ...to here.
24493 * util/hostfs.c: Move from here...
24494 * kern/emu/hostfs.c: ...to here.
24495 * util/mm.c: Move from here...
24496 * kern/emu/mm.c: ...to here.
24497 * util/pci.c: Move from here...
24498 * bus/emu/pci.c: ...to here.
24499 * util/sdl.c: Move from here...
24500 * video/emu/sdl.c: ...to here.
24501 * util/time.c: Move from here...
24502 * kern/emu/time.c: ...to here.
24503 * util/usb.c: Move from here...
24504 * bus/usb/emu/usb.c: ...to here.
24505
24506 * include/grub/emu/misc.h: New header for grub-emu functions.
24507 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24508
24509 * conf/any-emu.rmk: Rule updates for above renames.
24510 * conf/common.rmk: Likewise.
24511 * conf/i386-pc.rmk: Likewise.
24512 * conf/i386-qemu.rmk: Likewise.
24513 * conf/mips.rmk: Likewise.
24514 * conf/sparc64-ieee1275.rmk: Likewise.
24515 * conf/x86-efi.rmk: Likewise.
24516
24517 * disk/lvm.h: #include updates for above renames.
24518 * util/grub-mkrelpath.c: Likewise.
24519 * util/grub-probe.c: Likewise.
24520 * util/i386/pc/grub-setup.c: Likewise.
24521 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24522 * kern/emu/console.c: Likewise.
24523 * kern/emu/getroot.c: Likewise.
24524 * kern/emu/hostdisk.c: Likewise.
24525 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24526
24527 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24528 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24529 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24530 * util/misc.c: Remove grub-emu functions.
24531
cced9145
VS
245322010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 Fix gfxmenu crash.
24535 Reported by: Thorsten Grützmacher.
24536
24537 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24538 timeout hook.
24539 (circprog_set_property): Register and unregister timeout hook.
24540 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24541 (label_destroy): Free template. and unregister hook.
24542 (label_set_state): New function.
24543 (label_set_property): Handle templates and hooks.
24544 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24545 timeout hook.
24546 (progress_bar_set_property): Register and unregister timeout hook.
24547 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24548 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24549 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24550 (update_timeout_visit): Removed.
24551 (update_timeouts): New function.
24552 (redraw_timeouts): Likewise.
24553 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24554 (grub_gfxmenu_clear_timeout): Likewise.
24555 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24556 (grub_gfxmenu_timeout_notify): Likewise.
24557 (grub_gfxmenu_timeout_notifications): New external variable.
24558 (grub_gfxmenu_timeout_register): New function.
24559 (grub_gfxmenu_timeout_unregister): Likewise.
24560
c6e5caab
VS
245612010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 Transform (broken) vga terminal into (working) vga video driver.
24564
24565 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24566 video/i386/pc/vga.c.
24567 * include/grub/video.h (grub_video_driver_id):
24568 Add GRUB_VIDEO_DRIVER_VGA.
24569 * term/i386/pc/vga.c: Renamed to ...
24570 * video/i386/pc/vga.c: ...this
24571 (DEBUG_VGA): Removed.
24572 (CHAR_WIDTH): Likewise.
24573 (CHAR_HEIGHT): Likewise.
24574 (TEXT_WIDTH): Likewise.
24575 (TEXT_HEIGHT): Likewise.
24576 (DEFAULT_FG_COLOR): Likewise.
24577 (DEFAULT_BG_COLOR): Likewise.
24578 (colored_char): Likewise.
24579 (xpos): Likewise.
24580 (ypos): Likewise.
24581 (cursor_state): Likewise.
24582 (fg_color): Likewise.
24583 (bg_color): Likewise.
24584 (text_buf): Likewise.
24585 (page): Likewise.
24586 (font): Likewise.
24587 (framebuffer): New variable.
24588 (set_read_map): Disabled.
24589 (setup): New variable.
24590 (is_target): Likewise.
24591 (grub_vga_mod_init): Likewise.
24592 (grub_vga_mod_fini): Likewise.
24593 (check_vga_mem): Likewise.
24594 (write_char): Likewise.
24595 (write_cursor): Likewise.
24596 (scroll_up): Likewise.
24597 (grub_vga_putchar): Likewise.
24598 (grub_vga_getcharwidth): Likewise.
24599 (grub_vga_getwh): Likewise.
24600 (grub_vga_getxy): Likewise.
24601 (grub_vga_gotoxy): Likewise.
24602 (grub_vga_cls): Likewise.
24603 (grub_vga_setcolorstate): Likewise.
24604 (grub_vga_setcursor): Likewise.
24605 (grub_video_vga_init): New function.
24606 (grub_video_vga_setup): Likewise.
24607 (grub_video_vga_fini): Likewise.
24608 (update_target): Likewise.
24609 (grub_video_vga_blit_bitmap): Likewise.
24610 (grub_video_vga_blit_render_target): Likewise.
24611 (grub_video_vga_set_active_render_target): Likewise.
24612 (grub_video_vga_get_active_render_target): Likewise.
24613 (grub_video_vga_swap_buffers): Likewise.
24614 (grub_video_vga_set_palette): Likewise.
24615 (grub_video_vga_get_info_and_fini): Likewise.
24616 (grub_vga_term): Removed.
24617 (grub_video_vga_adapter): New variable.
24618 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24619 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24620
2bf61a98
VS
246212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 * video/readers/jpeg.c: Indented.
24624
09ddcd11
VS
246252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 Various jpeg cleanups.
24628
24629 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24630 (grub_jpeg_decode_quan_table): Use sizeof.
24631 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24632
e5507505
PH
246332010-05-05 Peter Hurley <No e-mail available> (tiny change)
24634
24635 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24636 tables. Ignore non-last ac bit.
24637 (grub_jpeg_decode_quan_table): Likewise.
24638
7e720a9b
VS
246392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24640
24641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24642 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24643 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24644 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24645 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24646 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24647
a7fc080b
VS
246482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24649
24650 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24651 error.
24652
2bf6012d
VS
246532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24656
265d68cd
VS
246572010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24660 condition.
24661
246622010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24663
24664 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24665 part.
24666
265d68cd 246672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24668
24669 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24670 pointers.
24671
265d68cd 246722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24673
24674 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24675
d1b61374
CF
246762010-05-01 Christian Franke <franke@computer.org>
24677
24678 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24679 Remove broken Cygwin path conversion.
24680 * util/misc.c: [__CYGWIN__] Add include and define.
24681 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24682 for Cygwin 1.7.
24683 (make_system_path_relative_to_its_root): Simplify loop, replace early
24684 return by break.
24685 [__CYGWIN__] Add conversion to win32 path.
24686 Include "/" case in trailing slash removal.
24687
3558c6e9
VS
246882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24689
24690 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24691 Reported by: Seth Goldberg
24692
f5f3ff93
VS
246932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24694
24695 * commands/help.c (grub_cmd_help): Fix a typo.
24696 Reported by: Seth Goldberg
24697
d8b5cd40
VS
246982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24701 name and add N_.
24702 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24703 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24704 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24705 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24706 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24707 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24708 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24709 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24710 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24711 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24712 * normal/context.c (GRUB_MOD_INIT): Likewise.
24713 * normal/main.c (GRUB_MOD_INIT): Likewise.
24714 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24715 * term/serial.c (GRUB_MOD_INIT): Likewise.
24716 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24717
88c14915
VS
247182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24721 extra == 0.
24722
165134bc
VS
247232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 * commands/iorw.c: New file.
24726 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24727 (iorw_mod_SOURCES): New variable.
24728 (iorw_mod_CFLAGS): Likewise.
24729 (iorw_mod_LDFLAGS): Likewise.
24730
c5ac9b32
VS
247312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 Hotkey support
24734
24735 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24736 * normal/main.c (hotkey_aliases): New variable.
24737 (grub_normal_add_menu_entry): Parse "--hotkey".
24738 * normal/menu_text.c (run_menu): Handle hotkeys.
24739
ce60689c
VS
247402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24741
24742 * kern/i386/coreboot/init.c (grub_machine_init): Call
24743 grub_machine_mmap_init on qemu.
24744
0359d006
VS
247452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24746
24747 * boot/i386/qemu/boot.S: Add a missing .code16.
24748
7819a456
VS
247492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24750
24751 Use LBIO on coreboot.
24752
24753 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24754 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24755 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24756 New declaration.
24757 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24758 grub_machine_mmap_init on coreboot.
24759 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24760 GRUB_LINUXBIOS_MEMBER_LINK.
24761 (grub_machine_mmap_iterate): Fix declaration.
24762 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24763
7210dca9
VS
247642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24765
24766 Split coreboot and multiboot ports.
24767
24768 * conf/i386-multiboot.rmk: New file.
24769 * configure.ac: Add multiboot port.
24770 * include/grub/i386/multiboot/boot.h: New file.
24771 * include/grub/i386/multiboot/console.h: Likewise.
24772 * include/grub/i386/multiboot/init.h: Likewise.
24773 * include/grub/i386/multiboot/kernel.h: Likewise.
24774 * include/grub/i386/multiboot/loader.h: Likewise.
24775 * include/grub/i386/multiboot/memory.h: Likewise.
24776 * include/grub/i386/multiboot/serial.h: Likewise.
24777 * include/grub/i386/multiboot/time.h: Likewise.
24778 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24779 * loader/multiboot.c: Likewise.
24780 * loader/multiboot_mbi2.c: Likewise.
24781 * util/grub-mkrescue.in: Generate multiboot rescue.
24782
6f8aaf68
VS
247832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24784
3080f7a7
VS
24785 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24786
247872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24790
24791 * commands/terminal.c (abstract_terminal): New struct.
24792 (handle_command): New function. Based on grub_cmd_terminal_input.
24793 (grub_cmd_terminal_input): Use handle_command.
24794 (grub_cmd_terminal_output): Use handle_command.
24795
a8ebb841
BC
247962010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24797
24798 Fix comment handling.
24799
24800 * tests/grub_script_comments.in: New testcase.
24801 * conf/tests.rmk: Rules for new testcase.
24802 * script/yylex.l: Updated flex rules.
24803
bb06ba08
ST
248042010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24805
24806 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24807 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24808 if argc is 1.
bb06ba08 24809
cc9d2425
VS
248102010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24813 autogen issues.
24814
460d8402
CF
248152010-04-26 Christian Franke <franke@computer.org>
24816
24817 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24818 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24819 (grub_get_prefix): Remove function.
24820 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24821 make_system_path_relative_to_its_root ().
24822 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24823
553c01f9
CF
248242010-04-24 Christian Franke <franke@computer.org>
24825
24826 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24827 (kernel_img_LDFLAGS): Remove -static-libgcc.
24828
2aec1692
CF
248292010-04-24 Christian Franke <franke@computer.org>
24830
24831 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24832 and CHECK_END_SYMBOL if grub-emu is built.
24833 Unset TARGET_OBJ2ELF if grub-emu is built
24834 without module support.
24835
f67dc308
JS
248362010-04-24 Jiro SEKIBA <jir@unicus.jp>
24837
24838 Nilfs2 support.
24839
24840 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24841 (grub_fstest_SOURCES): Likewise.
24842 (pkglib_MODULES): Add nilfs2.mod.
24843 (nilfs2_mod_SOURCES): New variable.
24844 (nilfs2_mod_CFLAGS): Likewise.
24845 (nilfs2_mod_LDFLAGS): Likewise.
24846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24847 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24848 * fs/nilfs2.c: New file.
24849
4ba8d354
VS
248502010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24851
24852 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24853 is not supported.
24854
0d2c20c6
GS
248552010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24856
24857 Add grub-mkconfig support for NetBSD.
24858
24859 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24860 * util/grub-mkconfig.in: export new NetBSD specific variables.
24861 * po/POTFILES-shell: added 10_netbsd.in.
24862 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24863
bc4a2d83
BC
248642010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24865
24866 Fix emu build with grub-emu-pci and grub-emu-modules.
24867
24868 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24869 functions.
24870 * include/grub/libpciaccess.h: New file.
24871 * conf/any-emu.rmk: Update kernel headers for emu build.
24872
f48c87aa
VS
248732010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24876
18959385
VS
248772010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24878
24879 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24880
0037de3f
VS
248812010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24884 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24885 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24886 util/ieee1275/ofpath.c.
24887 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24888 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24889 * include/grub/sparc64/ieee1275/boot.h
24890 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24891 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24892 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24893 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24894 const char *.
24895 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24896 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24897 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24898 install.
24899
38e55e90
GS
249002010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24901
24902 * util/grub-mkconfig.in: Corrected two == equality tests.
24903 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24904 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24905 expect a number appended to it.
24906 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24907 expects a number appended to it.
24908
a9e6ff28
VS
249092010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24912
0b830b8f
VS
249132010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 * util/hostdisk.c (make_device_name): Change to new partition naming.
24916
0973daeb
VS
249172010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24918
24919 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24920
460d8402 249212010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24922
24923 * Makefile.in: Add missing localedir setting.
24924
0b456309
CW
249252010-04-14 Colin Watson <cjwatson@ubuntu.com>
24926
24927 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24928 mistake in r2156. Noticed by Anthony Fok.
24929
24930 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24931 @localedir@.
24932 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24933
08f46d62
BC
249342010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24935
24936 Fix a spurious, uninitialized variable warning.
24937
24938 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24939 Initialize variable, shdr.
24940 (grub_freebsd_load_elfmodule): Likewise.
24941 (grub_freebsd_load_elf_meta): Likewise.
24942
8c4a72d4
BC
249432010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24944
24945 Fix for escaped dollar in double quoted strings.
24946
24947 * script/yylex.l: Updated flex rules.
24948 * conf/tests.rmk: Rule for new testcase.
24949 * tests/grub_script_dollar.in: New testcase.
24950
ce44826e
CPE
249512010-04-13 Carles Pina i Estany <carles@pina.cat>
249522010-04-13 Colin Watson <cjwatson@ubuntu.com>
24953
24954 Enclose all translated strings in grub.cfg in single quotes, and
24955 escape them appropriately (Ubuntu bug #552921).
24956
24957 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24958 * util/grub.d/10_hurd.in: Use it.
24959 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24960 * util/grub.d/10_linux.in (linux_entry): Likewise.
24961
4b0cd8f8
VS
249622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 Fix cygwin compilation.
24965
24966 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24967 * include/grub/misc.h (__register_frame_info)
24968 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24969 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24970 * kern/misc.c (__register_frame_info)
24971 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24972 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24973
01fcf061
VS
249742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24977
5d04b11e
VS
249782010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24979
24980 Unify libgcc processing.
24981
24982 * Makefile.in (kernel_img_LDFLAGS): New variable.
24983 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24984 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24985 overwriting.
24986 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24987 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24988 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24989 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24990 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24991 overwriting. Remove -lgcc and -static-libgcc
24992 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24993 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24994 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24995 (kernel_img_LDFLAGS): Append instead of overwriting.
24996 Remove -lgcc and -static-libgcc
24997 * conf/sparc64-ieee1275.rmk: Likewise.
24998 * include/grub/powerpc/libgcc.h: Move to ...
24999 * include/grub/libgcc.h: .. this.
25000 * include/grub/libgcc.h: Don't export most of the function on x86.
25001 (__bswapsi2): New export.
25002 (__bswapdi2): Likewise.
25003 * include/grub/mips/libgcc.h: Removed.
25004 * include/grub/sparc64/libgcc.h: Likewise.
25005
b7f3ac29
VS
250062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25007
25008 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25009 disk_info_msg (conflicts with gettexting into languages with cases).
25010
2c7031b1
GS
250112010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25012
25013 Add grub-probe support for NetBSD.
25014
25015 * util/getroot.c (find_root_device): Convert block device to
25016 character device on NetBSD.
25017 * util/probe.c (probe): Require character device on NetBSD.
25018 * util/hostdisk.c: NetBSD specific headers.
25019 (configure_device_driver): new function to tune device driver
25020 parameters (currently only for NetBSD floppy driver).
25021 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25022 via disklabel ioctl).
25023 (open_device): call configure_device_driver on NetBSD.
25024 (convert_system_partition_to_system_disk): NetBSD specific code.
25025 (device_is_wholedisk): Likewise.
25026 (grub_util_biosdisk_get_grub_dev): Likewise.
25027 (make_device_name): Fixed a typo in bsd_part_str.
25028 * configure.ac: check for opendisk() and getrawpartition() on
25029 NetBSD and set LIBUTIL.
25030 * Makefile.in: add LIBUTIL to LIBS.
25031
f516290c
BC
250322010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25033
25034 Documentation fix.
25035
25036 * util/grub-script-check.c: Better help message.
25037
d8dcc0df
BC
250382010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25039
25040 Fix FreeBSD build.
25041
25042 * configure.ac: Flex version check.
25043 * conf/common.rmk: Add -Wno-error to sh.mod.
25044 * script/yylex.l: Remove all #pragma.
25045
6734334a
VS
250462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25049 prototype.
25050 Reported by: Seth Goldberg.
25051
daea6abd
VS
250522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25053
25054 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25055 Rename "module" to "module2".
25056 Reported by: Seth Goldberg.
25057
f2fd9d2b
VS
250582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25059
25060 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25061 EXPORT_FUNC.
25062 Reported by: Seth Goldberg.
25063
be124579
VS
250642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 * lib/posix_wrap/locale.h: Add missing file.
25067 Reported by: Seth Goldberg.
25068
ef5da797
VS
250692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25070
25071 grub-emu module load support.
25072
25073 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25074 NO_DYNAMIC_MODULES switched to this.
25075 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25076 (CFLAGS): Likewise.
25077 * conf/any-emu.rmk: Generate symlist.
25078 (kernel_img_HEADERS): Add util/datetime.h.
25079 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25080 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25081 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25082 kern/$(target_cpu)/cache.S.
25083 * configure.ac (grub-emu-modules): New option.
25084 * genmk.rb: Handle multiple source lists.
25085 * include/grub/sdl.h: New file.
25086 * include/grub/libusb.h: Likewise.
25087 * util/grub-emu.c (main): Hanle (host) root.
25088 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25089 GRUB_ERR_UNKNOWN_DEVICE.
25090 * util/misc.c: Move mm functions to ...
25091 * util/mm.c: ... here. All users updated.
25092
47822096
VS
250932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25094
25095 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25096 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25097 missing files.
25098 (maintainer-clean): Remove libgcrypt-grub.
25099
5d7e7445
VS
251002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25101
25102 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25103
25f4e252
EC
251042010-04-09 EFI Coder <eficoder@hotmail.com>
25105
25106 * normal/menu_text.c (print_message): Clean up the message and show
25107 the Fn information when on EFI
25108 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25109
027de555
VS
251102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25113 All users updated.
25114 * normal/crypto.c (read_crypto_list): Likewise.
25115 * normal/dyncmd.c (read_command_list): Likewise.
25116 * normal/term.c (read_terminal_list): Likewise.
25117 * normal/main.c (read_lists): Use explicit prefix.
25118 (read_lists_hook): Use read_lists.
25119 (grub_normal_execute): Likewise.
25120
47779711
VS
251212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25122
25123 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25124 Reported by: Thomas Schmitt.
25125 Add -no-emul-boot to grub-mkisofs parameters.
25126
1118c32e
VS
251272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25128
25129 * font/font.c: Indented.
25130
7d652447
BC
251312010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25132
25133 Elif support to GRUB script (by Deepak Vankadaru).
25134
25135 * tests/grub_script_if.in: New testcase.
25136 * conf/tests.rmk: Rule for new testcase.
25137 * script/parser.y: Grammar rules for elif.
25138
34bb22df
BC
251392010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25140
25141 While and until loops support to GRUB script.
25142
25143 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25144 (grub_script_create_cmdwhile): New function prototype.
25145 (grub_script_execute_cmdwhile): New function prototype.
25146 * script/execute.c (grub_script_execute_cmdwhile): New function.
25147 * script/parser.y (command): New commands.
25148 (whilecmd): New grammar rule.
25149 (untilcmd): New grammar rule.
25150 * script/script.c (grub_script_create_cmdwhile): New function.
25151 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25152 function.
25153
25154 * tests/grub_script_while1.in: New testcase.
25155 * conf/tests.rmk: Rule for new testcase.
25156
e215d8e0
VS
251572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25160 as *.jpg.
25161
d7c43ba1
MV
251622010-04-09 Mario Vazquez <mariovazq@gmail.com>
25163
25164 GRUB_BACKGROUND support.
25165
25166 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25167 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25168
d64795c0
VS
251692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25172 Idea by: Mario Vazquez
d64795c0
VS
25173
25174 * util/grub.d/00_header.in: Load pf2 and image modules.
25175
f267f83a
VS
251762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 grub-mkconfig multiple terminal support.
25179
25180 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25181 * util/grub.d/00_header.in: Likewise.
25182
b7841ceb
VS
251832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25184
25185 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25186 we use cd $(srcdir).
25187
df60998c
CW
251882010-04-08 Colin Watson <cjwatson@ubuntu.com>
25189
25190 * util/grub.d/10_linux.in: Only use the first word of
25191 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25192 spaces in GRUB_DISTRIBUTOR.
25193 * util/grub.d/10_kfreebsd.in: Likewise.
25194 * util/grub.d/10_hurd.in: Likewise.
25195
fa09c82e
BC
251962010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25197
14e18ae3 25198 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25199
25200 * tests/util/grub-shell.in: Remove -serial stdio option.
25201
daf892b3
BC
252022010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25203
25204 POSIX header file wrappers.
25205
25206 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25207 equivalents.
25208 * lib/posix_wrap/ctype.h: Likewise.
25209 * lib/posix_wrap/errno.h: Likewise.
25210 * lib/posix_wrap/langinfo.h: Likewise.
25211 * lib/posix_wrap/limits.h: Likewise.
25212 * lib/posix_wrap/localcharset.h: Likewise.
25213 * lib/posix_wrap/stdint.h: Likewise.
25214 * lib/posix_wrap/stdio.h: Likewise.
25215 * lib/posix_wrap/stdlib.h: Likewise.
25216 * lib/posix_wrap/string.h: Likewise.
25217 * lib/posix_wrap/sys/types.h: Likewise.
25218 * lib/posix_wrap/unistd.h: Likewise.
25219 * lib/posix_wrap/wchar.h: Likewise.
25220 * lib/posix_wrap/wctype.h: Likewise.
25221 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25222 (grub_script.yy.h): Likewise.
25223 * script/yylex.l: Remove POSIX emulation #defines.
25224 * Makefile.in (POSIX_CFLAGS): New variable.
25225 (GNULIB_UTIL_CFLAGS): Likewise.
25226
25227 Regexp support.
25228
25229 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25230 (regexp_mod_SOURCES): New variable.
25231 (regexp_mod_CFLAGS): Likewise.
25232 (regexp_mod_LDFLAGS): Likewise.
25233 * commands/regexp.c: New file.
25234 * gnulib/regcomp.c: New file. Imported from gnulib.
25235 * gnulib/regex.c: Likewise.
25236 * gnulib/regex_internal.c: Likewise.
25237 * gnulib/regex_internal.h: Likewise.
25238 * gnulib/regexec.c: Likewise.
25239 * gnulib/regex.h: Likewise.
25240
974ac4f7
VS
252412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25244 unsupported video mode types.
25245
2622c3ff
VS
252462010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25249
064cb524
VS
252502010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25251
25252 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25253 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25254
a8c3b552
VS
252552010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25256
25257 Remove unused grub_vga_get_font.
25258
25259 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25260 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25261
187bbe3d
GS
252622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25263
25264 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25265 * include/grub/misc.h: Likewise.
25266
b9396631
GS
252672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25268
25269 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25270 for which failure is fatal.
25271
50479feb
GS
252722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25273
25274 * util/grub-install.in: Use mkdir -p to create grub directory.
25275 * util/i386/efi/grub-install.in: Likewise.
25276 * util/ieee1275/grub-install.in: Likewise.
25277
b1654fdf
GS
252782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25279
25280 * Makefile.in (LEX): new variable.
25281
bd5a6415
GS
252822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25283
25284 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25285 `=' and added double quotes on operands of this equality test.
25286
3db3a82b
VS
252872010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * Makefile.in (uninstall): Remove a leftover debug echo.
25290 Reported by: Grégoire Sutre
25291
38023412
VS
252922010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 MIPS multiboot2 support.
25295
25296 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25297 (multiboot2_mod_SOURCES): New variable.
25298 (multiboot2_mod_CFLAGS): Likewise.
25299 (multiboot2_mod_LDFLAGS): Likewise.
25300 (multiboot2_mod_ASFLAGS): Likewise.
25301 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25302 definition.
25303 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25304 (MULTIBOOT_MBI_REGISTER): Likewise.
25305 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25306 (MULTIBOOT_ELF32_MACHINE): Likewise.
25307 (MULTIBOOT_ELF64_MACHINE): Likewise.
25308 * include/grub/mips/multiboot.h: New file.
25309 * include/grub/video.h (grub_video_driver_id): New type
25310 GRUB_VIDEO_DRIVER_SM712.
25311 (grub_video_get_info_and_fini): Export.
25312 (grub_video_get_palette): Likewise.
25313 (grub_video_get_driver_id): Likewise.
25314 * include/multiboot2.h: Resynced with spec.
25315 * loader/i386/multiboot.c: Moved from here ...
25316 * loader/multiboot.c: ... here. All users updated.
25317 (grub_multiboot_boot): Use platform-specific macros.
25318 * loader/i386/multiboot_elfxx.c: Moved from here ...
25319 * loader/multiboot_elfxx.c: ... here. All users updated.
25320 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25321 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25322 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25323
47674667
VS
253242010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 Import gnulib argp module.
25327
25328 * gnulib/argp-ba.c: New file.
25329 * gnulib/argp-eexst.c: Likewise.
25330 * gnulib/argp-fmtstream.c: Likewise.
25331 * gnulib/argp-fmtstream.h: Likewise.
25332 * gnulib/argp-fs-xinl.c: Likewise.
25333 * gnulib/argp-help.c: Likewise.
25334 * gnulib/argp-namefrob.h: Likewise.
25335 * gnulib/argp-parse.c: Likewise.
25336 * gnulib/argp-pin.c: Likewise.
25337 * gnulib/argp-pv.c: Likewise.
25338 * gnulib/argp-pvh.c: Likewise.
25339 * gnulib/argp-version-etc.c: Likewise.
25340 * gnulib/argp-version-etc.h: Likewise.
25341 * gnulib/argp-xinl.c: Likewise.
25342 * gnulib/argp.h: Likewise.
25343
495442ed
VS
253442010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * kern/device.c (grub_device_iterate): Clear errors after failed
25347 opening device.
25348
f9fd65df
VS
253492010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25352 returned by firmware.
25353
af09641e
VS
253542010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25357 compilation on coreboot and qemu
25358
016883a5
VS
253592010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * include/multiboot2.h: Resync with spec.
25362
f97e1f7d
VS
253632010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 Multiboot2 tag support
25366
25367 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25368 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25369 Remove loader/multiboot_loader.c.
25370 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25371 (grub_multiboot2_real_boot): Likewise.
25372 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25373 (grub_get_multiboot_mmap_count): New proto.
25374 (grub_fill_multiboot_mmap): Likewise.
25375 (grub_multiboot_set_video_mode): Likewise.
25376 (grub_multiboot_set_console): Likewise.
25377 (grub_multiboot_load): Likewise.
25378 (grub_multiboot_load_elf): Likewise.
25379 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25380 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25381 * include/multiboot.h: Resynced with specification.
25382 * include/multiboot2.h: Resynced with specification.
25383 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25384 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25385 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25386 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25387 users updated.
25388 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25389 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25390 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25391 Removed.
25392 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25393 Moved from here...
25394 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25395 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25396 Moved from here...
25397 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25398 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25399 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25400 All users updated.
25401 * loader/i386/multiboot_mbi2.c: New file.
25402
3506b90b
VS
254032010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 Resync with gnulib.
25406
25407 * Makefile.in (GNULIB_CFLAGS): New variable.
25408 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25409 (grub_script_check_CFLAGS): New variable.
25410 * gnulib/alloca.h: Resync with gnulib.
25411 * gnulib/error.c: Likewise.
25412 * gnulib/error.h: Likewise.
25413 * gnulib/fnmatch.c: Likewise.
25414 * gnulib/fnmatch_loop.c: Likewise.
25415 * gnulib/getdelim.c: Likewise.
25416 * gnulib/getline.c: Likewise.
25417 * gnulib/getopt.c: Likewise.
25418 * gnulib/getopt1.c: Likewise.
25419 * gnulib/getopt_int.h: Likewise.
25420 * gnulib/gettext.h: Likewise.
25421 * gnulib/progname.c: Likewise.
25422 * gnulib/progname.h: Likewise.
25423
394a3120
GS
254242010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25425
25426 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25427 which is the case with --disabled-nls.
25428
25429 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25430 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25431 * util/misc.c: Likewise.
25432 * util/mkisofs/mkisofs.c: Likewise.
25433 * util/mkisofs/mkisofs.h: Likewise.
25434
969d1c78
VS
254352010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 Simplify Apple CC support.
25438
25439 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25440 Add 0 byte at the end not to have a symbol with empty target.
25441 * mmap/i386/pc/mmap_helper.S: Likewise.
25442 * genmk.rb: Ignore errors 2030 and 2050.
25443 * kern/i386/pc/startup.S: Use LOCAL when possible.
25444
8d2977bb
BC
254452010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25446
25447 Testcase and the fix for final semicolon on cmdline.
25448
25449 * tests/grub_script_final_semicolon.in: New testcase.
25450 * conf/tests.rmk: Rules for the new testcase.
25451 * script/parser.y: Grammar fix.
25452
a7bd6915
BC
254532010-03-26 BVK Chaitanya <bvk@localhost>
25454
25455 Blank lines testcase for GRUB script.
25456
25457 * tests/grub_script_blanklines.in: New testcase.
25458 * conf/tests.rmk: Rules for the new testcase.
25459
e4ff6628
VS
254602010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 Don't use __FILE__.
25463
25464 * genmk.rb: Add -DGRUB_FILE to all C targets.
25465 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25466 * include/grub/list.h: Likewise.
25467 * include/grub/misc.h: Likewise.
25468 * include/grub/mm.h: Likewise.
25469 * include/grub/test.h: Likewise.
25470 * kern/mm.c: Likewise.
25471 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25472
6a5cf6b6
VS
254732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25474
25475 Sunpc partitions support.
25476
25477 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25478 (grub_fstest_SOURCES): Likewise.
25479 (pkglib_MODULES): Add part_sunpc.mod.
25480 (part_sunpc_mod_SOURCES): New variable.
25481 (part_sunpc_mod_CFLAGS): Likewise.
25482 (part_sunpc_mod_LDFLAGS): Likewise.
25483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25484 * partmap/sunpc.c: New file.
25485
746d9045
BC
254862010-03-26 BVK Chaitanya <bvk@localhost>
25487
25488 For loop support to GRUB script.
25489
25490 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25491 (grub_script_create_cmdfor): New function prototype.
25492 (grub_script_execute_cmdfor): New function prototype.
25493 * script/execute.c (grub_script_execute_cmdfor): New function.
25494 * script/parser.y (command): New for command.
25495 (forcmd): New grammar rule.
25496 * script/script.c (grub_script_create_cmdfor): New function.
25497 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25498 function.
25499 * tests/grub_script_for1.in: New testcase.
25500 * conf/tests.rmk: Rules for new testcase.
25501
18486b18
VS
255022010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 Nested partitions
25505
25506 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25507 'partition' is NULL, grub_partition_get_start already does that.
25508 * commands/loadenv.c (check_blocklists): Likewise.
25509 (write_blocklists): Likewise.
25510 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25511 (grub_fstest_SOURCES): Likewise.
25512 (pkglib_MODULES): Add part_bsd.mod.
25513 (part_bsd_mod_SOURCES): New variable.
25514 (part_bsd_mod_CFLAGS): Likewise.
25515 (part_bsd_mod_LDFLAGS): Likewise.
25516 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25517 (grub_emu_SOURCES): Likewise.
25518 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25519 * include/grub/bsdlabel.h: New file.
25520 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25521 'get_name'.
25522 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25523 (grub_partition_map_list): New variable.
25524 (grub_partition_map_register): Inline.
25525 (grub_partition_map_unregister): Likewise.
25526 (FOR_PARTITION_MAPS): New macro.
25527 (grub_partition_map_iterate): Removed.
25528 (grub_partition_get_start): Handle nested partitions.
25529 * include/grub/msdos_partition.h: Remove bsd-related entries.
25530 (grub_pc_partition): Remove.
25531 * kern/disk.c (grub_disk_close): Free partition data.
25532 (grub_disk_adjust_range): Handle nested partitions.
25533 * kern/partition.c (grub_partition_map_probe): New function.
25534 (grub_partition_probe): Parse name to number, handle subpartitions.
25535 (get_partmap): New function.
25536 (grub_partition_iterate): Handle subpartitions.
25537 (grub_partition_get_name): Likewise.
25538 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25539 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25540 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25541 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25542 Set 'number'.
25543 (acorn_partition_map_probe): Remove.
25544 (acorn_partition_map_get_name): Likewise.
25545 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25546 Set 'number'.
25547 Set 'index' to 0 since there can be only one partition entry per sector.
25548 (amiga_partition_map_probe): Remove.
25549 (amiga_partition_map_get_name): Likewise.
25550 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25551 Set 'number'.
25552 Set 'offset' and 'index' to real positions of partitions.
25553 (apple_partition_map_probe): Remove.
25554 (apple_partition_map_get_name): Likewise.
25555 * partmap/bsdlabel.c: New file.
25556 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25557 Set 'number'.
25558 Allocate 'data' so it can be correctly freed.
25559 Set 'index' to offset inside sector.
25560 (gpt_partition_map_probe): Remove.
25561 (gpt_partition_map_get_name): Likewise.
25562 * partmap/msdos.c (grub_partition_parse): Remove.
25563 (pc_partition_map_iterate): Don't force raw access.
25564 Set 'number'.
25565 Make 'ext_offset' a local variable.
25566 (pc_partition_map_probe): Remove.
25567 (pc_partition_map_get_name): Remove.
25568 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25569 Set 'number'.
25570 (sun_partition_map_probe): Remove.
25571 (sun_partition_map_get_name): Likewise.
25572 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25573 (grub_pcpart_type): Likewise.
25574 * util/hostdisk.c (open_device): Handle new numbering scheme.
25575 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25576 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25577 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25578 * util/grub-install.in: Insert all subpartition modules.
25579 * util/ieee1275/grub-install.in: Likewise.
25580
a3940f88
AG
255812010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25582
25583 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25584 grammar.
25585
21b99926 255862010-03-24 Colin Watson <cjwatson@ubuntu.com>
25587
25588 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25589
bed1d352
CW
255902010-03-21 Colin Watson <cjwatson@ubuntu.com>
25591
25592 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25593 match where 'make install' puts them.
25594 * util/i386/efi/grub-install.in: Likewise.
25595
c9f58427
CW
255962010-03-19 Colin Watson <cjwatson@ubuntu.com>
25597
25598 * .bzrignore: Add gentrigtables, grub-script-check,
25599 grub_script_check_init.c, grub_script_check_init.h, and
25600 trigtables.c.
25601
f84afb27
VS
256022010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25603
25604 * kern/parser.c: Indented.
25605
ed0e3d30
VS
256062010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25607
25608 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25609
0ea81d98
VS
256102010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25611
25612 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25613 alpha_mask_size == 0 case.
25614
0cdc2a09
BC
256152010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25616
25617 GRUB shell lexer and parser improvements.
25618
25619 * conf/any-emu.rmk: Build rule updates.
25620 * conf/common.rmk: Likewise.
25621 * conf/i386-coreboot.rmk: Likewise.
25622 * conf/i386-efi.rmk: Likewise.
25623 * conf/i386-ieee1275.rmk: Likewise.
25624 * conf/i386-pc.rmk: Likewise.
25625 * conf/powerpc-ieee1275.rmk: Likewise.
25626 * conf/x86_64-efi.rmk: Likewise.
25627
25628 * configure.ac: Configure check for flex.
25629
25630 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25631 types.
25632 (grub_lexer_param): Struct member updates.
25633 (grub_parser_param): Likewise.
25634 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25635 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25636 (grub_script_lexer_init): Prototype update.
25637 (grub_script_lexer_record_start): Likewise.
25638 (grub_script_lexer_record_stop): Likewise.
25639 (grub_script_lexer_yywrap): New function prototype.
25640 (grub_script_lexer_fini): Likewise.
25641 (grub_script_execute_argument_to_string): Removed by...
25642 (grub_script_execute_argument_to_argv): ...better version.
25643
25644 * script/execute.c (ROUND_UPTO): New macro.
25645 (grub_script_execute_cmdline): Out of memory fixes.
25646 (grub_script_execute_menuentry): Likewise.
25647 (grub_script_execute_argument_to_string): Removed. Update all
25648 users by...
25649 (grub_script_execute_argument_to_argv): ...better version.
25650 * script/function.c (grub_script_function_create): Use
25651 grub_script_execute_argument_to_argv instead of
25652 grub_script_execute_argument_to_string.
25653
25654 * script/lexer.c (check_varstate): Removed.
25655 (check_textstate): Removed.
25656 (grub_script_lexer_record_start): Likewise.
25657 (grub_script_lexer_record_stop): Likewise.
25658 (recordchar): Replaced with...
25659 (grub_script_lexer_record): ...new function.
25660 (nextchar): Removed.
25661 (grub_script_lexer_init): Rewritten.
25662 (grub_script_yylex): Rewritten.
25663 (append_newline): New function.
25664 (grub_script_lexer_yywrap): New function.
25665 (grub_script_lexer_fini): New function.
25666 (grub_script_yyerror): Sets error flag.
25667
25668 * script/yylex.l: New file.
25669 (grub_lexer_yyfree): Wrapper for flex yyffre.
25670 (grub_lexer_yyalloc): Likewise.
25671 (grub_lexer_yyrealloc): Likewise.
25672 * script/parser.y: Refactored.
25673
25674 * script/script.c (grub_script_arg_add): Out of memory fixes.
25675 (grub_script_add_arglist): Likewise.
25676 (grub_script_create_cmdline): Likewise.
25677 (grub_script_create_cmdmenu): Likewise.
25678 (grub_script_add_cmd): Likewise.
25679 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25680 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25681 unnecessary code.
25682
25683 * tests/grub_script_echo1.in: New testcase.
25684 * tests/grub_script_vars1.in: New testcase.
25685 * tests/grub_script_echo_keywords.in: New testcase.
25686
1d63a066
VS
256872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25688
25689 Remove some redundancy in build system.
25690
25691 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25692 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25693 (TARGET_LDFLAGS): Add -nostdlib.
25694 (TARGET_IMG_LDFLAGS): Likewise.
25695 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25696 anything since mmap isn't available.
25697 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25698 Add util/time.c.
25699 (pkglib_MODULES): Remove reboot.mod.
25700 (reboot_mod_SOURCES): Removed.
25701 (reboot_mod_CFLAGS): Likewise.
25702 (reboot_mod_LDFLAGS): Likewise.
25703 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25704 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25705 (DEFSYMFILES): Add kernel_syms.lst.
25706 (kernel_img_HEADERS): Add common headers.
25707 (symlist.c): New target.
25708 (kernel_syms.lst): Likewise.
25709 (pkglib_MODULES): Add memdisk.mod.
25710 (memdisk_mod_SOURCES): New variable.
25711 (memdisk_mod_CFLAGS): Likewise.
25712 (memdisk_mod_LDFLAGS): Likewise.
25713 (pkglib_MODULES): Add reboot.mod.
25714 (reboot_mod_SOURCES): New variable.
25715 (reboot_mod_CFLAGS): Likewise.
25716 (reboot_mod_LDFLAGS): Likewise.
25717 (pkglib_MODULES): Add date.mod.
25718 (date_mod_SOURCES): New variable.
25719 (date_mod_CFLAGS): Likewise.
25720 (date_mod_LDFLAGS): Likewise.
25721 (pkglib_MODULES): Add datehook.mod.
25722 (datehook_mod_SOURCES): New variable.
25723 (datehook_mod_CFLAGS): Likewise.
25724 (datehook_mod_LDFLAGS): Likewise.
25725 (pkglib_MODULES): Add lsmmap.mod.
25726 (lsmmap_mod_SOURCES): New variable.
25727 (lsmmap_mod_CFLAGS): Likewise.
25728 (lsmmap_mod_LDFLAGS): Likewise.
25729 (pkglib_MODULES): Add boot.mod.
25730 (boot_mod_SOURCES): New variable.
25731 (boot_mod_CFLAGS): Likewise.
25732 (boot_mod_LDFLAGS): Likewise.
25733 * conf/i386-coreboot.rmk: Removed redundant parts.
25734 * conf/i386-ieee1275.rmk: Likewise.
25735 * conf/i386-pc.rmk: Likewise.
25736 * conf/mips-yeeloong.rmk: Likewise.
25737 * conf/mips.rmk: Likewise.
25738 * conf/powerpc-ieee1275.rmk: Likewise.
25739 * conf/sparc64-ieee1275.rmk: Likewise.
25740 * conf/x86_64-efi.rmk: Likewise.
25741 * conf/i386-coreboot.rmk: Moved qemu parts ..
25742 * conf/i386-qemu.rmk: ... here
25743 * conf/i386-efi.rmk: Moved common parts to...
25744 * conf/x86-efi.rmk: ... here.
25745 * conf/i386.rmk: Added modules common to all x86 variants.
25746 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25747 * disk/memdisk.c: Remove grub/machine/kernel.h.
25748 * gensymlist.sh.in: Include symbol.h.
25749 * hook/datehook.c: Correct module name.
25750 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25751 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25752 * include/grub/i386/efi/serial.h: New file.
25753 * include/grub/x86_64/efi/serial.h: Likewise.
25754 * util/time.c: Likewise.
25755 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25756
463ac55f
CK
257572010-03-14 Colin King <colin.king@ubuntu.com>
257582010-03-14 Colin Watson <cjwatson@ubuntu.com>
25759
25760 Shrink the pre-partition-table part of boot.img by eight bytes.
25761
25762 * boot/i386/pc/boot.S (ERR): New macro.
25763 (chs_mode): Use ERR.
25764 (geometry_error): Likewise.
25765 (hd_probe_error): Remove. This is only used once, so we wrwite
25766 it inline instead.
25767 (read_error): Instead of printing read_error_string, just set up
25768 %si and fall through to ...
25769 (error_message): ... this new function, also used by ERR.
25770
08e46ede
CW
257712010-03-14 Colin Watson <cjwatson@ubuntu.com>
25772
25773 Speed up consecutive hostdisk operations on the same device.
25774
25775 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25776 (grub_util_biosdisk_open): Initialise disk->data.
25777 (struct linux_partition_cache): New structure.
25778 (linux_find_partition): Cache partition start positions; these are
25779 expensive to compute on every read and write.
25780 (open_device): Cache open file descriptor in disk->data, so that we
25781 don't have to reopen it and flush the buffer cache for consecutive
25782 operations on the same device.
25783 (grub_util_biosdisk_close): New function.
25784 (grub_util_biosdisk_dev): Set `close' member.
25785
25786 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25787 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25788 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25789 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25790 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25791
4a6d2d06
VS
257922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25793
25794 Compile parts of grub-emu as modules.
25795
25796 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25797 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25798 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25799 (all-local): Add $(GRUB_EMU).
25800 (install-local): Install $(GRUB_EMU).
25801 (uninstall): Uninstall $(GRUB_EMU).
25802 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25803 * kern/dl.c: Likewise.
25804 * commands/sleep.c: Not include machine/time.h.
25805 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25806 (COMMON_CFLAGS): Likewise.
25807 (sbin_UTILITIES): Remove grub-emu.
25808 (grub_emu_SOURCES): Removed.
25809 (kernel_img_RELOCATABLE): New variable.
25810 (pkglib_PROGRAMS): Add kernel.img.
25811 (kernel_img_SOURCES): New variable
25812 (kernel_img_CFLAGS): Likewise.
25813 (kernel_img_LDFLAGS): Likewise.
25814 (TARGET_NO_STRIP): Likewise.
25815 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25816 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25817 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25818 (grub-emu): New target.
25819 (GRUB_EMU): New variable.
25820 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25821 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25822 * loader/xnu.c: Likewise.
25823 * include/grub/pci.h: Likewise.
25824 * genemuinit.sh: New file.
25825 * genemuinitheader.sh: Likewise.
25826 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25827 Support TARGET_NO_DYNAMIC_MODULES.
25828 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25829 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25830 * disk/loopback.c: Likewise.
25831 * font/font_cmd.c: Likewise.
25832 * partmap/acorn.c: Likewise.
25833 * partmap/amiga.c: Likewise.
25834 * partmap/apple.c: Likewise.
25835 * partmap/gpt.c: Likewise.
25836 * partmap/msdos.c: Likewise.
25837 * partmap/sun.c: Likewise.
25838 * parttool/msdospart.c: Likewise.
25839 * term/gfxterm.c: Likewise.
25840 * video/bitmap.c: Likewise.
25841 * video/readers/jpeg.c: Likewise.
25842 * video/readers/png.c: Likewise.
25843 * video/readers/tga.c: Likewise.
25844 * video/video.c: Likewise.
25845 * util/grub-emu.c (read_command_list): Removed.
25846 (main): Don't call util_init_nls.
25847 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25848 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25849
91fdd2ed
VS
258502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25851
25852 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25853 date.mod, datehook.mod.
25854 (datetime_mod_SOURCES): New variable.
25855 (datetime_mod_CFLAGS): Likewise.
25856 (datetime_mod_LDFLAGS): Likewise.
25857 (date_mod_SOURCES): Likewise.
25858 (date_mod_CFLAGS): Likewise.
25859 (date_mod_LDFLAGS): Likewise.
25860 (datehook_mod_SOURCES): Likewise.
25861 (datehook_mod_CFLAGS): Likewise.
25862 (datehook_mod_LDFLAGS): Likewise.
25863 * conf/sparc64-ieee1275.rmk: Likewise.
25864 * lib/ieee1275/datetime.c: New file.
25865
873ccae6
VS
258662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25869 (ieee1275_fb_mod_SOURCES): New variable.
25870 (ieee1275_fb_mod_CFLAGS): Likewise.
25871 (ieee1275_fb_mod_LDFLAGS): Likewise.
25872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25873 New proto.
25874 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25875 (HEAP_MAX_ADDR): Likewise.
25876 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25877 type.
25878 Correct stop condition.
25879 (grub_ieee1275_devices_iterate): New function.
25880 * video/ieee1275.c: New file.
25881
601c97c0
VS
258822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25883
25884 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25885
25886 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25887 as scratch.
25888 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25889 SCRATCH_PAD_DISKBOOT as scratch.
25890 (bootit): Pass Openfirmware pointer in %o4.
25891 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25892 of 0x200000.
25893 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25894 with util/grub-mkrawimage.c.
25895 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25896 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25897 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25898 (grub_aout_load) [GRUB_UTIL]: Likewise.
25899 * include/grub/kernel.h (grub_modules_get_end): New proto.
25900 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25901 (SCRATCH_PAD_BOOT): New definition.
25902 (SCRATCH_PAD_DISKBOOT): Likewise.
25903 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25904 * include/grub/sparc64/ieee1275/ieee1275.h
25905 (grub_ieee1275_original_stack): New variable
25906 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25907 New definition
25908 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25909 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25910 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25911 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25912 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25913 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25914 (grub_platform_image_format_t): New type.
25915 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25916 * kern/main.c (grub_modules_get_end)
25917 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25918 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25919 (codestart): Switch stacks.
25920 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25921 variable.
25922 (grub_heap_init): Use grub_modules_get_end.
25923 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25924 stack.
25925 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25926 (main): Likewise.
25927 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25928
d68b491e
TG
259292010-03-14 Thorsten Glaser <tg@mirbsd.org>
25930
25931 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25932
4e02ed50
MK
259332010-03-08 Matt Kraai <kraai@ftbfs.org>
25934
25935 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25936 bug #559005).
25937
1f15fc1e
VS
259382010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25939
25940 * genmoddep.awk: Output all missing symbols and not only first.
25941
fce5d8ff
VS
259422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 * NEWS: Put the date of 1.98 release.
25945
d1e8a02f
VS
259462010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25949 ft2build.h.
25950
696fd607
VS
259512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25954 completition in the middle of string.
25955
33e2e6f3
VS
259562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * util/grub-mkrescue.in: Use mktemp with explicit template.
25959
b1f6d291
VS
259602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25961
25962 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25963
2ac227c7
VS
259642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25965
25966 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25967 right pointer.
25968
8f9a632b
VS
259692010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 Fix FreeBSD compilation.
25972
25973 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25974 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25975
60b03859
VS
259762010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25979
48a5a769
VS
259802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25981
25982 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25983
3ab4bd77
VS
259842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25985
25986 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25987
d116e0d8
RM
259882010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25989
25990 Support relative image path in theme file.
25991
25992 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25993 (image_set_property): Handle theme_dir and relative path.
25994
c7ef54aa
VS
259952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25996
25997 * configure.ac: Alias amd64 to x86_64.
25998
fcee14ed
VS
259992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26000
26001 * NEWS: mention multiboot on EFI.
26002
d0780363
VS
260032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * kern/main.c (grub_load_modules): Handle errors from init functions of
26006 embeded modules.
26007
41168ea4
VS
260082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26009
26010 * normal/autofs.c (autoload_fs_module): Handle errors.
26011
b54d93ac
VS
260122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26013
26014 Disable linux.mod on qemu-mips since it's not functional and leads
26015 to compilation failure.
26016
26017 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26018 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26019 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26020 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26021 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26022 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26023 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26024 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26025 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26026 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26027 Reported by: BVK Chaitanya
26028
fc8345da
JU
260292010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26030
26031 * INSTALL: Add gettext as a dependency and add qemu to a new section
26032 "Prerequisites for make-check".
26033
4760f979
CF
260342010-03-04 Christian Franke <franke@computer.org>
26035
26036 * util/grub-pe2elf.c: Add missing include "progname.h".
26037
f209b5b2
VS
260382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 * normal/crypto.c (read_crypto_list): Fix a typo.
26041 Reported by: Seth Goldberg.
26042
b4b7be98
VS
260432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26044
26045 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26046 Reported by: Seth Goldberg.
b4b7be98 26047
c0ee0385
VS
260482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26049
26050 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26051 ascii.bitmaps.
26052
a8efbf64
VS
260532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26054
26055 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26056 Reported by: Seth Goldberg.
a8efbf64 26057
08dcd913
VS
260582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26059
26060 * util/i386/efi/grub-install.in: Copy gettext files.
26061
c4d0b332
VS
260622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26063
26064 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26065
c6f2fe52
VS
260662010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26067
26068 Wait for user entry basing on presence of output rather than on errors.
26069
26070 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26071 (grub_install_newline_hook): Likewise.
26072 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26073 * normal/menu.c (show_menu): Check line_counter to determine presence
26074 of output.
26075 * normal/term.c (grub_normal_line_counter): New variable.
26076 (grub_normal_get_line_counter): New function.
26077 (grub_install_newline_hook): Likewise.
26078
5382b1e4
VS
260792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26080
26081 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26082
5519963b
VS
260832010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * configure.ac: Update version to 1.98.
26086
72b28631
VS
260872010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 * util/grub.d/10_linux.in (linux_entry): Don't default to
26090 gfxpayload=keep if Linux doesn't support video handover.
26091
c140a180
VS
260922010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 Don't compile video modules on yeeloong since video subsystem is part
26095 of kernel.
26096
26097 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26098 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26099 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26100 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26101 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26102 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26103 * include/grub/bitmap_scale.h: Likewise.
26104 * include/grub/bufio.h: Likewise.
26105 * include/grub/font.h: Likewise.
26106 * include/grub/gfxterm.h: Likewise.
26107 * include/grub/video.h: Likewise.
26108 * include/grub/vbe.h: Don't include video_fb.h.
26109 * video/i386/pc/vbe.c: Include video_fb.h.
26110 * commands/i386/pc/vbetest.c: Include video.h.
26111
a0ca21c2
CW
261122010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26113
26114 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26115 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26116 default entry if GRUB_SAVEDEFAULT=true. This allows using
26117 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26118 saving a new default on every boot.
26119
4a8a763c
VS
261202010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26123 * normal/term.c (read_terminal_list): Likewise.
26124 * normal/main.c (grub_normal_init_page): Likewise.
26125 (grub_normal_read_line_real): Likewise.
26126
607ffde2
VS
261272010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26128
26129 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26130 memory leak.
26131 Reported by: Seth Goldberg.
26132
2b8fa975
CW
261332010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26134
26135 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26136 duplicate declaration of `start'.
26137
618307dd
VS
261382010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26139
26140 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26141 filename.
26142 Reported by: Georgy Buranov
26143
7dd05b96 261442010-02-20 Carles Pina i Estany <carles@pina.cat>
26145
26146 * util/grub-mkrawimage.c (usage): Change string formatting to
26147 improve gettext.
26148
d1484a42
MRA
261492010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26150
26151 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26152 backspace keys.
26153
42b1d186
VS
261542010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26155
26156 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26157 Reported by: Michael Suchanek.
26158
261592010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26160
26161 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26162 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26163
d9f31a41
VS
261642010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26165
26166 Remove any reference to non-free fonts.
26167
26168 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26169 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26170 uses non-free components.
26171 * font/font.c (grub_font_get_name): Remove example name.
26172 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26173 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26174 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26175 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26176
2793c71e
GB
261772010-02-16 Georgy Buranov <gburanov@gmail.com>
26178
26179 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26180
402e3779
VS
261812010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26184 Double divisor.
26185 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26186 features.
26187 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26188
0dd1e0dd
VS
261892010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26190
26191 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26192
6fa7cfce
ST
261932010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26194
26195 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26196 * docs/grub.texi (Command-line and menu entry commands): Document play
26197 command.
26198
37c8483b
ST
261992010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26200
26201 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26202 parse arguments as inline tempo and notes. Move code for playing notes
26203 to...
26204 (play): ... new function.
26205
14da0fb7
ST
262062010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26207
26208 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26209 grub_uint16_t instead of short.
26210 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26211 disk from little endian to cpu endianness.
26212
04459e70
ST
262132010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26214
26215 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26216 GRUB_TICKS_PER_SECOND instead of 120.
26217
a0876943
VS
262182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26219
26220 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26221 escape sequence after \e.
26222
e29f95dc
VS
262232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26226 non-ASCII characters.
26227
d27859b2
VS
262282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26229
26230 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26231 set root in single quotes to prevent \, from being unescaped.
26232
bc028f2f
VS
262332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26234
26235 Prevent unknown commands from stopping menuentry execution.
26236
26237 * script/execute.c (grub_script_execute_cmdline): Print error after
26238 unknown command.
26239
095f5f82
VS
262402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26243 Reported by: Pavel Pisa.
26244
8c717950
VS
262452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26246
26247 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26248
904935c3
VS
262492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26250
26251 Merge grub_ieee1275_map_physical into grub_map and rename to
26252 grub_ieee1275_map
26253
26254 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26255 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26256 Remove.
26257 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26258 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26259 necessary.
26260 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26261
5b59a4e3
VS
262622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26265 opening and not after.
26266
69e137e8
VS
262672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26270 constants.
26271
2c0fcc36
VS
262722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26273
26274 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26275 (alloc_phys): Use ALIGN_UP instead of align_addr.
26276
8c6052ce
VS
262772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26278
26279 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26280
17cec782
VS
262812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26282
26283 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26284
e0128bbd
VS
262852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26286
26287 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26288 verbose dprintf.
26289
ca62070b
VS
262902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26291
26292 Fix over-4GiB seek on sparc64.
26293
26294 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26295 Replace pos_i and pos_lo with pos. All users updated.
26296 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26297 New constant.
26298 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26299 Likewise.
26300 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26301 and pos_lo.
26302
bdca2607
VS
263032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 * util/grub-mkrawimage.c (main): Call set_program_name.
26306
da278c4d
VS
263072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26308
26309 Properly align 64-bit targets.
26310
26311 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26312 (generate_image): Use ALIGN_ADDR.
26313
b274d734
VS
263142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 Properly create cross-endian images.
26317
26318 * include/grub/types.h (grub_host_to_target_addr): New macro
26319 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26320
82da2062
VS
263212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26324
7cae4377
VS
263252010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26326
26327 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26328
26329 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26330 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26331 (grub_linux_boot): Divide by 64K when on VESA.
26332
65a533e7
VS
263332010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 Support GRUB_GFXPAYLOAD_LINUX.
26336
26337 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26338 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26339
dd01d397
VS
263402010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26341
26342 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26343 to show messages instead of discarding them.
26344 Process errors after executing command and not before. Keep old method
26345 too as precaution.
26346
660960d6
VS
263472010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 * configure.ac: Check for ft2build.h.
26350
62509f04
VS
263512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26354
473df63d
VS
263552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 * genkernsyms.sh.in: Use TARGET_CC.
26358
c98d2a13
CW
263592010-02-07 Colin Watson <cjwatson@ubuntu.com>
26360
26361 * NEWS: Update.
26362
6e14234c
VS
263632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26364
26365 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26366 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26367 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26368
b255e9cf
YB
263692010-02-07 Yves Blusseau <blusseau@zetam.org>
26370
6e14234c 26371 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26372
98e6959d
VS
263732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 Fix warnings in grub-emu when compiling with maximum warning options.
26376
26377 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26378 (grub_arch_modules_addr): Return 0 and not NULL.
26379 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26380 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26381 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26382 of disk to dsk to avoid shadowing.
74e4934e
VS
26383 (find_free_slot): Fix prototype.
26384 * util/getroot.c (grub_util_is_dmraid): Make static.
26385 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26386 Add missing prototype.
26387 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26388
74e31b5c
VS
263892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26390
26391 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26392 appropriately.
26393
6b2ad14b
VS
263942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26395
26396 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26397 code out.
26398
8f891adc
VS
263992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26402 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26403 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26404 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26405 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26406 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26407
74b45184
VS
264082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26409
26410 * include/grub/err.h (grub_err_printf): Don't export.
26411
a4bced77
VS
264122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26413
26414 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26415
007d0695
VS
264162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26417
26418 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26419 * kern/misc.c (grub_gettext_dummy): Make static.
26420
b6c0d9c2
VS
264212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26422
26423 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26424 by non-valid ones.
26425 * kern/term.c (grub_putchar): Likewise.
26426
f51a90d0
VS
264272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26428
26429 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26430 buggy hook call and memory leak.
26431
6846cec5
VS
264322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26435
468d69fe
VS
264362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26437
26438 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26439
51906b8c
VS
264402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26443 modevar.
26444 Return grub_errno on allocation error.
26445
09706ce5
VS
264462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26447
26448 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26449
911df80c
YB
264502010-02-06 Yves Blusseau <blusseau@zetam.org>
26451
26452 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26453 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26454
3746a6bc
VS
264552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26456
26457 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26458 non-pxe disk.
26459 (grub_pxefs_open): Likewise.
26460
09706ce5
VS
264612010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26462
26463 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26464 * util/grub.d/10_kfreebsd.in: Likewise.
26465 * util/grub.d/10_linux.in: Likewise.
26466
7cc192d9
VS
264672010-02-06 Colin D Bennett <colin@gibibit.com>
26468
26469 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26470 (gfxmenu_mod_SOURCES): New variable.
26471 (gfxmenu_mod_CFLAGS): Likewise.
26472 (gfxmenu_mod_LDFLAGS): Likewise.
26473 * include/grub/term.h (grub_term_set_current_output): Declare
26474 argument as const.
26475 * docs/gfxmenu-theme-example.txt: New file.
26476 * gfxmenu/gfxmenu.c: Likewise.
26477 * gfxmenu/gui_box.c: Likewise.
26478 * gfxmenu/gui_canvas.c: Likewise.
26479 * gfxmenu/gui_circular_progress.c: Likewise.
26480 * gfxmenu/gui_image.c: Likewise.
26481 * gfxmenu/gui_label.c: Likewise.
26482 * gfxmenu/gui_list.c: Likewise.
26483 * gfxmenu/gui_progress_bar.c: Likewise.
26484 * gfxmenu/gui_string_util.c: Likewise.
26485 * gfxmenu/gui_util.c: Likewise.
26486 * gfxmenu/icon_manager.c: Likewise.
26487 * gfxmenu/model.c: Likewise.
26488 * gfxmenu/named_colors.c: Likewise.
26489 * gfxmenu/theme_loader.c: Likewise.
26490 * gfxmenu/view.c: Likewise.
26491 * gfxmenu/widget-box.c: Likewise.
26492 * include/grub/gfxmenu_model.h: Likewise.
26493 * include/grub/gfxmenu_view.h: Likewise.
26494 * include/grub/gfxwidgets.h: Likewise.
26495 * include/grub/gui.h: Likewise.
26496 * include/grub/gui_string_util.h: Likewise.
26497 * include/grub/icon_manager.h: Likewise.
26498
264992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 Agglomerate scrolling in gfxterm.
26502
26503 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26504 (grub_virtual_screen_setup): Initialise 'total_screen'.
26505 (write_char): Split to ...
26506 (paint_char): ... this ...
26507 (write_char): ... and this.
26508 (paint_char): Handle delayed scrolling.
26509 (draw_cursor): Likewise.
26510 (scroll_up): Split to ...
26511 (real_scroll): ... this ...
26512 (scroll_up): ... and this.
26513 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26514 characters.
26515 (grub_gfxterm_refresh): Call real_scroll.
26516
265172010-02-06 Colin D Bennett <colin@gibibit.com>
26518
26519 * include/grub/misc.h (grub_iscntrl): New inline function.
26520 (grub_isalnum): Likewise.
26521 (grub_strtol): Likewise.
26522
265232010-02-06 Colin D Bennett <colin@gibibit.com>
26524
26525 * normal/menu_text.c (get_entry_number): Move from here ...
26526 * normal/menu.c (get_entry_number): ... moved here.
26527 * include/grub/menu.h (grub_menu_get_default_entry_index):
26528 New prototype.
26529 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26530 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26531 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26532 (grub_menu_viewer_should_return): Likewise.
26533 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26534 * normal/menu_text.c (run_menu): Enable menu switching.
26535 * normal/menu_viewer.c (should_return): New variable.
26536 (menu_viewer_changed): Likewise.
26537 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26538 (grub_menu_viewer_should_return): New function.
26539 (menuviewer_write_hook): Likewise.
26540 (grub_menu_viewer_init): Likewise.
26541
265422010-02-06 Colin D Bennet <colin@gibibit.com>
265432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 Support for gfxterm in a window.
26546
26547 * include/grub/gfxterm.h: New file.
26548 * include/grub/video.h (struct grub_video_rect): New declaration.
26549 (grub_video_rect_t): Likewise.
26550 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26551 (refcount): New variable.
26552 (render_target): Likewise.
26553 (window): Likewise.
26554 (repaint_callback): Likewise.
26555 (grub_virtual_screen_setup): Use 'render_target'.
26556 (init_window): New function.
26557 (grub_gfxterm_init_window): Likewise.
26558 (grub_gfxterm_init): Check reference counter.
26559 Use init_window.
26560 (destroy_window): New function.
26561 (grub_gfxterm_destroy_window): Likewise.
26562 (grub_gfxterm_fini): Check reference counter.
26563 Use destroy_window.
26564 (redraw_screen_rect): Restore viewport.
26565 Use 'render_target' and 'window'.
26566 Call 'repaint_callback'.
26567 (write_char): Use 'render_target'.
26568 (draw_cursor): Likewise.
26569 (scroll_up): Restore viewport.
26570 Use 'render_target' and 'window'.
26571 Call 'repaint_callback'.
26572 (grub_gfxterm_cls): Likewise.
26573 (grub_gfxterm_refresh): Use 'window'.
26574 (grub_gfxterm_set_repaint_callback): New function.
26575 (grub_gfxterm_background_image_cmd): Use 'window'.
26576 (grub_gfxterm_get_term): New function.
26577 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26578
265792010-02-06 Colin D Bennett <colin@gibibit.com>
26580
26581 Bitmap scaling support.
26582
26583 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26584 (bitmap_scale_mod_SOURCES): New variable.
26585 (bitmap_scale_mod_CFLAGS): Likewise.
26586 (bitmap_scale_mod_LDFLAGS): Likewise.
26587 * include/grub/bitmap_scale.h: New file.
26588 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26589 (background_image_cmd_options): New variable.
26590 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26591 (cmd): Rename and change type to ...
26592 (background_image_cmd_handle): ... this. All users updated.
26593 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26594 * video/bitmap_scale.c: New file.
26595
265962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 SDL support.
26599
26600 * Makefile.in (LIBSDL): New variable.
26601 (enable_grub_emu_sdl): Likewise.
26602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26603 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26604 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26605 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26606 * util/sdl.c: New file.
26607
266082010-02-06 Colin D Bennett <colin@gibibit.com>
266092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26610
26611 Double buffering support.
26612
26613 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26614 * include/grub/video.h: Update comment.
26615 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26616 New type.
26617 (grub_video_fb_doublebuf_blit_init): New prototype.
26618 * term/gfxterm.c (scroll_up): Support double buffering.
26619 (grub_gfxterm_refresh): Likewise.
26620 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26621 (grub_video_fb_doublebuf_blit_init): Likewise.
26622 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26623 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26624 'displayed_page', 'render_page' and 'update_screen'.
26625 (grub_video_vbe_fini): Free offscreen buffer.
26626 (doublebuf_pageflipping_commit): New function.
26627 (doublebuf_pageflipping_update_screen): Likewise.
26628 (doublebuf_pageflipping_init): Likewise.
26629 (double_buffering_init): Likewise.
26630 (grub_video_vbe_setup): Enable doublebuffering.
26631 (grub_video_vbe_swap_buffers): Implement.
26632 (grub_video_vbe_set_active_render_target): Handle double buffering.
26633 (grub_video_vbe_get_active_render_target): Likewise.
26634 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26635 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26636 (grub_video_vbe_enable_double_buffering): Likewise.
26637 (grub_video_vbe_swap_buffers): Use update_screen.
26638 (grub_video_set_mode): Use double buffering.
26639
266402010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26641
26642 * maintainance/gentrigtables.py: Remove.
26643 * lib/trig.c: Likewise.
26644
26645 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26646
26647 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26648 `trigtables.c'.
26649 (trigtables.c): New rule.
26650 (gentrigtables): Likewise.
26651 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26652
266532010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26654
26655 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26656 integer constants.
26657
266582010-02-06 Colin D Bennet <colin@gibibit.com>
26659
26660 Trigonometry support.
26661
26662 * include/grub/trig.h: New file.
26663 * lib/trig.c: Likewise.
26664 * maintainance/gentrigtables.py: Likewise.
26665 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26666 (trig_mod_SOURCES): New variable.
26667 (trig_mod_CFLAGS): Likewise.
26668 (trig_mod_LDFLAGS): Likewise.
26669
5562834e
VS
266702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26671
26672 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26673 disk devices.
26674
4f8528fc
VS
266752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26676
26677 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26678 error.
26679
2b4068e9
VS
266802010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26681
26682 * util/hostdisk.c (open_device): Don't use partition device when reading
26683 before the partition.
26684 (grub_util_biosdisk_read): Don't read from partition and before the
26685 partition in single operation.
26686 (grub_util_biosdisk_write): Don't write to partition and before the
26687 partition in single operation.
26688
399f6e4d
TL
266892010-02-03 Torsten Landschoff <torsten@debian.org>
26690
26691 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26692 last sectors.
26693
996649b0
VS
266942010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26695
26696 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26697 CDROM reads.
26698 (grub_biosdisk_write): Refuse to write to CDROM.
26699
3b205d4d
VS
267002010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26701
26702 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26703
61e89d9d
VS
267042010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 * font/font.c (find_glyph): Check that bmp_idx is available before
26707 using it.
26708 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26709 with (font == NULL).
26710
bf7fcba2
CS
267112010-01-28 Christian Schmitt <chris@ilovelinux.de>
26712
26713 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26714
f45d2663
BC
267152010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26716
26717 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26718 * util/grub-script-check.c (getline): Fix empty lines case.
26719
ec1444e6
RM
267202010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26721
26722 * Makefile.in (check): Exit with fail status when one of the tests
26723 fails.
26724 * tests/example_functional_test.c (example_test): Fix reversed assert.
26725 * tests/example_unit_test.c (example_test): Likewise.
26726
2e1cb9bb
CW
267272010-01-28 Colin Watson <cjwatson@ubuntu.com>
26728
26729 * util/grub.d/10_linux.in: This script does not use any of the
26730 contents of gettext.sh, only the external command `gettext', so stop
26731 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26732 the same prefix as GRUB.)
26733 * util/grub.d/10_kfreebsd.in: Likewise.
26734
63533ab0
VS
267352010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26736
26737 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26738 of the line.
26739
989e1f93
VS
267402010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26741
26742 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26743 last sectors.
26744
e709ebe2
VS
267452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26748 having a 4KiB and not 32KiB buffer size.
26749
27dea7ed
RM
267502010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26751
26752 * util/hostfs.c: Include `<errno.h>'.
26753 (grub_hostfs_read): Handle errors from fseeko() and fread().
26754
67667b9c
RM
267552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26758 loop when using read hooks on files whose size isn't sector-aligned.
26759
c294d9d8
RM
267602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26761
26762 Remove unused parameter.
26763
26764 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26765 (grub_iso9660_open): Remove initialization of `data->length'.
26766
af75a9f1
RM
267672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26768
26769 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26770 memleak conditions.
26771
254e2ce5 267722010-01-27 Carles Pina i Estany <carles@pina.cat>
26773
26774 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26775 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26776
b510928c 267772010-01-26 Carles Pina i Estany <carles@pina.cat>
26778
26779 * util/bin2h.c (usage): Fix warning (space after backslash).
26780
aa2f9dd2 267812010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26782
26783 * font/font.c: Include `grub/fontformat.h.
26784 Remove font file format constants.
26785 (grub_font_load): Use the new macros.
26786 * include/grub/fontformat.h: New file.
26787 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26788 (write_font_pf2): Use the new macros.
26789
94e7e712
RM
267902010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26791
26792 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26793 does.
26794
3973a59a
RM
267952010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26796
26797 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26798
26799 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26800 (_start): Macroify `0x7F'.
26801
26802 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26803 (make_install_device): Use "(pxe)" as fallback prefix when booting
26804 via PXE.
26805
42e0cba3
GS
268062010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 * configure.ac: Reset LIBS after check for libgcc symbols.
26809
847effd8
CW
268102010-01-25 Colin Watson <cjwatson@ubuntu.com>
26811
26812 * util/hostdisk.c (open_device): Add trailing newline to debug
26813 message.
26814
ea4a7e35
GS
268152010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26816
26817 * configure.ac: Check for `limits.h'.
26818 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26819
67951a53
RM
268202010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26821
26822 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26823 capitalize error strings.
26824
c273d4ce
ST
268252010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26826
26827 * util/grub.d/10_hurd.in: Add a recovery mode.
26828
69be5b74
VS
268292010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26830
26831 * configure.ac: Check for libgcc symbols with -nostdlib.
26832
fc9e5810
BC
268332010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26834
26835 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26836
4b358c0a
VS
268372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26838
26839 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26840 stack since heap may be unavailable at that point.
26841 (grub_ofconsole_gotoxy): Likewise.
26842
454fcd1c
VS
268432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26844
26845 * configure.ac: Check for _restgpr_14_x.
26846 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26847 and _savegpr_* prototypes.
26848
566863ca
RM
268492010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26850
26851 Use generic grub_reboot() for i386-efi.
26852
26853 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26854 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26855 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26856
bf86e59a
VS
268572010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26858
26859 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26860 presence of "prefix" variable as it breaks when normal.mod is
26861 embedded.
26862
d645e0f8
VS
268632010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26864
26865 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26866 stack since heap is unavailable at that point.
26867
f9ab2e25
VS
268682010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26871 (grub_freebsd_bootinfo): Rewritten.
26872 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26873
01fc7054
VS
268742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26875
26876 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26877
caab4fd6
RM
268782010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26881 domain now.
26882
67eb1427
FZ
268832010-01-20 Felix Zielcke <fzielcke@z-51.de>
26884
26885 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26886 around for handling "/" to the correct fix. Fix a memory leak. Use
26887 xstrdup instead of strdup.
26888
a9ed4ff3
VS
268892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26892
268932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26894
26895 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26896
26897 * font/font.c (struct grub_font): New member 'bmp_idx'.
26898 (font_init): Initialise 'bmp_idx'.
26899 (load_font_index): Fill 'bmp_idx'.
26900 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26901
48209f4f
VS
269022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26903
26904 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26905 unnecessary calls.
26906
9f0a4bb7
VS
269072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 Move context handling out of the kernel.
26910
26911 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26912 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26913 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26914 * conf/i386-efi.rmk: Likewise.
26915 * conf/i386-ieee1275.rmk: Likewise.
26916 * conf/i386-pc.rmk: Likewise.
26917 * conf/powerpc-ieee1275.rmk: Likewise.
26918 * conf/sparc64-ieee1275.rmk: Likewise.
26919 * conf/x86_64-efi.rmk: Likewise.
26920 * include/grub/env.h: Include grub/menu.h.
26921 (grub_env_var_type): Removed.
26922 (grub_env_var): Replaced field 'type' with 'global'.
26923 (grub_env_find): New prototype.
26924 (grub_env_context_open): Remove EXPORT_FUNC.
26925 (grub_env_context_close): Likewise.
26926 (grub_env_export): Likewise.
26927 (grub_env_set_data_slot): Removed.
26928 (grub_env_get_data_slot): Likewise.
26929 (grub_env_unset_data_slot): Likewise.
26930 (grub_env_unset_menu): New prototype.
26931 (grub_env_set_menu): Likewise.
26932 (grub_env_get_menu): Likewise.
26933 * include/grub/env_private.h: New file.
26934 * include/grub/normal.h (grub_context_init): New prototype.
26935 (grub_context_fini): Likewise.
26936 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26937 * normal/context.c (grub_cmd_export): ... to here.
26938 * kern/env.c: Include env_private.h.
26939 (HASHSZ): Moved to include/grub/env_private.h.
26940 (grub_env_context): Likewise.
26941 (grub_env_sorted_var): Likewise.
26942 (current_context): Renamed from this ...
26943 (grub_current_context): ...to this. 'static' removed. All users updated.
26944 (grub_env_find): Removed 'static'.
26945 (grub_env_context_open): Moved to normal/context.c.
26946 (grub_env_context_close): Likewise.
26947 (grub_env_export): Likewise.
26948 (mangle_data_slot_name): Removed.
26949 (grub_env_set_data_slot): Likewise.
26950 (grub_env_get_data_slot): Likewise.
26951 (grub_env_unset_data_slot): Likewise.
26952 * kern/main.c (grub_set_root_dev): Don't export root.
26953 It will be done later.
26954 (grub_main): Don't export prefix.
26955 It will be done later.
26956 * normal/context.c: New file.
26957 * normal/main.c (free_menu): Use grub_env_unset_menu.
26958 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26959 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26960 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26961 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26962
8dd35b8c
VS
269632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26964
26965 setpci support.
26966
26967 * commands/setpci.c: New file.
26968 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26969 (setpci_mod_SOURCES): New variable.
26970 (setpci_mod_CFLAGS): Likewise.
26971 (setpci_mod_LDFLAGS): Likewise.
26972
449193d5
VS
269732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26974
26975 Byte-addressable PCI configuration space.
26976
26977 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26978 dword address.
26979 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26980 GRUB_PCI_REG_CACHELINE.
26981 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26982 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26983 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26984 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26985 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26986 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26987 grub_pci_make_address.
26988 (lock_rom_area): Likewise.
26989 * commands/lspci.c (grub_lspci_iter): Use macroses
26990 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26991 of grub_pci_make_address.
26992 * disk/ata.c (grub_ata_pciinit): Likewise.
26993 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26994 (GRUB_PCI_REG_VENDOR): Likewise.
26995 (GRUB_PCI_REG_DEVICE): Likewise.
26996 (GRUB_PCI_REG_COMMAND): Likewise.
26997 (GRUB_PCI_REG_STATUS): Likewise.
26998 (GRUB_PCI_REG_REVISION): Likewise.
26999 (GRUB_PCI_REG_CLASS): Likewise.
27000 (GRUB_PCI_REG_CACHELINE): Likewise.
27001 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27002 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27003 (GRUB_PCI_REG_BIST): Likewise.
27004 (GRUB_PCI_REG_ADDRESSES): Likewise.
27005 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27006 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27007 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27008 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27009 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27010 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27011 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27012 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27013 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27014 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27015 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27016 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27017 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27018 (GRUB_PCI_REG_MIN_GNT): Likewise.
27019 (GRUB_PCI_REG_MAX_LAT): Likewise.
27020 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27021 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27022 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27023 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27024 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27025 space.
27026
96d73208
RM
270272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27028
27029 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27030 can be reliably determined to be supported.
27031
d4484482
RM
270322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27033
27034 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27035 that VESA is supported.
27036 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27037 supported.
27038
00308ecf
VS
270392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27040
27041 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27042
f66924a4
RM
270432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27044
27045 * util/misc.c (make_system_path_relative_to_its_root): Work around
27046 special-casing of "/", as previous incarnation of this routine did.
27047
cbca0ada
VS
270482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 Fix any-emu compilation.
27051
27052 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27053 * grub_bin2h_SOURCES: New variable.
27054
34a66d99
RM
270552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27056
27057 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27058
94fabf58
RM
270592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27060
27061 * util/grub.d/00_header.in: Fix handling of locale_dir.
27062
02cf98ca
VS
270632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27064
27065 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27066 as possible unifont location (Gentoo).
27067 Reported by: Alexander Brüning
27068
327dbcd7
VS
270692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 Don't try to generate lists for kernel.img.
27072
27073 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27074 (pkglib_MODULES): Remove kernel.img.
27075 (kernel_img_EXPORTS): Removed.
27076 (kernel_img_RELOCATABLE): New variable.
27077 * conf/x86_64-efi.rmk: Likewise.
27078 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27079
ca467290
VS
270802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27081
27082 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27083 grub_xasprintf or grub_snprintf.
27084 (grub_vsprintf): Likewise.
27085 (grub_snprintf): New proto.
27086 (grub_vsnprintf): Likewise.
27087 (grub_xasprintf): Likewise.
27088 (grub_xvasprintf): Likewise.
27089 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27090 (grub_sprintf): Removed.
27091 (grub_vsnprintf): New function.
27092 (grub_snprintf): Likewise.
27093 (grub_xvasprintf): Likewise.
27094 (grub_xasprintf): Likewise.
27095 (grub_vsprintf): Renamed to ...
27096 (grub_vsnprintf_real): ...this. New argument max_len.
27097
aca655fd
BC
270982010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27099
27100 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27101 fix grub-script-check warning.
27102
7ee92c32
VS
271032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27104
27105 * include/grub/font.h (grub_font_load): Fix prototype.
27106
f80927ca
VS
271072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27110
119c50ea
VS
271112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27112
27113 * include/grub/x86_64/at_keyboard.h: New file.
27114
47d5f3c1
VS
271152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27116
27117 * loader/mips/linux.c: Include missing grub/i18n.h.
27118
55ff5266
RM
271192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27120
27121 * normal/menu.c (notify_execution_failure): Clarify error message.
27122
c893cc87
RM
271232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27124
27125 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27126 return value (and revert all return statements). Update users.
27127
917dd370
CW
271282010-01-20 Dan Merillat <debian@dan.merillat.org>
27129
27130 * kern/device.c (grub_device_iterate): Allocate new part_ent
27131 structure based on sizeof (*p) rather than sizeof (p->next), to
27132 account for structure padding.
27133
27134 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27135 disk is NULL, which might happen for LVM physical volumes with no
27136 LVM signature.
27137
d4a4ee57
RM
271382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27139
27140 * loader/mips/linux.c (grub_cmd_initrd)
27141 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27142
271432009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27144
27145 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27146 (grub_video_video_init, grub_video_bitmap_init)
27147 (grub_font_manager_init, grub_term_gfxterm_init)
27148 (grub_at_keyboard_init): New extern declarations.
27149 (grub_machine_init): Initialize gfxterm and at_keyboard.
27150
27151 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27152
27153 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27154 `gfxterm.mod' into core image.
27155
27156 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27157 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27158 (kernel_img_FORMAT): Copy to ...
27159
27160 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27161 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27162 (kernel_img_FORMAT): ... here, and ...
27163
27164 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27165 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27166 (kernel_img_FORMAT): ... here.
27167
27168 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27169 and input (at_keyboard) terminals in kernel.
27170 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27171
27172 (pkglib_MODULES): Remove `pci.mod'.
27173 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27174 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27175 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27176 (at_keyboard_mod_LDFLAGS): Remove variables.
27177
271782010-01-11 Felix Zielcke <fzielcke@z-51.de>
27179
27180 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27181
271822009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27183
27184 * include/grub/mips/libgcc.h: Only export symbols for functions
27185 that libgcc provides.
27186
271872009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 MIPS support.
27190
27191 * bus/bonito.c: New file.
27192 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27193 GRUB_PCI_NUM_DEVICES.
27194 * term/i386/pc/serial.c: Move to ...
27195 * term/serial.c: ... here. All users updated.
27196 * util/i386/pc/grub-mkimage.c: Move to ...
27197 * util/grub-mkrawimage.c: ... here. All users updated.
27198 * term/i386/pc/at_keyboard.c: Move to ...
27199 * term/at_keyboard.c: ... here. All users updated.
27200 * conf/mips-qemu-mips.rmk: New file.
27201 * conf/mips-yeeloong.rmk: Likewise.
27202 * conf/mips.rmk: Likewise.
27203 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27204 mipsel-qemu-mips.
27205 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27206 to port addresses.
27207 (grub_ata_pciinit): Support CS5536.
27208 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27209 * font/font_cmd.c (loadfont_command): Open file before passing it to
27210 grub_font_load.
27211 (pseudo_file_read): New function.
27212 (pseudo_file_close): Likewise.
27213 (pseudo_fs): New structure.
27214 (load_font_module): New function.
27215 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27216 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27217 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27218 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27219 * include/grub/i386/at_keyboard.h: Split into ...
27220 * include/grub/at_keyboard.h: ... this ...
27221 * include/grub/i386/at_keyboard.h: ... and this.
27222 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27223 New prototype.
27224 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27225 updated.
27226 (grub_elf64_size): Likewise.
27227 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27228 filename.
27229 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27230 * include/grub/i386/coreboot/serial.h: Rewritten.
27231 * include/grub/i386/ieee1275/serial.h: Include
27232 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27233 * include/grub/i386/pc/serial.h: Moved from here ...
27234 * include/grub/serial.h: ... to here. All users updated.
27235 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27236 (GRUB_PCI_NUM_BUS): Likewise.
27237 (GRUB_PCI_NUM_DEVICES): Likewise.
27238 (grub_pci_device_map_range): Add missing volatile keyword.
27239 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27240 * include/grub/mips/at_keyboard.h: New file.
27241 * include/grub/mips/cache.h: Likewise.
27242 * include/grub/mips/io.h: Likewise.
27243 * include/grub/mips/kernel.h: Likewise.
27244 * include/grub/mips/libgcc.h: Likewise.
27245 * include/grub/mips/pci.h: Likewise.
27246 * include/grub/mips/qemu-mips/boot.h: Likewise.
27247 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27248 * include/grub/mips/qemu-mips/loader.h: Likewise.
27249 * include/grub/mips/qemu-mips/memory.h: Likewise.
27250 * include/grub/mips/qemu-mips/serial.h: Likewise.
27251 * include/grub/mips/qemu-mips/time.h: Likewise.
27252 * include/grub/mips/relocator.h: Likewise.
27253 * include/grub/mips/time.h: Likewise.
27254 * include/grub/mips/types.h: Likewise.
27255 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27256 * include/grub/mips/yeeloong/boot.h: Likewise.
27257 * include/grub/mips/yeeloong/kernel.h: Likewise.
27258 * include/grub/mips/yeeloong/loader.h: Likewise.
27259 * include/grub/mips/yeeloong/memory.h: Likewise.
27260 * include/grub/mips/yeeloong/pci.h: Likewise.
27261 * include/grub/mips/yeeloong/serial.h: Likewise.
27262 * include/grub/mips/yeeloong/time.h: Likewise.
27263 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27264 * kern/elf.c (grub_elf32_size): New parameter. All users
27265 updated.
27266 (grub_elf64_size): Likewise.
27267 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27268 Load modules before saying "Welcome to GRUB!".
27269 Call grub_refresh after saying "Welcome to GRUB!".
27270 * kern/mips/cache.S: New file.
27271 * kern/mips/cache_flush.S: Likewise.
27272 * kern/mips/dl.c: Likewise.
27273 * kern/mips/init.c: Likewise.
27274 * kern/mips/qemu-mips/init.c: Likewise.
27275 * kern/mips/startup.S: Likewise.
27276 * kern/mips/yeeloong/init.c: Likewise.
27277 * kern/term.c (grub_putcode): Handle NULL terminal.
27278 (grub_getcharwidth): Likewise.
27279 (grub_getkey): Likewise.
27280 (grub_checkkey): Likewise.
27281 (grub_getkeystatus): Likewise.
27282 (grub_getxy): Likewise.
27283 (grub_getwh): Likewise.
27284 (grub_gotoxy): Likewise.
27285 (grub_cls): Likewise.
27286 (grub_setcolorstate): Likewise.
27287 (grub_setcolor): Likewise.
27288 (grub_getcolor): Likewise.
27289 (grub_refresh): Likewise.
27290 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27291 (write_jump): Add hatch nop.
27292 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27293 * lib/mips/setjmp.S: New file.
27294 * loader/mips/linux.c: Likewise.
27295 * term/i386/pc/at_keyboard.c: Move from here ...
27296 * term/at_keyboard.c: ... to here.
27297 * term/i386/pc/serial.c: Moved from here ...
27298 * term/serial.c: ... to here. All users updated.
27299 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27300 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27301 (serial_translate_key_sequence): Avoid deadlock.
27302 (grub_serial_getkey): Handle backspace.
27303 (grub_serial_putchar): Fix newline handling.
27304 * util/i386/pc/grub-mkimage.c: Move from here ...
27305 * util/grub-mkrawimage.c: ... to here. All users updated.
27306 (generate_image): New parameters 'font_path' and 'format'.
27307 Support embedding font.
27308 Use grub_host_to_target* instead of grub_cpu_to_le*.
27309 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27310 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27311 (options): New option "--font".
27312 (usage): Likewise.
27313 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27314 (main): Handle "--font".
27315 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27316 (grub_virtual_screen_setup): Set bg_color_display.
27317 (redraw_screen_rect): Use bg_color_display instead of incorrect
27318 bg_color.
27319 (grub_gfxterm_cls): Likewise.
27320 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27321 Support embedding config file.
27322 (add_segments): Likewise.
27323 (options): New option "--config".
27324 (main): Handle "--config".
27325 * video/sm712.c: New file.
27326
25c2b5b3
RM
273272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27328
27329 Fix parallel builds.
27330
27331 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27332 font.c depend on ascii.h).
27333
273342010-01-12 Carles Pina i Estany <carles@pina.cat>
27335
27336 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27337
273382010-01-11 Carles Pina i Estany <carles@pina.cat>
27339
27340 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27341 By default: disabled.
27342 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27343 parameter.
27344
273452010-01-10 Carles Pina i Estany <carles@pina.cat>
27346
27347 * font/font.c: Update copyright years.
27348 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27349
273502010-01-10 Carles Pina i Estany <carles@pina.cat>
27351
27352 * font/font.c: Include `ascii.h'.
27353 (ASCII_BITMAP_SIZE): New macro.
27354 (ascii_font_glyph): Define.
27355 (ascii_glyph_lookup): New function.
27356 (grub_font_get_string_width): Change comment. If glyph not found, use
27357 ascii_glyph_lookup.
27358 (grub_font_get_glyph_with_fallback): If glyph not available returns
27359 ascii_glyph_lookup.
27360 * util/grub-mkfont.c (file_formats): New enum.
27361 (options): Add `ascii-bitmaps' new option.
27362 (usage): Add `asii-bitmaps' new option.
27363 (write_font_ascii_bitmap): New function.
27364 (write_font): Rename to ...
27365 (write_font_p2): ... this. Remove print_glyphs call.
27366 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27367 used. Call print_glyphs.
27368 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27369
273702010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27371
27372 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27373 (grub_bin2h_SOURCES): New variable.
27374 * util/bin2h.c: New file.
27375
915fc1b8
VS
273762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 * include/multiboot.h: Resynced with spec.
27379 * include/multiboot2.h: Likewise.
27380 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27381 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27382
9444b678
RM
273832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27384
27385 * include/grub/term.h (grub_term_register_input,
27386 grub_term_register_output): Check return of terminal init()
27387 routines, and abort if errors are raised.
27388
27389 * commands/terminal.c: Update copyright year.
27390
cba98e8d
RM
273912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27392
27393 * commands/terminal.c (grub_cmd_terminal_input)
27394 (grub_cmd_terminal_output): Check return of terminal init()
27395 routines, and abort if errors are raised.
27396
6f7db5d6
VS
273972010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27398
27399 * include/grub/i386/bsd.h: Fix include pathes.
27400
262bff8d
VS
274012010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27402
27403 Add missing *BSD copyright headers.
27404
27405 * include/grub/aout.h: Add BSD licence.
27406 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27407 * include/grub/i386/freebsd_linker.h: ... here,
27408 * include/grub/i386/freebsd_reboot.h: ... here,
27409 * include/grub/i386/netbsd_bootinfo.h: ... here,
27410 * include/grub/i386/netbsd_reboot.h: ... here,
27411 * include/grub/i386/openbsd_bootarg.h: ... here,
27412 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27413 licence to each file.
27414
b2cab848
RM
274152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27416
27417 * acinclude.m4: Remove `nop' assembly instruction; it's not
27418 implemented by all architectures.
27419
2cb6be4b
RM
274202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27421
27422 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27423 ELILO. This is no longer necessary.
27424
a2eaee15
BC
274252010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27426
27427 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27428
27429 * util/grub-script-check.c: grub-script-check tool.
27430 * conf/common.rmk: Make rules for grub-script-check.
27431
88d17012
RM
274322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27433
27434 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27435 spotting it back in 2008. Shame on me for forgetting he did.
27436
27437 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27438
8040619d
RM
274392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27440
27441 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27442 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27443 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27444 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27445 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27446 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27447
a0c2a0f6
RM
274482010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27449
27450 * include/grub/test.h: Add license header.
27451 * tests/example_functional_test.c: Likewise.
27452 * tests/example_unit_test.c: Likewise.
27453 * tests/lib/functional_test.c: Likewise.
27454 * tests/lib/test.c: Likewise.
27455 * tests/lib/unit_test.c: Likewise.
27456
b0b13907
VS
274572010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27458
27459 Use flag-based instead of hook-based video mode selection and "auto"
27460 keyword.
27461
27462 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27463 (grub_video_set_mode): Changed prototype. All users updated.
27464 (grub_video_check_mode_flag): New inline function.
27465 * video/video.c (parse_modespec): New function.
27466 (grub_video_set_mode): Parse flags and keywords.
27467
ea379330 274682010-01-17 Carles Pina i Estany <carles@pina.cat>
27469
27470 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27471 fprintf call.
27472
e15c215e
FZ
274732010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27474
27475 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27476
409ae1c9 274772010-01-16 Carles Pina i Estany <carles@pina.cat>
27478
27479 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27480 string.
27481 * util/grub-emu.c (usage): Likewise.
27482 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27483 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27484 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27485 * util/i386/pc/grub-setup.c (usage): Likewise.
27486
70a14d3d 274872010-01-16 Carles Pina i Estany <carles@pina.cat>
27488
27489 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27490 the message.
27491 (grub_util_info): Likewise.
27492 (grub_util_error): Likewise.
27493 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27494 and/or new lines in `grub_util_warna', `grub_util_info',
27495 `grub_util_error' calls.
27496 * util/getroot.c: Likewise.
27497 * util/grub-editenv.c: Likewise.
27498 * util/grub-emu.c: Likewise.
27499 * util/grub-fstest.c: Likewise.
27500 * util/grub-mkdevicemap.c: Likewise.
27501 * util/grub-mkfont.c: Likewise.
27502 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27503 * util/grub-mkrelpath.c: Likewise.
27504 * util/grub-pe2elf.c: Likewise.
27505 * util/grub-probe.c: Likewise.
27506 * util/hostdisk.c: Likewise.
27507 * util/i386/efi/grub-mkimage.c: Likewise.
27508 * util/i386/pc/grub-mkimage.c: Likewise.
27509 * util/i386/pc/grub-setup.c: Likewise.
27510 * util/ieee1275/ofpath.c: Likewise.
27511 * util/mkisofs/eltorito.c: Likewise.
27512 * util/mkisofs/rock.c: Likewise.
27513 * util/mkisofs/write.c: Likewise.
27514 * util/raid.c: Likewise.
27515 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27516 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27517
a0b766fc
VS
275182010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27519
27520 Enable multiboot on non-pc.
27521
27522 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27523 multiboot.mod and multiboot2.mod to ...
27524 * conf/i386.rmk (pkglib_MODULES): ... here.
27525 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27526 Moved to ...
27527 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27528 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27529 Moved to ...
27530 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27531 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27532 Moved to ...
27533 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27534 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27535 Moved to ...
27536 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27537 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27538 relocator.mod.
27539 (ata_mod_SOURCES): Removed.
27540 (ata_mod_CFLAGS): Likewise.
27541 (ata_mod_LDFLAGS): Likewise.
27542 (relocator_mod_SOURCES): Removed.
27543 (relocator_mod_CFLAGS): Likewise.
27544 (relocator_mod_ASFLAGS): Likewise.
27545 (relocator_mod_LDFLAGS): Likewise.
27546 Include i386.mk.
27547 * include/grub/x86_64/multiboot.h: New file.
27548 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27549 Terminate EFI.
27550
884ade56
VS
275512010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27552
27553 Video multiboot support.
27554
27555 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27556 New prototype.
27557 * include/multiboot.h: Resynced with multiboot specification.
27558 * include/multiboot2.h: Likewise.
27559 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27560 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27561 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27562 (HAS_VGA_TEXT): Likewise.
27563 (accepts_video): New variable.
27564 (grub_multiboot_set_accepts_video): New function.
27565 (grub_multiboot_get_mbi_size): Account for video structures.
27566 (set_video_mode): New function.
27567 (retrieve_video_parameters): Likewise.
27568 (grub_multiboot_make_mbi): Fill video fields.
27569
0d90e8a6
VS
275702010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27571
27572 Video driver ids.
27573
27574 * include/grub/video.h (grub_video_driver_id): New type.
27575 (grub_video_adapter): New member 'id'. All users updated.
27576 (grub_video_get_driver_id): New proto.
27577 * video/video.c (grub_video_get_driver_id): New function.
27578
5c71db1b 275792010-01-14 Carles Pina i Estany <carles@pina.cat>
27580
27581 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27582 `var=val'.
27583
cca15b52 275842010-01-14 Carles Pina i Estany <carles@pina.cat>
27585
27586 * normal/cmdline.c (print_completion): Gettextizze.
27587
c586fbb2 275882001-01-14 Carles Pina i Estany <carles@pina.cat>
27589
27590 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27591
ba2f6848 275922010-01-14 Carles Pina i Estany <carles@pina.cat>
27593
27594 * gettext/gettext.c (grub_gettext_translate): Push and pop
27595 grub_errno.
27596 (grub_gettext_delete_list): Change comment style.
27597 * kern/err.c (grub_error): Gettextizze.
27598 (grub_fatal): Gettextizze.
27599
0a46429a
RM
276002010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27601
27602 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27603 (grub_linux16_real_boot): ... this.
27604 * kern/i386/loader.S: Likewise.
27605 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27606 (grub_linux16_boot): New function. Switches to text mode and calls
27607 grub_linux16_real_boot().
27608
27609 * loader/i386/bsd.c: Include `<grub/video.h>'.
27610 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27611 text mode before calling grub_unix_real_boot().
27612
27613 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27614 (grub_multiboot_boot): Switch to text mode before calling
27615 grub_relocator32_boot().
27616
27617 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27618 (grub_chainloader_boot): Switch to text mode before calling
27619 grub_chainloader_real_boot().
27620
d6f93a66
RM
276212010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276222010-01-05 Colin Watson <cjwatson@ubuntu.com>
27623
27624 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27625 non-empty value.
27626
276272010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276282010-01-05 Colin Watson <cjwatson@ubuntu.com>
27629
27630 * util/grub.d/00_header.in: Define a "savedefault" function for use
27631 in menu entries.
27632 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27633
276342010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
276352010-01-05 Colin Watson <cjwatson@ubuntu.com>
27636
27637 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27638 saved_entry if boot_once is unset.
27639 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27640 previous saved entry (i.e. grub-reboot).
27641
276422009-12-08 Colin Watson <cjwatson@ubuntu.com>
27643
27644 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27645
276462009-12-08 Colin Watson <cjwatson@ubuntu.com>
27647
27648 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27649 `var=val'.
27650 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27651
276522009-12-08 Colin Watson <cjwatson@ubuntu.com>
27653
27654 * util/grub-reboot.in: Fix --version output.
27655 * util/grub-set-default.in: Likewise.
27656
276572009-12-08 Colin Watson <cjwatson@ubuntu.com>
27658
27659 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27660 blocks.
27661
276622009-12-08 Colin Watson <cjwatson@ubuntu.com>
27663
27664 * util/grub.d/00_header.in: Quote the value assigned to `default',
27665 in case it contains spaces.
27666
276672009-12-08 Colin Watson <cjwatson@ubuntu.com>
27668
27669 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27670 `save_default_entry' call from the macosx case to the linux case.
27671
276722009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
276732009-10-25 Colin Watson <cjwatson@ubuntu.com>
27674
27675 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27676 in `chosen' environment variable.
27677 * normal/menu_text.c (get_entry_number): Check if the variable
27678 matches the title of a menu entry.
27679 (run_menu): Pass menu to get_entry_number.
27680
27681 * util/grub-reboot.in: New file.
27682 * util/grub-set-default.in: New file.
27683 * conf/common.rmk (grub-reboot): New utility.
27684 (grub-set-default): New utility.
27685
27686 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27687 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27688 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27689 move it to `saved_entry' for the next boot. Load environment on
27690 initialisation.
27691 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27692 * util/grub.d/10_hurd.in: Likewise.
27693 * util/grub.d/10_linux.in (linux_entry): Likewise.
27694 * util/grub.d/10_windows.in: Likewise.
27695 * util/grub.d/30_os-prober.in: Likewise.
27696
27697 * util/grub-install.in: Create environment block.
27698 * util/i386/efi/grub-install.in: Likewise.
27699 * util/ieee1275/grub-install.in: Likewise.
27700 * util/sparc64/ieee1275/grub-install.in: Likewise.
27701
0934d184
BC
277022010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27703
27704 Unit testing framework for GRUB.
27705
27706 * Makefile.in: Test framework build rules for 'make check'.
27707 * conf/tests.rmk: Build rules for individual tests and framework.
27708
27709 * include/grub/test.h: Header file for whitebox tests.
27710 * tests/lib/functional_test.c: Framework support for whitebox
27711 functional tests.
27712 * tests/lib/test.c: Common whitebox testing code for unit and
27713 functional tests.
27714 * tests/lib/unit_test.c: Framework support for whitebox unit
27715 tests.
27716
27717 * tests/util/grub-shell-tester.in: Support utility for grub-script
27718 tests.
27719 * tests/util/grub-shell.in: Utility to execute grub-script
27720 commands in a Qemu instance.
27721
27722 * tests/example_functional_test.c: Example whitebox functional
27723 test.
27724 * tests/example_grub_script_test.in: Example grub-script test.
27725 * tests/example_scripted_test.in: Example scripted test.
27726 * tests/example_unit_test.c: Example whitebox unit test.
27727
9c4ffeeb
VS
277282010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27729
27730 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27731 Add loader/i386/multiboot_mbi.c.
27732 (multiboot2_mod_SOURCES): Likewise.
27733 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27734 (multiboot2_mod_SOURCES): Likewise.
27735 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27736 (grub_multiboot_make_mbi): Likewise.
27737 (grub_multiboot_free_mbi): Likewise.
27738 (grub_multiboot_init_mbi): Likewise.
27739 (grub_multiboot_add_module): Likewise.
27740 (grub_multiboot_set_bootdev): Likewise.
27741 * loader/i386/multiboot.c (mbi): Removed.
27742 (mbi_dest): Likewise.
27743 (alloc_mbi): New variable.
27744 (grub_multiboot_payload_size): Removed. All users updated.
27745 (grub_multiboot_pure_size): New variable.
27746 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27747 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27748 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27749 (grub_fill_multiboot_mmap): Likewise.
27750 (grub_multiboot_get_bootdev): Likewise.
27751 (grub_multiboot): Use multiboot_mbi functions.
27752 * loader/i386/multiboot_mbi.c: New file.
27753
17383dfe
VS
277542010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27757 it would result in module crash.
27758
c1f28820
VS
277592010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27760
27761 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27762 (grub_ofconsole_getwh): Split to ...
27763 (grub_ofconsole_getwh): ... this.
27764 (grub_ofconsole_dimensions): ...and this.
27765 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27766
58655a16
RM
277672010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27768
27769 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27770
10891398
VS
277712010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 * loader/i386/pc/multiboot2.c: Removed stalled file.
27774
0b8a223c
VS
277752010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27776
27777 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27778 Reported by: Grégoire Sutre
27779
92ab12b0
RM
277802010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27781
27782 * util/misc.c (canonicalize_file_name): New function.
27783 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27784 instead of realpath().
27785
a788afb6
CW
277862010-01-11 Colin Watson <cjwatson@ubuntu.com>
27787
27788 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27789 and make it clearer that it's optional. Based on confusion
27790 witnessed on IRC.
27791
ffa8e3d2
VS
277922010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27793
27794 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27795 in premature implicit newline.
27796
e9060a9d
VS
277972010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27798
27799 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27800 which resulted in garbled command line at the end of screen.
27801
f0d0c0b7
RM
278022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27803
27804 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27805 initialization with similar approach as with other Linux loaders.
27806
0e60bae7
RM
278072010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27808
27809 Fix i386-ieee1275 build.
27810
27811 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27812 and grub_term_height() for video_{width,height} initialization.
27813
278142010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27815
27816 Fix grub-emu build.
27817
27818 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27819
cdb3f378
RM
278202010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
278212010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27822
27823 Support for multiple terminals.
27824
27825 * Makefile.in (pkglib_DATA): terminal.lst.
27826 (terminal.lst): New target.
27827 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27828 (GRUB_MOD_INIT(handler)): Likewise.
27829 (GRUB_MOD_FINI(handler)): Likewise.
27830 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27831 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27832 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27833 (grub_cmd_sleep): Use grub_term_save_pos.
27834 * commands/terminal.c: New file.
27835 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27836 commands/terminal.c and lib/charset.c.
27837 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27838 (pkglib_MODULES): Add terminal.mod.
27839 (terminal_mod_SOURCES): New variable.
27840 (terminal_mod_CFLAGS): Likewise.
27841 (terminal_mod_LDFLAGS): Likewise.
27842 * genhandlerlist.sh: Don't handle terminals.
27843 * genmk.rb: Generate terminal-*.lst.
27844 * genterminallist.sh: New file.
27845 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27846 (grub_is_valid_utf8): Likewise.
27847 (grub_utf8_to_ucs4_alloc): Likewise.
27848 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27849 (grub_menu_register_viewer): Changed argument.
27850 (grub_menu_try_text): New proto.
27851 (grub_gfxmenu_try_hook): New declaration.
27852 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27853 (grub_menu_init_page): Additional argument term.
27854 (grub_normal_init_page): Likewise.
27855 (grub_cmdline_get): Arguments simplified.
27856 (grub_utf8_to_ucs4_alloc): Removed.
27857 (grub_print_ucs4): Additional argument term.
27858 (grub_getstringwidth): Likewise.
27859 (grub_print_message_indented): Likewise.
27860 (grub_menu_text_register_instances): New proto.
27861 (grub_show_menu): Likewise.
27862 (read_terminal_list): Likewise.
27863 (grub_set_more): Likewise.
27864 * include/grub/parser.h: Include handler.h.
27865 * include/grub/reader.h: Rewritten.
27866 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27867 (GRUB_TERM_WIDTH): Changed to function.
27868 (GRUB_TERM_HEIGHT): Likewise.
27869 (GRUB_TERM_BORDER_WIDTH): Likewise.
27870 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27871 (GRUB_TERM_NUM_ENTRIES): Likewise.
27872 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27873 (GRUB_TERM_CURSOR_X): Likewise.
27874 (grub_term_input_class): Likewise.
27875 (grub_term_output_class): Likewise.
27876 (grub_term_outputs_disabled): New declaration.
27877 (grub_term_inputs_disabled): Likewise.
27878 (grub_term_outputs): Likewise.
27879 (grub_term_inputs): Likewise.
27880 (grub_term_register_input): Rewritten.
27881 (grub_term_register_output): Likewise.
27882 (grub_term_unregister_input): Likewise.
27883 (grub_term_unregister_output): Likewise.
27884 (FOR_ACTIVE_TERM_INPUTS): New macro.
27885 (FOR_DISABLED_TERM_INPUTS): Likewise.
27886 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27887 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27888 * include/grub/terminfo.h: Add oterm argument to all protypes.
27889 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27890 Use grub_rescue_run.
27891 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27892 All users updated.
27893 * kern/reader.c: Removed. All users updated.
27894 * kern/rescue_reader.c (grub_rescue_init): Removed.
27895 (grub_rescue_reader): Likewise.
27896 (grub_register_rescue_reader): Likewise.
27897 (grub_rescue_run): New function based on kern/reader.c.
27898 * kern/term.c: Adapted for multiterm.
27899 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27900 (grub_is_valid_utf8): Likewise.
27901 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27902 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27903 right terminal.
27904 * loader/i386/linux.c (grub_linux_boot): Likewise.
27905 * normal/auth.c (grub_username_get): New function.
27906 (grub_auth_check_authentication): Use grub_username_get.
27907 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27908 * normal/color.c: Adapt for multiterm.
27909 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27910 (grub_normal_init_page): Additional argument term.
27911 (read_lists): Call read_terminal_lists.
27912 (grub_enter_normal_mode): Call grub_cmdline_run.
27913 Handle grub_normal_exit_level.
27914 (grub_cmd_normal): Make reentrant.
27915 (grub_cmd_normal_exit): New function.
27916 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27917 * normal/menu.c: Adapt for multiterm.
27918 * normal/menu_entry.c: Likewise.
27919 * normal/menu_text.c: Likewise.
27920 * normal/menu_viewer.c: Removed. All users updated.
27921 * normal/term.c: New file.
27922 * util/console.c: Change order of includes to workaround a bug in
27923 ncurses headers.
27924 * term/terminfo.c: New argument oterm on all exported functions.
27925 All users updated.
27926 * util/grub-editenv.c (grub_term_input_class): Removed.
27927 (grub_term_output_class): Likewise.
27928
1a064917
RM
279292010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27930
27931 Make loader output a bit more user-friendly.
27932
27933 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27934 is being loaded. Likewise for the Hurd.
27935
27936 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27937 that kernel of FreeBSD ${version} is being loaded.
27938
27939 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27940 grub_dprintf().
27941 (grub_cmd_initrd): Likewise.
27942 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27943 that Linux ${version} is being loaded. Likewise for initrd.
27944
5ce0a83a 279452010-01-09 Carles Pina i Estany <carles@pina.cat>
27946
27947 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27948
809bbfeb 279492010-01-08 Carles Pina i Estany <carles@pina.cat>
27950
27951 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27952 (GRUB_MOD_INIT): Gettextizze.
27953 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27954 (GRUB_MOD_INIT): Gettextizze.
27955 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27956 (grub_cmd_linux): Capitalise Linux.
27957 (GRUB_MOD_INIT): Gettextizze.
27958 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27959 (grub_cmd_linux): Capitalise Linux.
27960 (GRUB_MOD_INIT): Gettextizze.
27961 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27962 (grub_cmd_linux): Capitalise Linux.
27963 (GRUB_MOD_INIT): Gettextizze.
27964 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27965 (GRUB_MOD_INIT): Gettextizze.
27966 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27967 (grub_cmd_linux): Capitalise Linux.
27968 (GRUB_MOD_INIT): Gettextizze.
27969 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27970 (grub_cpu_xnu_init): Gettextizze.
27971 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27972 (GRUB_MOD_INIT): Gettextizze.
27973 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27974 (GRUB_MOD_INIT): Gettextizze.
27975 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27976 (grub_linux_load64): Capitalise Linux.
27977 (GRUB_MOD_INIT): Gettextizze.
27978 * loader/xnu.c: Include `<grub/i18n.h>'.
27979 (GRUB_MOD_INIT): Gettextizze.
27980 * po/POTFILES: Add `loader/efi/appleloader.c',
27981 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27982 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27983 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27984 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27985 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27986 and `loader/xnu.c'.
27987
b394b2ca
RM
279882010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27989
27990 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27991
279922010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27993
27994 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27995 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27996 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27997
bc8b32b3
RM
279982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27999
28000 Reset Multiboot 2 support. New loader implements the draft in
28001 /branches/multiboot2 and shares as much code as possible with the
28002 production Multiboot 1 implementation.
28003
28004 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28005 * loader/multiboot2.c: Likewise.
28006 * loader/i386/multiboot_helper.S: Likewise.
28007 * include/multiboot2.h: Replace with latest version from the draft
28008 in /branches/multiboot2.
28009
28010 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28011 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28012 and `loader/multiboot2.c'.
28013 (pkglib_MODULES): Add `multiboot2.mod'.
28014 (multiboot2_mod_SOURCES): New variable.
28015 (multiboot2_mod_LDFLAGS): Likewise.
28016 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28017
28018 * conf/i386-pc.rmk: Likewise.
28019
28020 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28021 (multiboot_mod_SOURCES): Remove variable.
28022 (multiboot_mod_LDFLAGS): Likewise.
28023 (multiboot_mod_CFLAGS): Likewise.
28024
28025 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28026 `<multiboot2.h>' instead of `<multiboot.h>'.
28027 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28028 (MULTIBOOT_HEADER_MAGIC): New macros.
28029
28030 * loader/multiboot_loader.c (module_version_status): Remove variable.
28031 (find_multi_boot2_header): Remove function.
28032 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28033 logic. Always check for the Multiboot version we're compiling for.
28034 (grub_cmd_module_loader): Likewise.
28035 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28036 command instead of `multiboot'.
28037
5d2c52b8
RM
280382010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28039
28040 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28041 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28042 all users.
28043
53108d92
RM
280442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
280452010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28046
28047 Fix breakage introduced with previous commit.
28048
28049 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28050 commands.
28051 * normal/handler.c (read_handler_list): Revert part of previous commit
28052 affecting this file.
28053 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28054 (grub_normal_execute): ... here.
28055
e2e936b2
RM
280562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 Merge prefix-redefinition-fix branch.
28059
28060 * normal/autofs.c (read_fs_list): Make function capable of being
28061 run multiple times, gracefuly replacing the previous data
28062 structures.
28063 * normal/dyncmd.c (read_command_list): Likewise.
28064 * normal/handler.c (read_handler_list): Likewise.
28065 * normal/main.c (read_lists): New function. Calls all the
28066 list reading functions.
28067 (grub_normal_execute): Use read_lists() instead of calling all
28068 list reading functions explicitly. Register read_lists() as a
28069 variable hook attached to ${prefix}.
28070
607a3701
VS
280712010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 Merge crypto branch.
28074
28075 * Makefile.in (pkglib_DATA): Add crypto.lst.
28076 (crypto.lst): New target.
28077 * commands/hashsum.c: New file.
28078 * commands/password.c (check_password): Use grub_crypto_memcmp.
28079 * commands/password_pbkdf2.c: New file.
28080 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28081 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28082 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28083 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28084 -I$(srcdir)/lib/libgcrypt_wrap.
28085 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28086 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28087 password_pbkdf2.mod.
28088 (crypto_mod_SOURCES): New variable.
28089 (crypto_mod_CFLAGS): Likewise.
28090 (crypto_mod_LDFLAGS): Likewise.
28091 (hashsum_mod_SOURCES): New variable.
28092 (hashsum_mod_CFLAGS): Likewise.
28093 (hashsum_mod_LDFLAGS): Likewise.
28094 (pbkdf2_mod_SOURCES): New variable.
28095 (pbkdf2_mod_CFLAGS): Likewise.
28096 (pbkdf2_mod_LDFLAGS): Likewise.
28097 (password_pbkdf2_mod_SOURCES): New variable.
28098 (password_pbkdf2_mod_CFLAGS): Likewise.
28099 (password_pbkdf2_mod_LDFLAGS): Likewise.
28100 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28101 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28102 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28103 Include conf/gcry.rmk.
28104 * include/grub/auth.h: Rewritten.
28105 * include/grub/crypto.h: New file.
28106 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28107 * include/grub/normal.h (read_crypto_list): New prototype.
28108 * lib/crypto.c: New file.
28109 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28110 * lib/pbkdf2.c: Likewise.
28111 * normal/auth.c (grub_auth_strcmp): Removed.
28112 (grub_iswordseparator): Likewise.
28113 (grub_auth_strword): Likewise.
28114 (is_authenticated): Use grub_strword.
28115 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28116 and grub_strword. Pass entered password to authentication callback.
28117 * normal/crypto.c: New file.
28118 * normal/main.c: Call read_crypto_list.
28119 * util/grub-mkpasswd-pbkdf2.c: New file.
28120 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28121
42841caa
VS
281222010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28123
28124 Fix descent and ascent calculation.
28125
28126 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28127 (options): New option "asce".
28128 (usage): Likewise.
28129 (add_char): Ignore invalid glyphs for descent calculation.
28130 Calculate ascent from actual content.
28131 (print_glyphs): Use 'asce'.
28132 (write_font): Likewise. Allow ascent override.
28133 (main): Handle "asce" option.
28134
e7730de7 281352010-01-06 Carles Pina i Estany <carles@pina.cat>
28136
28137 * kern/err.c: Include `<grub/i18n.h>'.
28138 (grub_print_error): Add full stop. Gettextizze.
28139 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28140 (grub_bsd_load_elf): Capitalise ELF.
28141 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28142 (grub_cmd_freebsd_module): Likewise.
28143 (grub_cmd_freebsd_module_elf): Likewise.
28144 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28145
40e3a41f 281462010-01-06 Carles Pina i Estany <carles@pina.cat>
28147
28148 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28149 * commands/search_file.c (HELP_MESSAGE): New macro.
28150 * commands/search_label.c (HELP_MESSAGE): Likewise.
28151 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28152 * po/POTFILES: Add `commands/search_file.c',
28153 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28154 `commands/search.c'.
28155
83507e68
RM
281562010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28157
28158 * config.rpath: Update from Gnulib.
28159
465c787b
YB
281602010-01-05 Yves Blusseau <blusseau@zetam.org>
28161
28162 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28163
6581dd3a
YB
281642010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28165
28166 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28167
3bff18c5
CW
281682010-01-05 Colin Watson <cjwatson@ubuntu.com>
28169
28170 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28171 arguments to fread so that we get a return value in bytes, rather
28172 than something that will normally be rounded down to 0.
28173 Adjust error handling to avoid producing garbage when size_t is not
28174 the same size as long long.
28175
a1368118
CW
281762010-01-05 Colin Watson <cjwatson@ubuntu.com>
28177
28178 * util/mkisofs/write.c (padblock_write): Check return value of
28179 fread.
28180
7c302978
RM
281812010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28182
28183 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28184 floppy images now.
28185
28186 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28187
e33ace06
RM
281882010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28189
28190 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28191 instead of manual alignment.
28192 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28193 verbose). Avoid attempts to read past end of the device
28194 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28195 but GRUB_DISK_CACHE_SIZE may exceed that).
28196
4b856776
RM
281972010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28198
28199 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28200 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28201 it to upper layer.
28202
52c2d97f
VS
282032010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28204
28205 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28206 New constant.
28207 (grub_efi_piwg_device_path): New structure
28208 (grub_efi_piwg_device_path_t): New type.
28209 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28210 (devpath_1): Transform to a structure. All users updated.
28211 (devpath_2): Likewise.
28212 (devpath_3): Likewise.
28213 (devpath_4): Likewise.
28214 (devpath_5): Likewise.
28215
98ff6a54
VS
282162010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28217
28218 * loader/efi/appleloader.c: Restored. Update all users.
28219
3a73dcb6
RM
282202010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28221
28222 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28223
28224 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28225 (struct boot_blocklist): Move from here ...
28226 * include/grub/i386/pc/boot.h [ASM_FILE]
28227 (struct grub_boot_blocklist): ... to here. Update all users.
28228 (setup): Only initialize `start' member of `first_block'
28229 structure. Add assert() calls to verify the other members.
28230
28231 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28232 (generate_image): Fix broken blocklist length initialization.
28233 Add assert() call to verify blocklist `segment' field.
28234
ab0eeb0c
RM
282352010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28236
28237 * loader/efi/appleloader.c: Remove. Update all users.
28238
58bc8bd5
RM
282392010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28240
28241 * boot/i386/pc/boot.S: Update copyright year.
28242 * boot/i386/pc/cdboot.S: Likewise.
28243 * boot/i386/pc/diskboot.S: Likewise.
28244 * boot/i386/pc/lnxboot.S: Likewise.
28245 * boot/i386/pc/pxeboot.S: Likewise.
28246 * bus/pci.c: Likewise.
28247 * commands/cmp.c: Likewise.
28248 * commands/help.c: Likewise.
28249 * commands/hexdump.c: Likewise.
28250 * commands/i386/pc/halt.c: Likewise.
28251 * commands/i386/pc/play.c: Likewise.
28252 * commands/i386/pc/vbeinfo.c: Likewise.
28253 * commands/ls.c: Likewise.
28254 * commands/test.c: Likewise.
28255 * disk/dmraid_nvidia.c: Likewise.
28256 * disk/i386/pc/biosdisk.c: Likewise.
28257 * disk/ieee1275/nand.c: Likewise.
28258 * disk/ieee1275/ofdisk.c: Likewise.
28259 * disk/lvm.c: Likewise.
28260 * disk/raid.c: Likewise.
28261 * disk/raid6_recover.c: Likewise.
28262 * disk/scsi.c: Likewise.
28263 * fs/affs.c: Likewise.
28264 * fs/cpio.c: Likewise.
28265 * fs/ext2.c: Likewise.
28266 * fs/hfs.c: Likewise.
28267 * fs/iso9660.c: Likewise.
28268 * fs/ntfs.c: Likewise.
28269 * fs/sfs.c: Likewise.
28270 * fs/udf.c: Likewise.
28271 * fs/ufs.c: Likewise.
28272 * fs/xfs.c: Likewise.
28273 * gencmdlist.sh: Likewise.
28274 * genmk.rb: Likewise.
28275 * include/grub/disk.h: Likewise.
28276 * include/grub/efi/api.h: Likewise.
28277 * include/grub/efi/efi.h: Likewise.
28278 * include/grub/efi/pe32.h: Likewise.
28279 * include/grub/elf.h: Likewise.
28280 * include/grub/fs.h: Likewise.
28281 * include/grub/i386/at_keyboard.h: Likewise.
28282 * include/grub/i386/pc/memory.h: Likewise.
28283 * include/grub/i386/pc/vbe.h: Likewise.
28284 * include/grub/i386/pci.h: Likewise.
28285 * include/grub/i386/tsc.h: Likewise.
28286 * include/grub/ieee1275/ieee1275.h: Likewise.
28287 * include/grub/ntfs.h: Likewise.
28288 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28289 * include/grub/sparc64/libgcc.h: Likewise.
28290 * include/grub/symbol.h: Likewise.
28291 * include/grub/types.h: Likewise.
28292 * include/multiboot2.h: Likewise.
28293 * io/gzio.c: Likewise.
28294 * kern/device.c: Likewise.
28295 * kern/disk.c: Likewise.
28296 * kern/efi/efi.c: Likewise.
28297 * kern/efi/mm.c: Likewise.
28298 * kern/elf.c: Likewise.
28299 * kern/file.c: Likewise.
28300 * kern/i386/dl.c: Likewise.
28301 * kern/i386/pc/init.c: Likewise.
28302 * kern/i386/pc/startup.S: Likewise.
28303 * kern/ieee1275/ieee1275.c: Likewise.
28304 * kern/ieee1275/init.c: Likewise.
28305 * kern/main.c: Likewise.
28306 * kern/mm.c: Likewise.
28307 * kern/powerpc/dl.c: Likewise.
28308 * kern/sparc64/dl.c: Likewise.
28309 * kern/x86_64/dl.c: Likewise.
28310 * lib/hexdump.c: Likewise.
28311 * loader/efi/appleloader.c: Likewise.
28312 * loader/i386/ieee1275/linux.c: Likewise.
28313 * loader/i386/pc/chainloader.c: Likewise.
28314 * loader/i386/pc/linux.c: Likewise.
28315 * loader/i386/pc/multiboot2.c: Likewise.
28316 * loader/ieee1275/multiboot2.c: Likewise.
28317 * loader/multiboot2.c: Likewise.
28318 * loader/multiboot_loader.c: Likewise.
28319 * loader/powerpc/ieee1275/linux.c: Likewise.
28320 * normal/completion.c: Likewise.
28321 * normal/menu_entry.c: Likewise.
28322 * partmap/apple.c: Likewise.
28323 * util/grub.d/10_hurd.in: Likewise.
28324 * util/hostfs.c: Likewise.
28325 * video/readers/png.c: Likewise.
28326
e2d70b5c
CW
283272010-01-03 Colin Watson <cjwatson@ubuntu.com>
28328
28329 * include/grub/misc.h (GNUC_PREREQ): New macro.
28330 (ATTRIBUTE_ERROR): New macro.
28331 * include/grub/list.h (grub_bad_type_cast_real): Use
28332 ATTRIBUTE_ERROR.
28333
a173283f 283342010-01-03 Carles Pina i Estany <carles@pina.cat>
28335
28336 * normal/menu_text.c (print_message): Change messages.
28337
7fa7ff74 283382010-01-03 Carles Pina i Estany <carles@pina.cat>
28339
28340 * normal/menu_entry.c (store_completion): Gettextizze.
28341
136d24f6 283422010-01-03 Carles Pina i Estany <carles@pina.cat>
28343
28344 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28345
f936862e 283462010-01-03 Carles Pina i Estany <carles@pina.cat>
28347
28348 * po/POTFILES: Sort correctly.
28349
29c44ad1 283502010-01-03 Carles Pina i Estany <carles@pina.cat>
28351
28352 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28353 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28354 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28355 full stop.
28356 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28357 summary. Gettextizze the strings.
28358 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28359 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28360 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28361 full stop.
28362 (GRUB_MOD_INIT): Remove command name from summary.
28363 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28364 summary.
28365 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28366 * term/i386/pc/serial.c (options): Add full stops.
28367 (GRUB_MOD_INIT): Remove command name from the summary.
28368
77a79592 283692010-01-03 Carles Pina i Estany <carles@pina.cat>
28370
28371 * commands/acpi.c: Gettextizze help strings and/or options. Include
28372 `grub/i18n.h' if needed.
28373 * commands/blocklist.c: Likewise.
28374 * commands/boot.c: Likewise.
28375 * commands/cat.c: Likewise.
28376 * commands/cmp.c: Likewise.
28377 * commands/configfile.c: Likewise.
28378 * commands/crc.c: Likewise.
28379 * commands/date.c: Likewise.
28380 * commands/echo.c: Likewise.
28381 * commands/efi/fixvideo.c: Likewise.
28382 * commands/efi/loadbios.c: Likewise.
28383 * commands/gptsync.c: Likewise.
28384 * commands/halt.c: Likewise.
28385 * commands/handler.c: Likewise.
28386 * commands/hdparm.c: Likewise.
28387 * commands/hexdump.c: Likewise.
28388 * commands/i386/cpuid.c: Likewise.
28389 * commands/i386/pc/drivemap.c: Likewise.
28390 * commands/i386/pc/halt.c: Likewise.
28391 * commands/i386/pc/pxecmd.c: Likewise.
28392 * commands/i386/pc/vbeinfo.c: Likewise.
28393 * commands/i386/pc/vbetest.c: Likewise.
28394 * commands/ieee1275/suspend.c: Likewise.
28395 * commands/keystatus.c: Likewise.
28396 * commands/loadenv.c: Likewise.
28397 * commands/ls.c: Likewise.
28398 * commands/lsmmap.c: Likewise.
28399 * commands/lspci.c: Likewise.
28400 * commands/memrw.c: Likewise.
28401 * commands/minicmd.c: Likewise.
28402 * commands/parttool.c: Likewise.
28403 * commands/password.c: Likewise.
28404 * commands/probe.c: Likewise.
28405 * commands/read.c: Likewise.
28406 * commands/reboot.c: Likewise.
28407 * commands/search.c: Likewise.
28408 * commands/sleep.c: Likewise.
28409 * commands/test.c: Likewise.
28410 * commands/true.c: Likewise.
28411 * commands/usbtest.c: Likewise.
28412 * commands/videotest.c: Likewise.
28413 * commands/xnu_uuid.c: Likewise.
28414 * disk/loopback.c: Likewise.
28415 * hello/hello.c: Likewise.
28416 * loader/i386/bsd.c: Likewise.
28417 * term/i386/pc/serial.c: Likewise.
28418 * po/POTFILES: Add new files.
28419
da8d5c53
CW
284202010-01-02 Colin Watson <cjwatson@ubuntu.com>
28421
28422 * term/i386/pc/at_keyboard.c
28423 (keyboard_controller_wait_untill_ready): Rename to ...
28424 (keyboard_controller_wait_until_ready): ... this. Update all users.
28425
33937904 284262010-01-01 Carles Pina i Estany <carles@pina.cat>
28427
28428 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28429 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28430 string using string width.
28431 * normal/menu_text.c (grub_print_message_indented): Use
28432 grub_print_spaces and not print_spaces.
28433 (print_timeout): Likewise.
28434 (print_spaces): Move to...
28435 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28436
3fd3b8d8
RM
284372010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 Import from Gnulib.
28440
28441 * gnulib/getdelim.c: New file.
28442 * gnulib/getline.c: Likewise.
28443
33433555
VS
284442009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28445
28446 * include/grub/list.h (grub_assert_fail): Removed.
28447 (grub_bad_type_cast_real): New function.
28448 (grub_bad_type_cast): New macro.
28449 (GRUB_AS_LIST): Use grub_bad_type_cast.
28450 (GRUB_AS_LIST_P): Likewise.
e44721e8 28451 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28452 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28453 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28454 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28455 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28456
f5a51306
VS
284572009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28458
28459 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28460 Fix syntax error.
28461
90d1e879
RM
284622009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28463
28464 * configure.ac: Check for TARGET_CFLAGS initialization before we
28465 initialize it ourselves (sigh).
28466 Move a few modifications to TARGET_CFLAGS to be unconditional
28467 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28468 eh_frame)
28469
28470 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28471 * term/i386/pc/at_keyboard.c
28472 (keyboard_controller_wait_untill_ready): Likewise.
28473 (keyboard_controller_led): Rename `led_status' paramter to avoid
28474 name conflict.
28475
465b5a81 284762009-12-28 Carles Pina i Estany <carles@pina.cat>
28477
28478 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28479 quotes.
28480
c181849b
VS
284812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28482
28483 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28484
9c8739a4
VS
284852009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28486
28487 * normal/menu_text.c (grub_print_message_indented): Prevent
28488 past-the-end-of-array dereference.
28489
3e74249c
VS
284902009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28491
28492 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28493 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28494
64fd18ed 284952009-12-27 Carles Pina i Estany <carles@pina.cat>
28496
28497 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28498 * normal/main.c (grub_normal_read_line): Remove a space from the
28499 default prompt.
28500
714af9b9 285012009-12-27 Carles Pina i Estany <carles@pina.cat>
28502
28503 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28504 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28505 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28506 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28507 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28508 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28509 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28510
82f3e412 285112009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28512
28513 * video/readers/jpeg.c (cmd): Declare.
28514 (grub_cmd_jpegtest): Use `grub_command_t' type.
28515 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28516 Assign to `cmd'.
28517 (GRUB_MOD_FINI): Use `cmd' to unregister.
28518 * video/readers/png.c (cmd): Declare.
28519 (grub_cmd_pngtest): Use `grub_command_t' type.
28520 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28521 Assign to `cmd'.
28522 (GRUB_MOD_FINI): Use `cmd' to unregister.
28523 * video/readers/tga.c (cmd): Declare.
28524 (grub_cmd_tgatest): Use `grub_command_t' type.
28525 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28526 Assign to `cmd'.
28527 (GRUB_MOD_FINI): Use `cmd' to unregister.
28528
82f3e412 285292009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28530
28531 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28532 stops.
28533 * kern/corecmd.c (grub_register_core_commands): Likewise.
28534 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28535 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28536 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28537 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28538 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28539 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28540 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28541 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28542 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28543 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28544 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28545 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28546 * normal/handler.c (insert_handler): Likewise.
28547 * normal/main.c (GRUB_MOD_INIT): Likewise.
28548 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28549
fdcdbb66 285502009-12-26 Carles Pina i Estany <carles@pina.cat>
28551
28552 * commands/help.c (grub_cmd_help): Print the command name before the
28553 summary.
28554 (GRUB_MOD_INIT): Remove command name from the summary.
28555 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28556 string as summary.
fdcdbb66 28557 * lib/arg.c (find_long): Print the command name before the summary.
28558 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28559 summary.
28560 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28561 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28562 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28563 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28564 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28565 * commands/date.c (GRUB_MOD_INIT): Likewise.
28566 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28567 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28568 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28569 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28570 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28571 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28572 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28573 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28574 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28575 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28576 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28577 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28578 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28579 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28580 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28581 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28582 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28583 * commands/password.c (GRUB_MOD_INIT): Likewise.
28584 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28585 * commands/read.c (GRUB_MOD_INIT): Likewise.
28586 * commands/search.c (GRUB_MOD_INIT): Likewise.
28587 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28588 * commands/test.c (GRUB_MOD_INIT): Likewise.
28589 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28590 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28591 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28592 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28593 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28594 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28595 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28596 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28597 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28598 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28599 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28600 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28601 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28602 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28603
9c288be2
VS
286042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28605
28606 Use search command for preliminar UUID search.
28607
28608 * commands/search.c: Split into ...
28609 * commands/search_wrap.c: ...this
28610 * commands/search.c: ...and this.
28611 * commands/search_file.c: New file.
28612 * commands/search_label.c: New file.
28613 * commands/search_uuid.c: New file.
28614 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28615 Add commands/search_wrap.c, commands/search_file.c,
28616 commands/search_label.c and commands/search_uuid.c.
28617 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28618 (search_mod_SOURCES): Set to commands/search_wrap.c.
28619 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28620 search_label.mod.
28621 (search_fs_file_mod_SOURCES): New variable.
28622 (search_fs_file_mod_CFLAGS): Likewise.
28623 (search_fs_file_mod_LDFLAGS): Likewise.
28624 (search_label_mod_SOURCES): Likewise.
28625 (search_label_mod_CFLAGS): Likewise.
28626 (search_label_mod_LDFLAGS): Likewise.
28627 (search_fs_uuid_mod_SOURCES): New variable.
28628 (search_fs_uuid_mod_CFLAGS): Likewise.
28629 (search_fs_uuid_mod_LDFLAGS): Likewise.
28630 (fs_file_mod_SOURCES): Removed.
28631 (fs_file_mod_CFLAGS): Likewise.
28632 (fs_file_mod_LDFLAGS): Likewise.
28633 (fs_uuid_mod_SOURCES): Removed.
28634 (fs_uuid_mod_CFLAGS): Likewise.
28635 (fs_uuid_mod_LDFLAGS): Likewise.
28636 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28637 Set to util/grub-install.in.
28638 * disk/fs_file.c: Removed.
28639 * disk/fs_uuid.c: Likewise.
28640 * include/grub/search.h: New file.
28641 * util/grub-install.in: Handle sparc64.
28642 Create and use load.cfg.
28643 * util/sparc64/ieee1275/grub-install.in: Removed.
28644
db943399
VS
286452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28648 Ignore return status if CF is cleared.
28649 (grub_biosdisk_get_diskinfo_standard): Likewise.
28650
3fdae612
RM
286512009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28652
28653 * term/i386/pc/at_keyboard.c
28654 (keyboard_controller_wait_untill_ready): New function.
28655 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28656 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28657 for keyboard polling, rather than duplicate the same loop. This
28658 saves a few bytes in code size.
28659
7ebaa2b4
VS
286602009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 Support for (pxe[:server[:gateway]]) syntax and
28663 use environment variable for PXE.
28664
28665 * commands/i386/pc/pxecmd.c (options): Removed.
28666 (print_ip): Removed.
28667 (grub_cmd_pxe): Removed
28668 (grub_cmd_pxe_unload): New function.
28669 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28670 (grub_pxe_your_ip): Made static.
28671 (grub_pxe_default_server_ip): Likewise.
28672 (grub_pxe_default_gateway_ip): Likewise.
28673 (grub_pxe_blksize): Likewise.
28674 (parse_ip): New function.
28675 (grub_pxe_open): Support server and gateway specification.
28676 (grub_pxe_close): Free disk->data.
28677 (grub_pxefs_open): Use disk->data.
28678 (grub_pxefs_read): Likewise.
28679 (grub_env_write_readonly): New function.
28680 (set_mac_env): Likewise.
28681 (set_env_limn_ro): Likewise.
28682 (parse_dhcp_vendor): Likewise.
28683 (grub_pxe_detect): Set the environment variables.
28684 (set_ip_env): New function.
28685 (write_ip_env): Likewise.
28686 (grub_env_write_pxe_default_server): Likewise.
28687 (grub_env_write_pxe_default_gateway): Likewise.
28688 (grub_env_write_pxe_blocksize): Likewise.
28689 (GRUB_MOD_INIT(pxe)): Set environment variables.
28690 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28691 (grub_pxe_mac_addr_t): ... this. All users updated.
28692 (grub_pxe_your_ip): Removed.
28693 (grub_pxe_server_ip): Likewise.
28694 (grub_pxe_gateway_ip): Likewise.
28695 (grub_pxe_blksize): Likewise.
28696
ec5f98ab 286972009-12-25 Carles Pina i Estany <carles@pina.cat>
28698
28699 * commands/help.c: Include `<grub/i18n.h>'.
28700 (grub_cmd_help): Gettextizze.
28701 (GRUB_MOD_INIT): Likewise.
28702 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28703 (GRUB_MOD_INIT): Gettextizze.
28704 * commands/search.c: Include `<grub/i18n.h>'.
28705 (options): Gettextizze.
28706 (GRUB_MOD_INIT): Gettextizze.
28707 * lib/arg.c: Include `<grub/i18n.h>'.
28708 (help_options): Gettextizze.
28709 (find_long): Likewise.
28710 (grub_arg_show_help): Likewise.
28711 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28712 (read_command_list): Gettextizze.
28713 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28714 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28715
22815526
RM
287162009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28717
28718 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28719 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28720 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28721 (led_status): New variable.
28722 (keyboard_controller_led): New function.
28723 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28724 update led status for caps lock, num lock and scroll lock.
28725
0ad46fd7
FZ
287262009-12-25 Felix Zielcke <fzielcke@z-51.de>
28727
28728 * util/hostdisk.c (open_device): Fix a comment.
28729
d0e158c2
RM
287302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28731
28732 * util/grub-install.in (host_os): New variable.
28733 * util/i386/efi/grub-install.in (host_os): Likewise.
28734
401c0ad6
RM
287352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28736
28737 * util/mkisofs/write.c (padblock_write): Abort when given an
28738 excedingly large embed image, instead of silently truncating it.
28739
d14d3370
RM
287402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28741
28742 * include/multiboot.h: Indentation fixes.
28743
eeed10b4
RM
287442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28745
28746 * include/multiboot.h (struct multiboot_aout_symbol_table)
28747 (struct multiboot_elf_section_header_table): New structure
28748 declarations (stolen from GRUB Legacy).
28749 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28750 table information.
28751
28752 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28753 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28754 type aliases.
28755
681c70ab
RM
287562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28757
28758 * include/multiboot.h: Make comments src2texi-friendly.
28759
e4d47d8d
RM
287602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28761
28762 For consistency with [multiboot]/docs/boot.S.
28763
28764 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28765 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28766 (MULTIBOOT_MAGIC2): Rename from this ...
28767 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28768
a0b70bda
RM
287692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28770
28771 * include/multiboot.h: Remove `<grub/types.h>'.
28772 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28773 types. Update all users.
28774
61ba42be 287752009-12-25 Carles Pina i Estany <carles@pina.cat>
28776
28777 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28778 `couldn't' and `can not' by `cannot'.
28779 * commands/i386/pc/drivemap.c: Likewise.
28780 * disk/ata.c: Likewise.
28781 * disk/ieee1275/nand.c: Likewise.
28782 * fs/affs.c: Likewise.
28783 * fs/fat.c: Likewise.
28784 * fs/hfs.c: Likewise.
28785 * fs/hfsplus.c: Likewise.
28786 * fs/iso9660.c: Likewise.
28787 * fs/jfs.c: Likewise.
28788 * fs/minix.c: Likewise.
28789 * fs/reiserfs.c: Likewise.
28790 * fs/sfs.c: Likewise.
28791 * fs/udf.c: Likewise.
28792 * fs/ufs.c: Likewise.
28793 * fs/xfs.c: Likewise.
28794 * loader/powerpc/ieee1275/linux.c: Likewise.
28795 * loader/sparc64/ieee1275/linux.c: Likewise.
28796 * util/grub-probe.c: Likewise.
28797 * util/misc.c: Likewise.
28798
7fd0baee 287992009-12-24 Carles Pina i Estany <carles@pina.cat>
28800
28801 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28802 grub_errno calls.
28803 * commands/acpi.c: Likewise.
28804 * commands/blocklist.c: Likewise.
28805 * commands/efi/loadbios.c: Likewise.
28806 * commands/i386/pc/drivemap.c: Likewise.
28807 * commands/loadenv.c: Likewise.
28808 * commands/memrw.c: Likewise.
28809 * commands/password.c: Likewise.
28810 * commands/videotest.c: Likewise.
28811 * disk/ata.c: Likewise.
28812 * disk/ata_pthru.c: Likewise.
28813 * disk/dmraid_nvidia.c: Likewise.
28814 * disk/ieee1275/nand.c: Likewise.
28815 * disk/ieee1275/ofdisk.c: Likewise.
28816 * disk/loopback.c: Likewise.
28817 * disk/lvm.c: Likewise.
28818 * disk/mdraid_linux.c: Likewise.
28819 * disk/raid.c: Likewise.
28820 * disk/raid6_recover.c: Likewise.
28821 * disk/scsi.c: Likewise.
28822 * efiemu/main.c: Likewise.
28823 * efiemu/mm.c: Likewise.
28824 * efiemu/pnvram.c: Likewise.
28825 * efiemu/symbols.c: Likewise.
28826 * font/font.c: Likewise.
28827 * fs/cpio.c: Likewise.
28828 * fs/hfsplus.c: Likewise.
28829 * fs/iso9660.c: Likewise.
28830 * fs/jfs.c: Likewise.
28831 * fs/minix.c: Likewise.
28832 * fs/ntfs.c: Likewise.
28833 * fs/ntfscomp.c: Likewise.
28834 * fs/reiserfs.c: Likewise.
28835 * fs/ufs.c: Likewise.
28836 * fs/xfs.c: Likewise.
28837 * gettext/gettext.c: Likewise.
28838 * include/grub/auth.h: Likewise.
28839 * kern/elf.c: Likewise.
28840 * kern/file.c: Likewise.
28841 * kern/ieee1275/init.c: Likewise.
28842 * kern/ieee1275/mmap.c: Likewise.
28843 * kern/ieee1275/openfw.c: Likewise.
28844 * kern/powerpc/dl.c: Likewise.
28845 * kern/sparc64/dl.c: Likewise.
28846 * lib/arg.c: Likewise.
28847 * loader/i386/bsd.c: Likewise.
28848 * loader/i386/bsdXX.c: Likewise.
28849 * loader/i386/efi/linux.c: Likewise.
28850 * loader/i386/efi/xnu.c: Likewise.
28851 * loader/i386/ieee1275/linux.c: Likewise.
28852 * loader/i386/linux.c: Likewise.
28853 * loader/i386/multiboot.c: Likewise.
28854 * loader/i386/pc/linux.c: Likewise.
28855 * loader/i386/pc/multiboot2.c: Likewise.
28856 * loader/i386/xnu.c: Likewise.
28857 * loader/ieee1275/multiboot2.c: Likewise.
28858 * loader/macho.c: Likewise.
28859 * loader/machoXX.c: Likewise.
28860 * loader/multiboot2.c: Likewise.
28861 * loader/multiboot_loader.c: Likewise.
28862 * loader/powerpc/ieee1275/linux.c: Likewise.
28863 * loader/sparc64/ieee1275/linux.c: Likewise.
28864 * loader/xnu.c: Likewise.
28865 * loader/xnu_resume.c: Likewise.
28866 * mmap/i386/pc/mmap.c: Likewise.
28867 * normal/menu_viewer.c: Likewise.
28868 * partmap/acorn.c: Likewise.
28869 * partmap/amiga.c: Likewise.
28870 * partmap/apple.c: Likewise.
28871 * script/lexer.c: Likewise.
28872 * term/gfxterm.c: Likewise.
28873 * term/i386/pc/serial.c: Likewise.
28874 * term/i386/pc/vga.c: Likewise.
28875 * term/ieee1275/ofconsole.c: Likewise.
28876 * term/terminfo.c: Likewise.
28877 * video/bitmap.c: Likewise.
28878 * video/efi_gop.c: Likewise.
28879 * video/efi_uga.c: Likewise.
28880 * video/fb/video_fb.c: Likewise.
28881 * video/i386/pc/vbe.c: Likewise.
28882 * video/readers/tga.c: Likewise.
28883 * video/video.c: Likewise.
28884
0ad46fd7 288852009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28886
28887 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28888 * commands/lspci.c: Likewise.
28889 * commands/probe.c: Likewise.
28890 * commands/xnu_uuid.c: Likewise.
28891 * conf/i386-coreboot.rmk: Likewise.
28892 * conf/i386-efi.rmk: Likewise.
28893 * conf/i386-ieee1275.rmk: Likewise.
28894 * conf/i386-pc.rmk: Likewise.
28895 * conf/powerpc-ieee1275.rmk: Likewise.
28896 * conf/sparc64-ieee1275.rmk: Likewise.
28897 * conf/x86_64-efi.rmk: Likewise.
28898 * fs/i386/pc/pxe.c: Likewise.
28899 * gettext/gettext.c: Likewise.
28900 * include/grub/efi/graphics_output.h: Likewise.
28901 * include/grub/i386/pc/memory.h: Likewise.
28902 * kern/env.c: Likewise.
28903 * kern/i386/qemu/startup.S: Likewise.
28904 * lib/i386/pc/biosnum.c: Likewise.
28905 * lib/i386/relocator.c: Likewise.
28906 * lib/i386/relocator_asm.S: Likewise.
28907 * lib/relocator.c: Likewise.
28908 * loader/i386/bsd.c: Likewise.
28909 * loader/i386/multiboot.c: Likewise.
28910 * loader/i386/pc/chainloader.c: Likewise.
28911 * loader/i386/xnu.c: Likewise.
28912 * loader/xnu.c: Likewise.
28913 * normal/main.c: Likewise.
28914 * normal/menu_text.c: Likewise.
28915 * util/getroot.c: Likewise.
28916 * util/grub-mkconfig_lib.in: Likewise.
28917 * util/grub.d/00_header.in: Likewise.
28918 * util/i386/pc/grub-mkimage.c: Likewise.
28919 * util/mkisofs/eltorito.c: Likewise.
28920 * util/mkisofs/exclude.h: Likewise.
28921 * util/mkisofs/hash.c: Likewise.
28922 * util/mkisofs/iso9660.h: Likewise.
28923 * util/mkisofs/joliet.c: Likewise.
28924 * util/mkisofs/mkisofs.c: Likewise.
28925 * util/mkisofs/mkisofs.h: Likewise.
28926 * util/mkisofs/multi.c: Likewise.
28927 * util/mkisofs/name.c: Likewise.
28928 * util/mkisofs/rock.c: Likewise.
28929 * util/mkisofs/tree.c: Likewise.
28930 * util/mkisofs/write.c: Likewise.
28931 * video/efi_gop.c: Likewise.
28932
009ec743
VS
289332009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28934
28935 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28936 size counting.
28937
0ad46fd7 289382009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28939
28940 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28941 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28942
d3d30ea0
VS
289432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28946 (GRUB_MOD_INIT(memrw)): Update help line.
28947
a34f5c70
VS
289482009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28949
28950 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28951 Use grub_extcmd_t. All users updated.
28952 (options): New variable.
28953 (grub_cmd_read): Restructure for readability. Support "-v" option.
28954 (grub_cmd_write): Restructure for readability.
28955
0ad46fd7 289562009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28957
28958 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28959
0ad46fd7 289602009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28961
28962 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28963 with the actual contents of the correspondending make variable.
28964 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28965 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28966 specifying `*.lst' and `efiemu??.o'
28967
0ad46fd7 289682009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28969
28970 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28971 after function name.
28972 Noticed by Rene Engelhard <rene@debian.org>.
28973
dc77a799
VS
289742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28977 (options): New variable.
28978 (iospace): Likewise.
28979 (grub_lspci_iter): List IO spaces if "-i" was given.
28980 (grub_cmd_lspci): Parse options.
28981 (GRUB_MOD_INIT(lspci)): Use extcmd.
28982 (GRUB_MOD_FINI(lspci)): Likewise.
28983
0ad46fd7 289842009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28985
28986 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28987 `function' keyword.
28988 Patch by Tony Mancill <tmancill@debian.org>.
28989
b5d5993b
VS
289902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28993 (grub_uhci_portstatus): Likewise.
28994 (grub_uhci_portstatus): Add necessary delay.
11d18281 28995 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28996
941903f2 289972009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28998
941903f2 28999 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29000 (GRUB_MOD_INIT): Likewise.
29001 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29002 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29003 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29004 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29005 (enable_rom_area): Likewise.
29006 (GRUB_MOD_INIT): Likewise.
29007 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29008 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29009 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29010 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29011 * commands/hexdump.c (options): Likewise.
29012 * commands/i386/cpuid.c (options): Likewise.
29013 (GRUB_MOD_INIT): Likewise.
29014 * commands/i386/pc/drivemap.c (options): Likewise.
29015 (GRUB_MOD_INIT): Likewise.
29016 * commands/i386/pc/halt (options): Likewise.
29017 (GRUB_MOD_INIT): Likewise.
29018 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29019 * commands/i386/pc/pxecmd.c (options): Likewise.
29020 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29021 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29022 * commands/keystatus.c (options): Likewise.
29023 (GRUB_MOD_INIT): Likewise.
29024 * commands/loadenv.c (options): Likewise.
29025 * commands/ls.c (options): Likewise.
29026 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29027 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29028 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29029 * commands/parttool.c (helpmsg): Likewise.
29030 * commands/probe.c (options): Likewise.
29031 * commands/read.c (GRUB_MOD_INIT): Likewise.
29032 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29033 * commands/search.c (options): Likewise.
29034 * commands/sleep.c (options): Likewise.
29035 * commands/test.c (GRUB_MOD_INIT): Likewise.
29036 * commands/true.c (GRUB_MOD_INIT): Likewise.
29037 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29038 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29039 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29040 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29041 `$(XGETTEXT)'.
98a50553 29042 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29043
0ad46fd7 290442009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29045
ef3c2c3a 29046 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29047 instead of specifying them explicit.
29048
7922f68b
RM
290492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29050
29051 * NEWS: Add grub-probe support for GNU/Hurd.
29052
537ce47f
RM
290532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29054
29055 * NEWS: gettext was added after 1.97.
29056
9b214e3a
RM
290572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29058
29059 * util/mkisofs/msdos_partition.h: New file (based on
29060 include/grub/msdos_partition.h).
29061 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29062 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29063 (ld_options, main): Recognize --protective-msdos-label.
29064 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29065 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29066 (padblock_write): If `use_protective_msdos_label' is set, patch a
29067 protective DOS-style label in the output image.
29068
29069 * util/grub-mkrescue.in: Use --protective-msdos-label.
29070
e9309813
RM
290712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29072
29073 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29074 boot.
29075
0ae56929
RM
290762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29077
29078 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29079 variables.
29080 (ld_options, main): Recognize `--embedded-boot'.
29081 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29082 declarations.
29083 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29084 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29085 (padblock_write): Likewise. Rewrite to support embedded boot image.
29086
29087 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29088 for BIOS-based disk boot instead of only ElTorito.
29089
b15937b1
RM
290902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29091
29092 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29093 build (not needed for bootstrap).
29094
52cc3ce0
RM
290952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29096
29097 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29098 from i386-pc build (not needed for bootstrap).
29099 Rewrite a pair of strings.
29100
36f5ff04
RM
291012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29102
29103 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29104
973c6c85 291052009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29106
29107 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29108
05d21547
AB
291092009-12-21 Andreas Born <futur.andy@googlemail.com>
29110
29111 * kern/env.c (grub_env_context_open): Mark exported variable for
29112 reexport.
29113
0175d51f
AB
291142009-12-21 Andreas Born <futur.andy@googlemail.com>
29115
29116 * kern/env.c (grub_env_export): Create nonexistent variables before
29117 exporting.
29118
7f39d92f 291192009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29120
7f39d92f 29121 * include/grub/auth.h: Include `<grub/i18n.h>'.
29122 (GRUB_GET_PASSWORD): Gettextizze string.
29123 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29124 menu_text.c.
29125 (grub_utf8_to_ucs4_alloc): Fix indentation.
29126 (grub_print_ucs4): Likewise.
29127 (grub_getstringwidth): Likewise.
29128 (print_message_indented): New declaration.
29129 * normal/auth.c: Include `<grub/i18n.h>'.
29130 (grub_auth_check_authentication): Gettexttize string.
29131 * normal/cmdline.c: Include `<grub/i18n.h>'.
29132 (grub_cmdline_get): Gettextizze.
29133 * normal/color.c: Include `<grub/i18n.h>'.
29134 (grub_parse_color_name_pair): Gettexttize strings.
29135 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29136 string (use `print_message_indented').
29137 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29138 `include/grub/normal.h'.
29139 (print_message_indented): Renamed to ...
29140 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29141 used in normal/main.c).
29142 (print_message): Use `grub_print_message_indented' instead of
29143 `print_message_indented'.
29144 (print_timeout): Likewise.
29145 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29146 (grub_normal_print_device_info): Gettexttize strings.
29147 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29148
3041d898
VS
291492009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29150
29151 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29152 of arguments. Return number of tokens and not arguments. All users
29153 updated.
29154
de15bf8e
VS
291552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29158 non-MSDOS paritions.
29159
e0a6ca52
VS
291602009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 * include/grub/types.h (UNUSED): Removed since it conflicts with
29163 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29164 Reported by Grégoire Sutre.
29165
b99518d1 291662009-12-19 Carles Pina i Estany <carles@pina.cat>
29167
29168 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29169 (grub_print_ucs4_alloc): Likewise.
29170 (grub_getstringwidth): Likewise.
29171 * normal/main.c (grub_normal_init_page): Gettextize version string.
29172 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29173 (getstringwidth): Renamed to ...
29174 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29175 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29176 (grub_print_ucs4): Remove `static' qualifer (now used in
29177 normal/main.c).
29178 * po/POTFILES: Add normal/main.c.
29179
bfd5e52b 291802009-12-19 Carles Pina i Estany <carles@pina.cat>
29181
29182 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29183 (print_message_indented): Add `margin_left' and `margin_right'
29184 parameters.
29185 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29186 strings.
29187 (print_timeout): Use `print_message_indented' to print the message.
29188 Deletes `second_stage' parameter.
29189 (run_menu): Update `print_timeout' calls.
29190
5a1ad2b9
VS
291912009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 Fix console palette on OpenFirmware.
29194
29195 * term/ieee1275/ofconsole.c (MAX): Removed.
29196 (colors): Redone based on VGA palette.
29197 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29198 colors are supported.
29199 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29200
b045f00a
VS
292012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29202
29203 Fix potential EfiEmu double prepare.
29204
29205 * efiemu/main.c (prepared): New variable
29206 (grub_efiemu_unload): Set prepare to '0'.
29207 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29208
29209 set_virtual_address_map support.
29210
29211 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29212 prototype.
29213 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29214 prototype.
29215 (grub_efiemu_crc32): Likewise.
29216 (grub_efiemu_crc64): Likewise.
29217 (grub_efiemu_set_virtual_address_map): Likewise.
29218 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29219 New definition.
29220 (grub_autoefi_set_virtual_address_map): Likewise.
29221 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29222 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29223 Restructure flow to accomodate it.
29224 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29225 (grub_efiemu_crc): Recompute CRC32.
29226 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29227 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29228 * efiemu/symbols.c (relocated_handle): New variable.
29229 (grub_efiemu_free_syms): Free relocated_handle.
29230 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29231 (grub_efiemu_write_sym_markers): New function.
29232 (grub_efiemu_set_virtual_address_map): Likewise.
29233
29234 Newer XNU parameters.
29235
29236 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29237 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29238 (grub_xnu_fill_devicetree): New prototype.
29239 (grub_xnu_heap_real_start): New variable.
29240 * loader/xnu.c (get_name_ptr): New function.
29241 (grub_xnu_load_driver): Fill namelen and name.
29242
29243 64-bit xnu support.
29244
29245 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29246 and 'loader/macho64.c'.
29247 * conf/i386-pc.rmk: Likewise.
29248 * conf/x86_64-efi.rmk: Likewise.
29249 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29250 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29251 * include/grub/macho.h (grub_macho_segment64): New structure.
29252 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29253 (grub_macho_size32): ... to this.
29254 (grub_macho32_get_entry_point): Renamed from ...
29255 (grub_macho_get_entry_point32): ... to this.
29256 (grub_macho_contains_macho64): New prototype.
29257 (grub_macho_size64): Likewise.
29258 (grub_macho_get_entry_point64): Likewise.
29259 (grub_macho32_load): Renamed from ...
29260 (grub_macho_load32): ... to this.
29261 (grub_macho32_filesize): Renamed from ...
29262 (grub_macho_filesize32): ... to this.
29263 (grub_macho32_readfile): Renamed from ...
29264 (grub_macho_readfile32): ... to this.
29265 (grub_macho_filesize64): New prototype.
29266 (grub_macho_readfile64): Likewise.
29267 (grub_macho_parse32): Likewise.
29268 (grub_macho_parse64): Likewise.
29269 * loader/macho.c: Split into ...
29270 * loader/machoXX.c: ... and this. Replace 32 with XX.
29271 * loader/macho32.c: New file.
29272 * loader/macho64.c: Likewise.
29273 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29274 (grub_cmd_xnu_kernel): Make 32-bit only.
29275 (grub_cmd_xnu_kernel64): New function.
29276 (grub_xnu_load_driver): Support Mach-O 64.
29277 (grub_cmd_xnu_mkext): Likewise.
29278 * util/grub.d/30_os-prober.in (osx_entry): New function.
29279 Generate entries for 64-bit boot too.
29280
29281 Eliminate ad-hoc tree format in XNU and EfiEmu.
29282
29283 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29284 * efiemu/pnvram.c: Rewritten to use environment variables.
29285 All users updated.
29286
29287 Inline utf16_to_utf8.
29288
29289 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29290 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29291 All users updated.
29292 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29293
29294 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29295 * commands/usbtest.c (grub_usb_get_string): ... move here.
29296 (usb_print_str): Fix error handling.
29297 * include/grub/usb.h (grub_usb_get_string): Remove.
29298
29299 UTF-8 to UTF-16 transformation.
29300
29301 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29302 (charset_mod_SOURCES): New variable.
29303 (charset_mod_CFLAGS): Likewise.
29304 (charset_mod_LDFLAGS): Likewise.
29305 * include/grub/utf.h: New file.
29306 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29307
29308 Support for device properties.
29309
29310 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29311 (grub_xnu_devprop_device_header): Likewise.
29312 (grub_xnu_devprop_device_descriptor): Likewise.
29313 (grub_xnu_devprop_add_device): New prototype.
29314 (grub_xnu_devprop_remove_device): Likewise.
29315 (grub_xnu_devprop_remove_property): Likewise.
29316 (grub_xnu_devprop_add_property_utf8): Likewise.
29317 (grub_xnu_devprop_add_property_utf16): Likewise.
29318 (grub_cpu_xnu_init): Likewise.
29319 (grub_cpu_xnu_fini): Likewise.
29320 (grub_cpu_xnu_unload): Likewise.
29321 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29322 (property_descriptor): Likewise.
29323 (devices): New variable.
29324 (grub_xnu_devprop_remove_property): New function.
29325 (grub_xnu_devprop_add_device): Likewise.
29326 (grub_xnu_devprop_remove_device): Likewise.
29327 (grub_xnu_devprop_add_property): Likewise.
29328 (grub_xnu_devprop_add_property_utf8): Likewise.
29329 (grub_xnu_devprop_add_property_utf16): Likewise.
29330 (hextoval): Likewise.
29331 (grub_cpu_xnu_fill_devprop): Likewise.
29332 (grub_cmd_devprop_load): Likewise.
29333 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29334 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29335 (cmd_devprop_load): New variable.
29336 (grub_cpu_xnu_init): New function.
29337 (grub_cpu_xnu_fini): Likewise.
29338 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29339 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29340 (grub_cmd_xnu_devtree): Likewise.
29341 (hextoval): New function.
29342 (unescape): Likewise.
29343 (grub_xnu_fill_devicetree): Likewise.
29344
29345 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29346 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29347
0945f181
VS
293482009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29349
29350 Workaround for broken ATI VBE.
29351
29352 * video/i386/pc/vbe.c (last_set_mode): New variable.
29353 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29354 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29355 (grub_video_vbe_setup): Don't check for reserved flag.
29356
0ad46fd7 293572009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29358
29359 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29360 the `find' command.
29361
c179ebe4
VS
293622009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29363
29364 UUID support for HFS.
29365
29366 * fs/hfs.c (grub_hfs_uuid): New function.
29367 (grub_hfs_fs): New value .uuid.
29368 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29369
0ad46fd7 293702009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29371
29372 Fix a segfault with parsing unknown long options.
29373
29374 * util/grub-mkrelpath.c (options): Zero terminate it.
29375
c4a3e41a
CPE
293762009-12-13 Carles Pina i Estany <carles@pina.cat>
29377
29378 * include/grub/misc.h (grub_puts): New declaration.
29379 (grub_puts_): Likewise.
a22008a6 29380 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29381 (grub_puts_): Likewise.
29382
2e8a7602
RM
293832009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29384
29385 * util/grub-probe.c (probe): Improve error message.
29386
b50b77b9
RM
293872009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29388
29389 * loader/i386/multiboot_elfxx.c
29390 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29391 initialization.
29392
293932009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29394
29395 Relocator framework
29396
29397 * loader/i386/xnu_helper.S: Removed. All users updated.
29398 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29399 (relocator_mod_SOURCES): New variable.
29400 (relocator_mod_CFLAGS): Likewise.
29401 (relocator_mod_LDFLAGS): Likewise.
29402 (relocator_mod_ASFLAGS): Likewise.
29403 * conf/x86_64.rmk: Likewise.
29404 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29405 (grub_multiboot_payload_entry_offset): Likewise.
29406 (grub_multiboot_forward_relocator): Likewise.
29407 (grub_multiboot_forward_relocator_end): Likewise.
29408 (grub_multiboot_backward_relocator): Likewise.
29409 (grub_multiboot_backward_relocator_end): Likewise.
29410 (grub_multiboot_payload_eip): New variable.
29411 (grub_multiboot_payload_orig): Likewise.
29412 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29413 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29414 * include/grub/i386/memory.h
29415 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29416 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29417 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29418 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29419 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29420 * include/grub/i386/relocator.h: New file.
29421 * include/grub/x86_64/relocator.h: Likewise.
29422 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29423 (XNU_RELOCATOR): New macro.
29424 (grub_xnu_launcher_start): Remove.
29425 (grub_xnu_launcher_end): Likewise.
29426 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29427 (grub_xnu_heap_real_start): Remove.
29428 (grub_xnu_heap_start): Change to void *. All users updated.
29429 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29430 * lib/i386/relocator.c: New file.
29431 * lib/i386/relocator_asm.S: Likewise.
29432 * lib/i386/relocator_backward.S: Likewise.
29433 * lib/mips/relocator.c: Likewise.
29434 * lib/mips/relocator_asm.S: Likewise.
29435 * lib/relocator.c: Likewise.
29436 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29437 (entry): Removed.
29438 (playground): Likewise.
29439 (grub_multiboot_payload_orig): New variable.
29440 (grub_multiboot_payload_dest): Likewise.
29441 (grub_multiboot_payload_size): Likewise.
29442 (grub_multiboot_payload_eip): Likewise.
29443 (grub_multiboot_payload_esp): Likewise.
29444 (grub_multiboot_boot): Use grub_relocator32_boot.
29445 (grub_multiboot_unload): Free relocators.
29446 (grub_multiboot): Setup stack. Use relocators.
29447 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29448 (grub_multiboot_load_elfXX): Use relocators.
29449 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29450 (grub_multiboot_payload_size): Likewise.
29451 (grub_multiboot_payload_dest): Likewise.
29452 (grub_multiboot_payload_entry_offset): Likewise.
29453 (grub_multiboot_forward_relocator): Likewise.
29454 (grub_multiboot_backward_relocator): Likewise.
29455 (grub_multiboot_real_boot): Likewise.
29456 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29457 (grub_xnu_entry_point): Likewise.
29458 (grub_xnu_arg1): Likewise.
29459 (grub_xnu_stack): Likewise.
29460 (grub_xnu_launch): Removed.
29461 (grub_xnu_boot_resume): New function.
29462 (grub_xnu_boot): Use relocators.
29463 * loader/i386/xnu_helper.S: Removed.
29464 * loader/xnu.c (grub_xnu_heap_start): New variable.
29465 (grub_xnu_heap_size): Likewise.
29466 (grub_xnu_heap_malloc): Use relocators.
29467 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29468
29eb90c6
VS
294692009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29470
29471 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29472 anything.
29473
31027430
CPE
294742009-12-13 Carles Pina i Estany <carles@pina.cat>
29475
29476 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29477 GRUB_ERR_NONE before calling grub_env_set.
29478
dc0c71d9
RM
294792009-12-12 Robert Millan <rmh@aybabtu.com>
29480
29481 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29482 * genmk.rb (video): New variable.
29483 (CLEANFILES, VIDEOFILES): Add #{video}.
29484 (#{video}): New target rule.
29485 * genvideolist.sh: New file.
29486 * Makefile.in (pkglib_DATA): Add video.lst.
29487 (video.lst): New target rule.
29488 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29489 `video.lst'.
29490 * util/grub.d/30_os-prober.in: Replace `vbe' with
29491 ${GRUB_VIDEO_BACKEND}.
29492
2a4bfcf0
RM
294932009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29494
29495 * THANKS: Add David Miller.
29496
2a3aa4d5
RM
294972009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29498
29499 libpciaccess support.
29500
29501 * Makefile.in (LIBPCIACCESS): New variable.
29502 (enable_grub_emu_pci): Likewise.
29503 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29504 util/pci.c and commands/lspci.c.
29505 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29506 * configure.ac (grub-emu-pci): New option.
29507 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29508 (grub_pci_device_unmap_range): Likewise.
29509 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29510 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29511 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29512 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29513 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29514 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29515 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29516 * include/grub/pciutils.h: New file.
29517 * util/pci.c: Likewise.
29518
0ad46fd7 295192009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29520
29521 * util/misc.c: Don't include <errno.h> twice.
29522
0ad46fd7 295232009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29524
29525 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29526 name in an error message.
29527 (grub_biosdisk_rw): Likewise.
29528
2e59983c
VS
295292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 Eliminate NTFS 4Gib barrier.
29532
29533 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29534 (read_run_data): Likewise.
29535 (grub_ntfs_read_run_list): Likewise.
29536 (grub_ntfs_read_block): Likewise.
29537 (grub_ntfs_iterate_dir): Likewise.
29538 (read_mft): Likewise.
29539 (read_data): Likewise.
29540 Use COM_LOG_LEN.
29541 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29542 to avoid 64-bit division
29543 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29544 (grub_ntfs_rlst): Use grub_disk_addr_t.
29545
71ee178a
VS
295462009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29547
29548 Eliminate grub-fstest 4Gib barrier.
29549
29550 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29551 (read_file): Fix error reporting.
29552
2520d4b8
VS
295532009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 Eliminate hexdump 4Gib barrier.
29556
29557 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29558 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29559
e1f27065
VS
295602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29563 Fixes amarsh bug.
29564
1a0f7f45
RM
295652009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29566
29567 Remove miscellaneous files in distclean target.
29568
29569 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29570
c631d9fb
CW
295712009-12-09 Colin Watson <cjwatson@ubuntu.com>
29572
29573 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29574 if they're already set. This resolves the conflict between my
29575 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29576 fixing the --grub-probe option again.
29577 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29578 change on 2009-10-06, so that we now once again source
29579 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29580
7c7b6106
RM
295812009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29582
29583 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29584 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29585 `util/devicemap.c'.
29586
e3069ec1
CPE
295872009-12-08 Carles Pina i Estany <carles@pina.cat>
29588
29589 * include/grub/misc.h (grub_printf_): New declaration.
29590 * kern/misc.c (grub_printf_): New definition.
29591 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29592 instead of `grub_printf' and `_'.
29593 * normal/menu_entry.c (store_completion): Likewise.
29594 (run): Likewise.
29595 (grub_menu_entry_run): Likewise.
29596 * normal/menu_text.c (grub_wait_after_message): Likewise.
29597 (notify_booting): Likewise.
29598 (notify_fallback): Likewise.
29599 (notify_execution_failure): Likewise.
29600
d6ceebf1
CW
296012009-12-07 Colin Watson <cjwatson@ubuntu.com>
29602
29603 * configure.ac: Check for vasprintf.
29604 * util/misc.c (asprintf): Move allocation from here ...
29605 (vasprintf): ... to here. New function.
29606 (xasprintf): New function.
29607 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29608 prototypes.
29609 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29610 * util/grub-mkfont.c (write_font): Likewise.
29611 * util/grub-probe.c (probe): Likewise.
29612 * util/hostdisk.c (make_device_name): Likewise.
29613
de6daa8b
DM
296142009-12-06 David S. Miller <davem@sunset.davemloft.net>
29615
29616 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29617 anything even prefixed with 'cdrom' as a cdrom.
29618
0ad46fd7 296192009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29620
29621 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29622 mount points.
29623
98d3dc02
CPE
296242009-12-05 Carles Pina i Estany <carles@pina.cat>
29625
29626 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29627 grub_gettext_msg_list.
29628 (grub_gettext_gettranslation_from_position): Return const char *
29629 and not char *.
a2c1332b 29630 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29631 returns from the list if existing there.
29632 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29633 (grub_gettext_delete_list): Delete the list.
29634 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29635 lang environment variable is changed.
29636 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29637
b283f108
VS
296382009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29639
29640 Rename kernel.mod to kernel.img.
29641
29642 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29643 (kernel_mod_EXPORTS): Rename to ...
29644 (kernel_img_EXPORTS): ... this.
29645 (kernel_mod_SOURCES): Rename to ...
29646 (kernel_img_SOURCES): ... this.
29647 (kernel_mod_HEADERS): Rename to ...
29648 (kernel_img_HEADERS): ... this. All users updated.
29649 (kernel_mod_CFLAGS): Rename to ...
29650 (kernel_img_CFLAGS): ... this.
29651 (kernel_mod_ASFLAGS): Rename to ...
29652 (kernel_img_ASFLAGS): ... this.
29653 (kernel_mod_LDFLAGS): Rename to ...
29654 (kernel_img_LDFLAGS): ... this.
29655 * conf/x86_64-efi.rmk: Likewise.
29656 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29657 (read_kernel_image): ... this. All users updated.
29658 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29659
69055f8a
CPE
296602009-12-05 Carles Pina i Estany <carles@pina.cat>
29661
29662 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29663 (print_spaces): New function.
29664 (grub_print_ucs4): New function.
29665 (getstringwidth): New function.
29666 (print_message_indented): New function.
29667 (print_message): Gettexttize strings using print_message_indented.
29668 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29669 width.
29670 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29671 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29672 Gettextize.
29673 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29674 string.
29675 (run): Likewise.
29676 (grub_menu_entry_run): Likewise.
29677 * PO/POTFILES: Add normal/menu_entry.c.
29678
f616f51c
VS
296792009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29680
29681 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29682
57bbe3be
CPE
296832009-12-05 Carles Pina i Estany <carles@pina.cat>
29684
29685 * util/grub-install.in: Install gettext .mo files.
29686 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29687
013d67a1
CPE
296882009-12-05 Carles Pina i Estany <carles@pina.cat>
29689
29690 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29691 grub_dprintf.
29692
fb954db0
RM
296932009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29694
29695 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29696 non-firmware-dependant one in realmode.S takes precedence.
29697
6b8474f8
RM
296982009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29699
29700 * commands/halt.c: Replace misc arch-specific headers with
29701 `<grub/misc.h>'.
29702 * commands/reboot.c: Likewise.
29703 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29704 `<grub/misc.h>'.
29705 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29706 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29707 (kernel_img_SOURCES): ... to here.
29708
29709 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29710 * include/grub/i386/pc/init.h: Likewise.
29711 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29712 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29713
29714 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29715
29716 * include/grub/i386/halt.h: Remove.
29717 * include/grub/i386/reboot.h: Likewise.
29718
29719 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29720
4b2e6ca2
DM
297212009-12-03 David S. Miller <davem@sunset.davemloft.net>
29722
29723 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29724 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29725 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29726 "progname.h"
29727 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29728 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29729 (usage): Add missing comma in printf.
29730
5239348f
RM
297312009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29732
29733 Use the same reboot approach on i386 coreboot and qemu as we do on
29734 BIOS.
29735
29736 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29737 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29738 * kern/i386/reboot.c: Remove.
29739 * include/grub/i386/reboot.h (grub_reboot): Export function.
29740 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29741 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29742 0xf000:0xfff0 instead of 0xffff:0x0000.
29743 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29744 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29745
ef34cbd4
RM
297462009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 Fix $srcdir != $objdir build.
29749
29750 * Makefile.in (po/%.po): Rewrite as ...
29751 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29752
dc9837ea
ST
297532009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29754
29755 Fix GNU/Hurd grub-install crash.
29756 * util/grub-probe.c (probe): Try to access `path' only when it is not
29757 NULL.
29758
2f857f98
VS
297592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29760
29761 Correct module naming.
29762
29763 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29764 (GRUB_MOD_INIT(efi_uga)): ... to this
29765 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29766 (GRUB_MOD_FINI(efi_uga)): ... to this
29767 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29768 (GRUB_MOD_INIT(efi_gop)): ... to this
29769 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29770 (GRUB_MOD_FINI(efi_gop)): ... to this
29771
c5448046
RM
297722009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29775 translatable.
29776 (usage): Translate `arg' strings using gettext().
29777 Thanks to Jordi Mallach for the suggestion.
29778
c85184ad
VS
297792009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29780
29781 GOP support. Based on patch from Bean
29782 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29783
29784 * video/efi_gop.c: New file.
29785 * include/grub/efi/graphics_output.h: Likewise.
29786 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29787 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29788 variables.
29789 * conf/x86_64-efi.rmk: Likewise.
29790
8a4c48d8
VS
297912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29792
29793 Rename efi_fb to efi_uga.
29794
29795 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29796 'efi_uga.mod'.
29797 (efi_fb_mod_SOURCES): Rename this ...
29798 (efi_uga_mod_SOURCES): ... to this.
29799 (efi_fb_mod_CFLAGS): Rename this ...
29800 (efi_uga_mod_CFLAGS): ... to this.
29801 (efi_fb_mod_LDFLAGS): Rename this ...
29802 (efi_uga_mod_LDFLAGS): ... to this.
29803 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29804 'efi_uga.mod'.
29805 (efi_fb_mod_SOURCES): Rename this ...
29806 (efi_uga_mod_SOURCES): ... to this.
29807 (efi_fb_mod_CFLAGS): Rename this ...
29808 (efi_uga_mod_CFLAGS): ... to this.
29809 (efi_fb_mod_LDFLAGS): Rename this ...
29810 (efi_uga_mod_LDFLAGS): ... to this.
29811 * video/efi_fb.c: Move this ...
29812 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29813
fb6c1a7b
RM
298142009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29815
29816 * po/README: New file. Explain our PO file workflow.
29817
3bc7896c
RM
298182009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 * po/ChangeLog: Remove. Move relevant entries back to ...
29821 * ChangeLog: ... here.
29822 * po/ca.po: Remove (now handled by TLP).
29823 * po/id.po: Likewise.
29824 * po/zh_CN.po: Likewise.
29825 * Makefile.in (LINGUAS): Initialize in a way that supports
29826 empty set.
29827
9ed4841d
RM
298282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29829
29830 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29831 reliing on po/LINGUAS.
29832 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29833 (po/%.po): ... this.
29834
0ad46fd7 298352009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29836
29837 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29838 (main): Use `program_name' instead of nonexistent `progname'.
29839
e30dd392
FZ
298402009-11-26 Felix Zielcke <fzielcke@z-51.de>
29841
29842 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29843 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29844
7656de4f
RM
298452009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29846
29847 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29848 commit.
29849 * conf/i386-efi.rmk: Likewise.
29850 * conf/i386-ieee1275.rmk: Likewise.
29851 * conf/powerpc-ieee1275.rmk: Likewise.
29852 * conf/sparc64-ieee1275.rmk: Likewise.
29853 * conf/x86_64-efi.rmk: Likewise.
29854
db77c4d4
FZ
298552009-11-26 Felix Zielcke <fzielcke@z-51.de>
29856
29857 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29858
a755bb04
FZ
298592009-11-26 Felix Zielcke <fzielcke@z-51.de>
29860
29861 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29862
8a4c07fd
RM
298632009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29864
29865 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29866 (grub_mkdevicemap_SOURCES): New variable.
29867 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29868 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29869 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29870 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29871 (grub_mkdevicemap_SOURCES): Remove.
29872 * conf/i386-efi.rmk: Likewise.
29873 * conf/i386-ieee1275.rmk: Likewise.
29874 * conf/i386-pc.rmk: Likewise.
29875 * conf/powerpc-ieee1275.rmk: Likewise.
29876 * conf/sparc64-ieee1275.rmk: Likewise.
29877 * conf/x86_64-efi.rmk: Likewise.
29878 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29879 (usage): Fix strings to use `program_name'.
29880 (main): Initialize gettext.
29881 * util/grub-editenv.c: Likewise.
29882 * util/grub-emu.c: Likewise.
29883 * util/grub-fstest.c: Likewise.
29884 * util/grub-mkdevicemap.c: Likewise.
29885 * util/grub-mkfont.c: Likewise.
29886 * util/grub-mkrelpath.c: Likewise.
29887 * util/grub-pe2elf.c: Likewise.
29888 * util/grub-probe.c: Likewise.
29889 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29890 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29891 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29892
29893 * util/misc.c: Include `"progname.h"'.
29894 (progname): Remove variable.
29895 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29896
6f61ed55
FZ
298972009-11-25 Felix Zielcke <fzielcke@z-51.de>
29898
29899 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29900 printf and print a newline after the menuentry header line.
29901 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29902
f022876b
FZ
299032009-11-25 Felix Zielcke <fzielcke@z-51.de>
29904
29905 autoconf >= 2.60 support $(localedir).
29906
29907 * INSTALL: Note that autoconf 2.60 is required.
29908 * configure.ac (AC_PREREQ): Bump to 2.60.
29909 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29910 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29911
6717926e
YB
299122009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29913
29914 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29915 aclocal is run.
29916
08806a54
RM
299172009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29918
29919 * normal/main.c (grub_normal_read_line): Fix off-by-one
29920 buffer overflow.
29921
13b33fba
RM
299222009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29923
29924 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29925 "parser.grub" in grub_command_execute() call.
29926
4a8572e9
CPE
299272009-11-24 Carles Pina i Estany <carles@pina.cat>
29928
29929 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29930 * conf/i386-efi.rmk: Likewise.
29931 * conf/i386-ieee1275.rmk: Likewise.
29932 * conf/i386-pc.rmk: Likewise.
29933 * conf/powerpc-ieee1275.rmk: Likewise.
29934 * conf/sparc64-ieee1275.rmk: Likewise.
29935 * conf/x86_64-efi.rmk: Likewise.
29936 * gettext/gettex.c: Include <grub/i18n.h>.
29937 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29938 here ...
29939 * include/grub/i18n.h: ... to here
29940 * include/grub/i18n.h: ... to here.
29941 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29942 (grub_gettext_dummy): Move above user.
4a8572e9 29943
bee48093
FZ
299442009-11-24 Felix Zielcke <fzielcke@z-51.de>
29945
29946 * util/Makefile.in (install-local): Convert a `for' into a normal
29947 shell expansion.
29948
a031e91c
RM
299492009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29950
29951 * autogen.sh: Add automake call.
29952 * config.guess: Remove.
29953 * config.sub: Likewise.
29954 * install-sh: Likewise.
29955
26bec39d
FZ
299562009-11-24 Felix Zielcke <fzielcke@z-51.de>
29957
29958 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29959
8e2532fd
FZ
299602009-11-24 Felix Zielcke <fzielcke@z-51.de>
29961
29962 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29963 function to a normal shell `for'.
29964
fefa1b7d
FZ
299652009-11-24 Felix Zielcke <fzielcke@z-51.de>
29966
29967 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29968
4501250b
FZ
299692009-11-24 Felix Zielcke <fzielcke@z-51.de>
29970
29971 * util/grub-mkrelpath.c: New file.
29972 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29973 (grub_mkrelpath_SOURCES): New variable.
29974 * include/grub/util/misc.h: New function prototype.
29975 * util/misc.c (make_system_path_relative_to_its_root): New function.
29976
29977 * util/grub-mkconfig_lib.in (bindir): New variable.
29978 (grub_mkrelpath): Likewise.
29979 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29980
29981 * util/probe.c (probe): Make the file path relative to its root.
29982 Change a info message to use the GRUB path. Enable again the
29983 check if we can read the file with GRUB facilities.
29984
29985 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29986 to its root.
29987
11d9778b
FZ
299882009-11-24 Felix Zielcke <fzielcke@z-51.de>
29989
29990 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29991 platform.
29992
4465287d
FZ
299932009-11-24 Felix Zielcke <fzielcke@z-51.de>
29994
29995 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29996 strncmp().
29997
62b47f22
FZ
299982009-11-24 Felix Zielcke <fzielcke@z-51.de>
29999
30000 * util/getroot.c (grub_util_is_dmraid): New function.
30001 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30002 devices as normal ones, not as LVM.
30003
1eafb9b9 300042009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30005
30006 * conf/common.rmk: Add grub-gettext_lib target and updates
30007 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30008 LDFLAGS.
30009 * gettext/gettext.c: New file. (Reads mo files).
30010 * include/grub/file.h (grub_file_pread): New prototype.
30011 * include/grub/i18n.h (_): New prototype.
30012 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30013 prototypes.
30014 * kern/misc.c (grub_gettext_dummy): New function.
30015 * normal/menu_text.c: Include <grub/i18n.h>.
30016 * normal/menu_text.c (print_timeout): Gettexttize string.
30017 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30018 * po/POTFILES: Add `normal/menu_text.c'.
30019 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30020 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30021 gettext module and defines locale_dir and lang in grub.cfg.
30022 * NEWS: Add gettext support.
30023
0fdb2568
RM
300242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30025
30026 * util/hostdisk.c: Include `<grub/i18n.h>'.
30027 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30028 (make_device_name): Rewrite using asprintf.
30029 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30030 (find_system_device): If a device is not found, generate one just
30031 by reusing the OS path name.
30032 (read_device_map): Make it permissible for device.map not to exist.
30033
f515aa62
RM
300342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30035
30036 * script/sh/execute.c: Move from here ...
30037 * script/execute.c: ... to here. Update all users.
30038 * script/sh/function.c: Move from here ...
30039 * script/function.c: ... to here. Update all users.
30040 * script/sh/lexer.c: Move from here ...
30041 * script/lexer.c: ... to here. Update all users.
30042 * script/sh/main.c: Move from here ...
30043 * script/main.c: ... to here. Update all users.
30044 * script/sh/parser.y: Move from here ...
30045 * script/parser.y: ... to here. Update all users.
30046 * script/sh/script.c: Move from here ...
30047 * script/script.c: ... to here. Update all users.
30048
f84b481b
RM
300492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * configure.ac: Detect all `emu' platforms. Define
30052 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30053 --enable-grub-emu logic. Disable include/grub/machine
30054 symlink on `emu' platforms.
30055
30056 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30057 * gensymlist.sh.in: Likewise.
30058
30059 * include/grub/i386/coreboot/machine.h: Remove file.
30060 * include/grub/i386/efi/machine.h: Likewise.
30061 * include/grub/i386/ieee1275/machine.h: Likewise.
30062 * include/grub/i386/pc/machine.h: Likewise.
30063 * include/grub/i386/qemu/machine.h: Likewise.
30064 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30065 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30066 * include/grub/x86_64/efi/machine.h: Likewise.
30067
30068 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30069 * commands/halt.c: Likewise.
30070 * commands/reboot.c: Likewise.
30071 * include/grub/autoefi.h: Likewise.
30072 * include/grub/i386/at_keyboard.h: Likewise.
30073 * include/grub/i386/kernel.h: Likewise.
30074 * include/grub/i386/loader.h: Likewise.
30075 * include/grub/i386/pc/memory.h: Likewise.
30076 * kern/dl.c: Likewise.
30077 * kern/i386/coreboot/init.c: Likewise.
30078 * loader/i386/bsd.c: Likewise.
30079 * loader/i386/linux.c: Likewise.
30080 * loader/multiboot_loader.c: Likewise.
30081 * term/i386/pc/serial.c: Likewise.
30082 * term/usb_keyboard.c: Likewise.
30083
30084 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30085 `<grub/machine/machine.h>'
30086 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30087 * util/misc.c: Remove `<grub/machine/machine.h>' and
30088 `<grub/machine/time.h>'.
30089
30090 * Makefile.in (enable_grub_emu): Remove variable.
30091 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30092
30093 * conf/any-emu.rmk: New file.
30094 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30095 (grub_emu_init.c): Move from here ...
30096 * conf/any-emu.rmk: ... to here.
30097
30098 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30099 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30100 * conf/any-emu.rmk: ... to here.
30101
4efeab03
RM
301022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30103
30104 * include/grub/parser.h (grub_parser_register): Document need
30105 of `name' parameter.
30106 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30107 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30108 "sh" to "grub".
30109
ea1dd8bf
RM
301102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30111
30112 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30113 `$(XGETTEXT)'.
30114 * include/grub/i18n.h (N_): New macro.
30115 * util/mkisofs/mkisofs.h: Likewise.
30116 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30117 around N_().
30118 (usage): Use gettext() to translate help strings when printing them.
30119
0c140626
RM
301202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30121
30122 Based on patch from Bean
30123 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30124
30125 * video/efi_fb.c: New file.
30126 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30127 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30128 variables.
30129 * conf/x86_64-efi.rmk: Likewise.
30130
87d58298
RM
301312009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30132
30133 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30134 * util/i386/pc/grub-setup.c: Likewise.
30135
994cc3a3
ST
301362009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30137
30138 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30139 <hurd/fs.h>
30140 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30141 file_get_storage_info to implement grub_guess_root_device.
30142
26a61d6a
FZ
301432009-11-21 Felix Zielcke <fzielcke@z-51.de>
30144
30145 * Makefile.in (target): Use make's builtin $(shell) function
30146 instead of calling directly $(SHELL) to create the locale directories,
30147 inside the $(foreach) function.
30148
74ff1dd5
FZ
301492009-11-21 Felix Zielcke <fzielcke@z-51.de>
30150
30151 * util/grub-mkrescue.in: Print an error and usage if output option
30152 has not been given.
30153
0b787d0e
FZ
301542009-11-21 Felix Zielcke <fzielcke@z-51.de>
30155
30156 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30157 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30158 root and /boot are on different devices.
30159
1164b270
RM
301602009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30161
30162 Fix build for srcdir != objdir.
30163
30164 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30165 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30166 $(srcdir).
30167 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30168 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30169 reference for input.
30170
13774a2f
RM
301712009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30174 or hardlinking it). Remove -J option, Joliet is not compatible with
30175 multiple source directories.
30176
efda854e
RM
301772009-11-21 Carles Pina i Estany <carles@pina.cat>
301782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30179
30180 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30181 (process_input_dir): New function. Process an arbitrary input
30182 directory.
30183 Misc adjustments to support both "override mode" and system-wide mode.
30184
6c09890c
FZ
301852009-11-20 Felix Zielcke <fzielcke@z-51.de>
30186
30187 * configure.ac (UNIFONT_BDF): Rename to ...
30188 (FONT_SOURCE): ... this. Update all users.
30189
a797824f
FZ
301902009-11-20 Felix Zielcke <fzielcke@z-51.de>
30191
30192 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30193 to the list of unifont files to look for.
30194
cd4f42b0
RM
301952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30196
30197 Patch from Joe Auricchio <jauricchio@gmail.com>
30198 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30199 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30200 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30201
393c783d
FZ
302022009-11-19 Felix Zielcke <fzielcke@z-51.de>
30203
30204 * Makefile.in (install-local): Add a missing backslash.
30205
b2f1e327
FZ
302062009-11-19 Felix Zielcke <fzielcke@z-51.de>
30207
30208 * include/grub/x86_64/io.h: New file.
30209
f577f7a0
RM
302102009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30211
30212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30213 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30214 Include `"progname.h"'.
30215 (main): Initialize gettext.
30216 * util/i386/pc/grub-setup.c: Gettexttize.
30217 * util/i386/pc/grub-mkimage.c: Likewise.
30218
30219 * Makefile.in (po/*.po): Redefine as ...
30220 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30221
3bc7896c
RM
30222 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30223
c37943b6
RM
302242009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30225
30226 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30227 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30228 (program_name): Remove.
30229 (main): Initialize gettext support.
6323f705
RM
30230 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30231 Include `<libintl.h>'.
30232 (_): New macro.
c37943b6
RM
30233
30234 * util/mkisofs/eltorito.c: Gettexttize.
30235 * util/mkisofs/joliet.c: Likewise.
30236 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30237 * util/mkisofs/multi.c: Likewise.
30238 * util/mkisofs/rock.c: Likewise.
30239 * util/mkisofs/tree.c: Likewise.
30240 * util/mkisofs/write.c: Likewise.
30241
3bc7896c
RM
30242 * po/POTFILES: Update with new files.
30243
5ce77c6e
RM
302442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30245
30246 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30247 * util/mkisofs/iso9660.h: Likewise.
30248 * util/mkisofs/joliet.c: Likewise.
30249 * util/mkisofs/mkisofs.c: Likewise.
30250 * util/mkisofs/mkisofs.h: Likewise.
30251 * util/mkisofs/rock.c: Likewise.
30252 * util/mkisofs/tree.c: Likewise.
30253 * util/mkisofs/write.c: Likewise.
30254
30255 * util/mkisofs/eltorito.c (rcsid): Remove.
30256 * util/mkisofs/hash.c: Likewise.
30257 * util/mkisofs/joliet.c: Likewise.
30258 * util/mkisofs/name.c: Likewise.
30259 * util/mkisofs/rock.c: Likewise.
30260 * util/mkisofs/tree.c: Likewise.
30261 * util/mkisofs/write.c: Likewise.
30262
1dabbc77
RM
302632009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30264
30265 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30266 instead of static allocation.
30267 * util/mkisofs/match.h: Likewise.
30268
633877cb
RM
302692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30270
3bc7896c
RM
30271 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30272 and `util/grub.d/10_linux.in'.
633877cb
RM
30273 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30274 translatable Shell files.
30275
af1c0c85
RM
302762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30277
30278 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30279
769ae37b
RM
302802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30281
30282 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30283 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30284 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30285 Add gettext initialization.
30286 (kfreebsd_entry): Make menuentry output translatable.
30287
302882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30289
30290 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30291 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30292 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30293 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30294 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30295 * po/LINGUAS: New file.
769ae37b
RM
30296
302972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30300 other things).
30301 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30302 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30303 bindtextdomain() calls for gettext initialization.
30304
303052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30306
30307 * gnulib/progname.c: New file (imported from Gnulib).
30308 * gnulib/progname.h: Likewise.
30309 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30310 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30311 (usage): Replace `progname' with `program_name'.
30312 (main): Use set_program_name() for program name initialization.
30313
303142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30315
30316 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30317 from here ...
30318 * Makefile.in (CPPFLAGS): ... to here.
30319
303202009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30321
30322 * aclocal.m4: Move from here ...
30323 * acinclude.m4: ... to here.
30324 * autogen.sh: Add call to `aclocal'.
30325 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30326
303272009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30328
30329 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30330 (LINGUAS): New variable.
30331 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30332 (install-local): Install MO files.
30333 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30334 * include/grub/i18n.h: New file.
3bc7896c
RM
30335 * po/POTFILES: New file.
30336 * po/ca.po: New file.
769ae37b
RM
30337 * util/grub.d/10_linux.in (bindir): New variable.
30338 Add gettext initialization.
30339 (linux_entry): Make menuentry output translatable.
30340 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30341 (usage): Make --help output translatable.
30342 (main): Initialize gettext.
30343
02c0a6ad
RM
303442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30345
30346 * import_gcry.py: New file (written by Vladimir with minor
30347 adjustments).
30348 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30349 ciphers.
30350 * INSTALL: Document that Python is required for bootstrap.
30351
303522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30353
30354 Import ciphers from libgcrypt 1.4.4.
30355
30356 * lib/libgcrypt/cipher/ChangeLog
30357 * lib/libgcrypt/cipher/ac.c
30358 * lib/libgcrypt/cipher/arcfour.c
30359 * lib/libgcrypt/cipher/bithelp.h
30360 * lib/libgcrypt/cipher/blowfish.c
30361 * lib/libgcrypt/cipher/camellia-glue.c
30362 * lib/libgcrypt/cipher/camellia.c
30363 * lib/libgcrypt/cipher/camellia.h
30364 * lib/libgcrypt/cipher/cast5.c
30365 * lib/libgcrypt/cipher/cipher.c
30366 * lib/libgcrypt/cipher/crc.c
30367 * lib/libgcrypt/cipher/des.c
30368 * lib/libgcrypt/cipher/dsa.c
30369 * lib/libgcrypt/cipher/ecc.c
30370 * lib/libgcrypt/cipher/elgamal.c
30371 * lib/libgcrypt/cipher/hash-common.c
30372 * lib/libgcrypt/cipher/hash-common.h
30373 * lib/libgcrypt/cipher/hmac-tests.c
30374 * lib/libgcrypt/cipher/md.c
30375 * lib/libgcrypt/cipher/md4.c
30376 * lib/libgcrypt/cipher/md5.c
30377 * lib/libgcrypt/cipher/primegen.c
30378 * lib/libgcrypt/cipher/pubkey.c
30379 * lib/libgcrypt/cipher/rfc2268.c
30380 * lib/libgcrypt/cipher/rijndael-tables.h
30381 * lib/libgcrypt/cipher/rijndael.c
30382 * lib/libgcrypt/cipher/rmd.h
30383 * lib/libgcrypt/cipher/rmd160.c
30384 * lib/libgcrypt/cipher/rsa.c
30385 * lib/libgcrypt/cipher/seed.c
30386 * lib/libgcrypt/cipher/serpent.c
30387 * lib/libgcrypt/cipher/sha1.c
30388 * lib/libgcrypt/cipher/sha256.c
30389 * lib/libgcrypt/cipher/sha512.c
30390 * lib/libgcrypt/cipher/tiger.c
30391 * lib/libgcrypt/cipher/twofish.c
30392 * lib/libgcrypt/cipher/whirlpool.c
30393
af2f93ac
RM
303942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30395
30396 Fix build for systems without error().
30397
30398 * gnulib/error.c: New file (imported from Gnulib).
30399 * gnulib/error.h: Likewise.
30400 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30401 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30402 (this variable is now used by error()).
30403
73fb3dd5
FZ
304042009-11-16 Felix Zielcke <fzielcke@z-51.de>
30405
814f5e96
FZ
30406 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30407 instead of relying that char is signed.
73fb3dd5 30408
a691ca33
VS
304092009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30410
30411 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30412 blocksize different from specified.
30413 (grub_pxefs_read): Likewise.
30414
2af8f0f4
FZ
304152009-11-16 Felix Zielcke <fzielcke@z-51.de>
30416
30417 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30418
30419 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30420 (grub_ata_readwrite): Likewise. Update 2 format strings.
30421 (grub_atapi_read): Likewise.
30422
30423 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30424 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30425 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30426 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30427 (ata_mod_LDFLAGS): Move from here ...
30428 * conf/i386.rmk: ... to here ...
30429 * conf/x86_64-efi.rmk: ... and here.
30430 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30431 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30432
83bdecaf
RM
304332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 Relicense multiboot.h, with RMS' blessing.
30436
30437 * include/multiboot.h: Change to X11 license.
30438
fd6fd3d7
RM
304392009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30440
30441 Support --version in grub-mkisofs.
30442
30443 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30444 (OPTION_VERSION): New macro.
30445 (ld_options): Recognize --version.
30446 (usage): Move `program_name' from here ...
30447 (program_name): ... to here. Add `static' qualifier.
30448 (main): Recognize `OPTION_VERSION'.
30449
16a88c49
FZ
304502009-11-15 Felix Zielcke <fzielcke@z-51.de>
30451
30452 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30453 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30454
a4158476
RM
304552009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30456
30457 Fix help2man generation for mkisofs.
30458
30459 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30460 (usage): Send output to stdout (rather than stderr).
30461
fc2208b0
RM
304622009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30463
30464 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30465 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30466 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30467 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30468 (bin_SCRIPTS): Add `grub-mkfloppy'.
30469 (grub_mkfloppy_SOURCES): New variable.
30470
30471 * util/grub-mkrescue.in: New file.
30472 * util/i386/pc/grub-mkfloppy.in: New file.
30473
30474 * util/i386/coreboot/grub-mkrescue.in: Remove.
30475 * util/i386/pc/grub-mkrescue.in: Remove.
30476
8d0edf4a
RM
304772009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30480 from here ...
30481 * include/multiboot.h (struct multiboot_header): ... to here. Update
30482 all users.
30483 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30484 from here ...
30485 * include/multiboot.h (struct multiboot_info): ... to here. Update
30486 all users.
30487 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30488 from here ...
30489 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30490 Update all users.
30491 * include/grub/multiboot.h (struct grub_mod_list): Move
30492 from here ...
30493 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30494 Update all users.
30495
a73f5969
RM
304962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30497
30498 * include/multiboot2.h (multiboot_word): Rename from this ...
30499 (multiboot2_word): ... to this. Update all users.
30500 (multiboot_header): Rename from this ...
30501 (multiboot2_header): ... to this. Update all users.
30502 (multiboot_tag_header): Rename from this ...
30503 (multiboot2_tag_header): ... to this. Update all users.
30504 (multiboot_tag_start): Rename from this ...
30505 (multiboot2_tag_start): ... to this. Update all users.
30506 (multiboot_tag_name): Rename from this ...
30507 (multiboot2_tag_name): ... to this. Update all users.
30508 (multiboot_tag_module): Rename from this ...
30509 (multiboot2_tag_module): ... to this. Update all users.
30510 (multiboot_tag_memory): Rename from this ...
30511 (multiboot2_tag_memory): ... to this. Update all users.
30512 (multiboot_tag_unused): Rename from this ...
30513 (multiboot2_tag_unused): ... to this. Update all users.
30514 (multiboot_tag_end): Rename from this ...
30515 (multiboot2_tag_end): ... to this. Update all users.
30516
1c8927f0
RM
305172009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30518
30519 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30520 this platform we should support Multiboot1 first.
30521
30522 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30523 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30524 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30525
6e1e0d89
RM
305262009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30529 of write calls (converting them to fwrite() if they aren't already).
30530 (get_torito_desc): Likewise.
30531 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30532
7f2b34d8
RM
305332009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * util/i386/pc/grub-install.in: Move from here ...
30536 * util/grub-install.in: ... to here. Update all users.
30537
c0ef3311
CW
305382009-11-11 Colin Watson <cjwatson@ubuntu.com>
30539
30540 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30541
e1f240ff
RM
305422009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30543
30544 Support for El Torito without floppy emulation.
30545
30546 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30547 (init_boot_catalog): Improve error handling.
30548 (get_torito_desc): Don't use floppy emulation unless requested by
30549 user. Patch boot information table when requested via
30550 `-boot-info-table'.
30551 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30552 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30553 (use_boot_info_table): New variables.
30554 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30555 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30556 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30557 `--eltorito-emul-floppy'.
30558 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30559 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30560 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30561 (use_boot_info_table, get_731): New prototypes.
30562 * util/mkisofs/write.c (get_731): New function.
30563
af7d4de5
FZ
305642009-11-11 Felix Zielcke <fzielcke@z-51.de>
30565
30566 Fix the generation of the man page.
30567
30568 * util/pc/i386/grub-install.in: Source
30569 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30570
2c55dbc0
RM
305712009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 Large file support for grub-mkisofs.
30574
30575 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30576 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30577 (session_start): Upgrade type to `uint64_t'. Update all users.
30578 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30579 (struct directory_entry): Upgrade type of `starting_block' and
30580 `size' to `uint64_t'. Update all users.
30581 (struct deferred): Remove unused structure.
30582 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30583 Update all users.
30584 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30585 file is larger than `UINT32_MAX'.
30586 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30587 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30588 return value.
30589 (struct deferred_write): Upgrade type of `extent' and `size' to
30590 `uint64_t'. Update all users.
30591 (last_extent_written): Upgrade type to `uint64_t'. Update all
30592 users.
30593 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30594 Update all users. Upgrade type of `remain' to `int64_t' and
30595 `use' to `size_t'. Use error() to handle fread() errors.
30596 (write_files): Rely on write_one_file() rather than calling
30597 xfwrite() directly.
30598
6a9cead5
FZ
305992009-11-09 Felix Zielcke <fzielcke@z-51.de>
30600
30601 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30602
4825d790
RM
306032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * util/mkisofs/fnmatch.c: Remove.
30606 * util/mkisofs/getopt1.c: Likewise.
30607 * util/mkisofs/getopt.c: Likewise.
30608 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30609 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30610 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30611 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30612 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30613
30614 * configure.ac: Detect `mingw32msvc' host_os.
30615 Check for lstat(), getuid() and getgid().
30616
30617 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30618 instances of `u_char' with `uint8_t'.
30619
30620 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30621 [!HAVE_GETUID] (getuid): New function (stub).
30622 [!HAVE_GETGID] (getgid): Likewise.
30623 [!HAVE_LSTAT] (lstat): Likewise.
30624 [!S_IROTH] (S_IROTH): New macro (dummy).
30625 [!S_IRGRP] (S_IRGRP): Likewise.
30626
84b860d8
RM
306272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30628
30629 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30630 conditional expression).
30631
66e9b712
RM
306322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30633
30634 Import from Gnulib.
30635
30636 * gnulib/fnmatch.c: New file.
30637 * gnulib/fnmatch.h: Likewise.
30638 * gnulib/fnmatch_loop.c: Likewise.
30639 * gnulib/getopt.c: Likewise.
30640 * gnulib/getopt.h: Likewise.
30641 * gnulib/getopt1.c: Likewise.
30642 * gnulib/getopt_int.h: Likewise.
30643 * gnulib/gettext.h: Likewise.
30644
34f4a5b0
RM
306452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30648 * normal/handler.c (read_handler_list): Likewise.
30649
ac451143
RM
306502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30651
30652 Misc cleanup.
30653
30654 * kern/command.c (grub_register_command_prio): Use
30655 grub_zalloc() instead of explicitly zeroing data.
30656 * kern/list.c: Include `<grub/mm.h>'.
30657 (grub_named_list_find): Replace `0' with `NULL'.
30658 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30659 (fs_module_list): Change type to `grub_named_list_t'. Update all
30660 users.
30661 * normal/dyncmd.c (read_command_list): Add space between function
30662 call and parenthesis.
30663 * normal/handler.c (read_handler_list): Likewise.
30664
4089b167
RM
306652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30666
30667 * normal/auth.c (punishment_delay): Moved from here ...
30668 (grub_auth_strcmp): ... to here (inside function).
30669
325f5037
RM
306702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30671
30672 * include/grub/list.h (struct grub_named_list): Remove `const'
30673 qualifier from `name'.
30674 (struct grub_prio_list): Likewise.
30675
7aea29a3
RM
306762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 * normal/auth.c: Include `<grub/time.h>'.
30679 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30680
3fd6f044
RM
306812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30682
30683 * normal/auth.c (punishment_delay): New variable.
30684 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30685 (grub_auth_check_authentication): Punish failed login attempts with
30686 an incremental (2^N) delay.
30687
a4cd68e4
RM
306882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30689
30690 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30691 path with $(srcdir).
30692
7ad12f43
VS
306932009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30694
30695 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30696
c1129f03
RM
306972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30698
30699 * util/i386/coreboot/grub-mkrescue.in: New file.
30700 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30701 variables.
30702
30703 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30704 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30705 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30706 requirements.
30707 * util/mkisofs/defaults.h: New file.
30708 * util/mkisofs/eltorito.c: Likewise.
30709 * util/mkisofs/exclude.h: Likewise.
30710 * util/mkisofs/fnmatch.c: Likewise.
30711 * util/mkisofs/getopt.c: Likewise.
30712 * util/mkisofs/getopt1.c: Likewise.
30713 * util/mkisofs/hash.c: Likewise.
30714 * util/mkisofs/include/fctldefs.h: Likewise.
30715 * util/mkisofs/include/mconfig.h: Likewise.
30716 * util/mkisofs/include/prototyp.h: Likewise.
30717 * util/mkisofs/include/statdefs.h: Likewise.
30718 * util/mkisofs/iso9660.h: Likewise.
30719 * util/mkisofs/joliet.c: Likewise.
30720 * util/mkisofs/match.c: Likewise.
30721 * util/mkisofs/match.h: Likewise.
30722 * util/mkisofs/mkisofs.c: Likewise.
30723 * util/mkisofs/mkisofs.h: Likewise.
30724 * util/mkisofs/multi.c: Likewise.
30725 * util/mkisofs/name.c: Likewise.
30726 * util/mkisofs/rock.c: Likewise.
30727 * util/mkisofs/tree.c: Likewise.
30728 * util/mkisofs/write.c: Likewise.
30729
ec8bb77d
VS
307302009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30731
30732 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30733 being insecure.
30734
3716b12c
RM
307352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30738 `grub-mkimage' (and use $0 when possible).
30739
b97b7b91
RM
307402009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30743 error message for excessively large memory map.
30744
04114812
RM
307452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30746
30747 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30748 executable bit.
30749
e4eb2373
RM
307502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30751
30752 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30753 message for coreboot users.
30754
c926e1d5 307552009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30756
30757 Fix build with GNU gold.
30758
30759 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30760 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30761 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30762 link addresses.
30763 * aclocal.m4: Likewise.
30764
86e5b1db 307652009-11-04 Felix Zielcke <fzielcke@z-51.de>
30766
30767 * configure.ac (AC_PREREQ): Bump to 2.59d.
30768 * INSTALL: Make it more clear when Autoconf and Ruby are
30769 needed and when to run `./autogen.sh'.
30770
246cd78f 307712009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30772
30773 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30774 OSes.
30775
4f9dfb37 307762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30777
30778 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30779
b82bd5e1 307802009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30781
30782 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30783 giving it to GNU Mach.
30784
ff1a9bca 307852009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30786
30787 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30788 GNU partition number to get internal GRUB partition number.
30789
61697d9c 307902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30791
30792 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30793 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30794
a50569e1 307952009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30796
30797 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30798 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30799 case.
30800
5b153867 308012009-11-01 Felix Zielcke <fzielcke@z-51.de>
30802
30803 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30804
d9e2cd70 308052009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30806
30807 Fix build problem.
30808
30809 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30810 `-isystem=$(srcdir)/include'.
30811
805111a4 308122009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30813
30814 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30815 checked (grub-install doesn't currently rely on it).
30816
fa6e945f 308172009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30818
30819 Revert SVN r2660.
30820
30821 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30822 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30823 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30824 * conf/i386-ieee1275.rmk: Likewise.
30825 * conf/i386-pc.rmk: Likewise.
30826 * conf/powerpc-ieee1275.rmk: Likewise.
30827 * conf/sparc64-ieee1275.rmk: Likewise.
30828 * conf/x86_64-efi.rmk: Likewise.
30829
cee15086 308302009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30831
30832 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30833
95b9239e 308342009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30835
30836 * include/grub/misc.h: Stop checking for APPLE_CC.
30837
2ed19dfd 308382009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30839
30840 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30841 doesn't cause an infinite call loop.
30842
fdcdde19 308432009-10-28 Felix Zielcke <fzielcke@z-51.de>
30844
30845 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30846 strings.
30847
cefabfe1 308482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30849
30850 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30851 variable.
30852 * Makefile.in: Likewise.
30853
ed96ab6d 308542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30855
30856 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30857
0579b753 308582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30861
478df409 308622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30865
083d1679 308662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30867
30868 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30869 from here ...
30870 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30871
5947ae32 308722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30873
30874 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30875 in $(MAKEINFO) invocation. This makes it clear in output that
30876 errors are being ignored.
30877
94180ff6 308782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30879
30880 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30881 from here ...
30882 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30883 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30884 * conf/i386-ieee1275.rmk: Likewise.
30885 * conf/i386-pc.rmk: Likewise.
30886 * conf/powerpc-ieee1275.rmk: Likewise.
30887 * conf/sparc64-ieee1275.rmk: Likewise.
30888 * conf/x86_64-efi.rmk: Likewise.
30889
9031b03a 308902009-10-26 Colin Watson <cjwatson@ubuntu.com>
30891
30892 * util/grub-editenv.c (main): If only a command is given, use
30893 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30894 (usage): FILENAME is now optional and has a default.
30895
e4f6809b 308962009-10-26 Colin Watson <cjwatson@ubuntu.com>
30897
30898 Improve grub-mkconfig performance when there are several menu
30899 entries on a single filesystem.
30900
30901 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30902 prepare_grub_to_access_device.
30903 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30904 * util/grub.d/30_os-prober.in: Likewise.
30905
67937d4d 309062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30907
30908 * util/grub.d/10_freebsd.in: Remove.
30909 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30910 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30911
ee3756cc 309122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30913
5c35048e 30914 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30915
4dea1c6f 309162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30917
30918 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30919 grub_util_error() call.
30920
042484d7 309212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30922
30923 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30924 `reserved_first_sector' member.
30925 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30926 `reserved_first_sector' to 1.
30927 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30928 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30929 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30930 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30931 filesystems which begin at first sector.
30932 (options): New option --skip-fs-probe.
30933 (main): Handle --skip-fs-probe and pass it to setup().
30934
d64448a7 309352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30936
30937 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30938 (memset): Fix function prototype.
30939
508d42ec 309402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
309412009-10-25 Vasily Averin <vvs@parallels.com>
30942
30943 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30944 `dirent.direntlen == 0'.
30945
b240e30c 309462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30949 `cpio'.
30950 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30951
346e7fbe 309522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30955 `__trampoline_setup' and `__ucmpdi2'.
30956 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30957 that libgcc provides.
30958
cdb308b0 309592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30960
30961 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30962 * include/grub/sparc64/libgcc.h (memset): Likewise.
30963 * include/grub/misc.h (memset, memcmp): New function prototypes.
30964
fb26abc2 309652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30968 `cpio'.
30969 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30970
f6693890 309712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30972
30973 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30974 * docs/grub.cfg: Compensate for recent change in multiboot
30975 loader (since 2009-08-14 it won't pass filename to payload).
30976 * util/grub.d/10_hurd.in: Likewise.
30977
0933cdc0 309782009-10-21 Felix Zielcke <fzielcke@z-51.de>
30979
30980 * config.guess: Update to latest version from config git
30981 repository.
30982 * config.sub: Likewise.
30983
3b2fe8c2 309842009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30985
30986 Fix build on sparc64.
30987
30988 * configure.ac: Perform checks for libgcc symbols before
30989 adding `-nostdlib' to LDFLAGS.
30990
46695a62 309912009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30992
30993 Let user specify OpenBSD root device.
30994
30995 * loader/i386/bsd.c (openbsd_root): New variable.
30996 (openbsd_opts): New option 'root'.
30997 (OPENBSD_ROOT_ARG): New macro.
30998 (grub_openbsd_boot): Use 'openbsd_root'.
30999 (grub_cmd_openbsd): Fill 'openbsd_root'.
31000
d2b6b7fc 310012009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31002
31003 * NEWS: Misc adjustments.
31004
421bd7ac 310052009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31008
f1d29d87 310092009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31010
31011 * configure.ac: Bump version to 1.97.
31012
6f3cd880 310132009-10-16 Colin Watson <cjwatson@ubuntu.com>
31014
31015 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31016 -mno-3dnow on x86 architectures. Some toolchains enable these
31017 features by default, but they rely on registers that aren't enabled
31018 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31019
035f7122 310202009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31021
31022 Make entry text a bit more readable.
31023
31024 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31025
44998e58 310262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31027
31028 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31029
cd2851b3 310302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31031
31032 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31033 operations.
31034
c6f3b249 310352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * configure.ac: Add missing dollar.
31038
6b5886ba 310392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31040
31041 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31042
31043 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31044 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31045 exports.
31046 * include/grub/sparc64/libgcc.h: Likewise. Use
31047 preprocessor conditionals.
31048
e9d66f6d 310492009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31050
31051 * conf/common.rmk (grub-dumpbios): Remove rule.
31052 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31053 * util/grub-dumpbios.in: Remove file.
31054
9155bc17 310552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31058 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31059
31060 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31061 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31062 users.
31063
31064 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31065 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31066 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31067 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31068 users.
31069
bf7f7a18 310702009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * term/tparm.c: Switch to GPLv3.
31073
86564c26 310742009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 * include/grub/i386/cpuid.h: Add header protection.
31077
5c936493 310782009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31079
31080 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31081
31082 * include/grub/i386/cpuid.h: New file.
31083 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31084 (has_longmode): Rename to ...
31085 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31086 `static' attribute.
31087 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31088 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31089 on a CPU that doesn't implement AMD64 instruction set.
31090
186e7cf2 310912009-10-06 Colin Watson <cjwatson@ubuntu.com>
31092
31093 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31094 that version.texi is rebuilt on version number changes.
31095
83b65c4a 310962009-10-06 Colin Watson <cjwatson@ubuntu.com>
31097
31098 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31099 Fixes bug #27602.
31100
d244281c 311012009-10-06 Colin Watson <cjwatson@ubuntu.com>
31102
31103 * util/i386/pc/grub-install.in: Source
31104 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31105 that the --grub-probe option will work.
31106 * util/sparc64/ieee1275/grub-install.in: Likewise.
31107
da25306d 311082009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31109
31110 * configure.ac: Bump version to 1.97~beta4.
31111
e8ee83c0 311122009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31113
31114 Resync grub-mkdevicemap in x86_64-efi.
31115
31116 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31117 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31118 `util/devicemap.c'.
31119
50dcabcf 311202009-10-01 Colin Watson <cjwatson@ubuntu.com>
31121
31122 * util/grub-editenv.c (create_envblk_file): Write new block with a
31123 .new suffix and then rename it into place, to ensure atomic
31124 creation.
31125
0e51c3a7 311262009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31127
31128 Do not automatically install headers.
31129
31130 * Makefile.in (include_DATA): Remove. Update all users.
31131
31299a95 311322009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31133
31134 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31135 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31136
31137 * util/osdetect.lua: Remove.
31138 * script/lua/lauxlib.c: Likewise.
31139 * script/lua/ldebug.c: Likewise.
31140 * script/lua/grub_main.c: Likewise.
31141 * script/lua/lauxlib.h: Likewise.
31142 * script/lua/ldebug.h: Likewise.
31143 * script/lua/ltablib.c: Likewise.
31144 * script/lua/liolib.c: Likewise.
31145 * script/lua/lstrlib.c: Likewise.
31146 * script/lua/lualib.h: Likewise.
31147 * script/lua/ldo.c: Likewise.
31148 * script/lua/ldump.c: Likewise.
31149 * script/lua/ldo.h: Likewise.
31150 * script/lua/loslib.c: Likewise.
31151 * script/lua/lundump.c: Likewise.
31152 * script/lua/grub_lib.c: Likewise.
31153 * script/lua/ldblib.c: Likewise.
31154 * script/lua/lundump.h: Likewise.
31155 * script/lua/lmem.c: Likewise.
31156 * script/lua/grub_lib.h: Likewise.
31157 * script/lua/lmathlib.c: Likewise.
31158 * script/lua/lstate.c: Likewise.
31159 * script/lua/ltm.c: Likewise.
31160 * script/lua/lvm.c: Likewise.
31161 * script/lua/lmem.h: Likewise.
31162 * script/lua/lstate.h: Likewise.
31163 * script/lua/ltm.h: Likewise.
31164 * script/lua/ltable.c: Likewise.
31165 * script/lua/lvm.h: Likewise.
31166 * script/lua/llex.c: Likewise.
31167 * script/lua/lgc.c: Likewise.
31168 * script/lua/grub_lua.h: Likewise.
31169 * script/lua/loadlib.c: Likewise.
31170 * script/lua/lfunc.c: Likewise.
31171 * script/lua/lopcodes.c: Likewise.
31172 * script/lua/lparser.c: Likewise.
31173 * script/lua/ltable.h: Likewise.
31174 * script/lua/llex.h: Likewise.
31175 * script/lua/lgc.h: Likewise.
31176 * script/lua/lfunc.h: Likewise.
31177 * script/lua/lbaselib.c: Likewise.
31178 * script/lua/lopcodes.h: Likewise.
31179 * script/lua/lparser.h: Likewise.
31180 * script/lua/lzio.c: Likewise.
31181 * script/lua/linit.c: Likewise.
31182 * script/lua/lobject.c: Likewise.
31183 * script/lua/llimits.h: Likewise.
31184 * script/lua/lstring.c: Likewise.
31185 * script/lua/lzio.h: Likewise.
31186 * script/lua/lapi.c: Likewise.
31187 * script/lua/lcode.c: Likewise.
31188 * script/lua/lua.h: Likewise.
31189 * script/lua/lobject.h: Likewise.
31190 * script/lua/lstring.h: Likewise.
31191 * script/lua/lapi.h: Likewise.
31192 * script/lua/lcode.h: Likewise.
31193 * script/lua/luaconf.h: Likewise.
31194
cb8a2c38 311952009-09-26 Colin Watson <cjwatson@ubuntu.com>
31196
31197 * docs/grub.texi (Command-line and menu entry commands): Document
31198 date and echo commands.
31199
6b9b6276 312002009-09-24 Pavel Roskin <proski@gnu.org>
31201
31202 * include/grub/kernel.h (struct grub_module_header): Remove
31203 `grub_module_header_types'. Make `type' unsigned. Make `size'
31204 32-bit on all platforms.
31205 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31206 8-bit field. Use grub_host_to_target32() for `size'.
31207 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31208 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31209 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31210
4e5a02a7 312112009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31212
31213 Fix "lost keypress" bug in at_keyboard.
31214
31215 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31216 Checks for readyness of input buffer (without flushing it).
31217 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31218 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31219
c6dcedf6 312202009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31221
31222 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31223 size check within GRUB_MACHINE_PCBIOS section.
31224
74c958b1 312252009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31226
31227 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31228 return value.
31229 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31230 KEYBOARD_ISREADY check.
31231 (grub_at_keyboard_checkkey): Rename to ...
31232 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31233 Remove gratuitous cast.
31234
ff420223 312352009-09-23 Colin Watson <cjwatson@ubuntu.com>
31236
31237 * configure.ac: Call AC_PROG_MKDIR_P.
31238 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31239 version.texi in $(builddir) rather than $(srcdir).
31240 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31241 to makeinfo's @include search path.
31242
d96875df 312432009-09-23 Felix Zielcke <fzielcke@z-51.de>
31244
31245 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31246
9b3f8365 312472009-09-23 Felix Zielcke <fzielcke@z-51.de>
31248
31249 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31250 for `*.dpkg-new'.
31251
c44c90db 312522009-09-21 Colin Watson <cjwatson@ubuntu.com>
31253
31254 Build info documentation. Some code borrowed from Automake.
31255
31256 * configure.ac: Check for makeinfo.
31257 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31258 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31259 docs/version.texi.
31260 (MOSTLYCLEANFILES): Add vti.tmp.
31261 (docs/version.texi, docs/stamp-vti): Update automatically.
31262 (docs/grub.info): Build info documentation. Use --force and ignore
31263 errors for now.
31264 (all-local): Add $(INFOS).
31265 (install-local): Install info files.
31266 (uninstall): Uninstall info files.
31267 * docs/version.texi: Remove from revision control. This file is
31268 automatically generated on build now.
31269 * gendistlist.sh: Add `*.info'.
31270
e0b37bb5 312712009-09-21 Felix Zielcke <fzielcke@z-51.de>
31272
31273 * kern/term.c: Fix indentation.
31274
5a78865b 312752009-09-21 Felix Zielcke <fzielcke@z-51.de>
31276
31277 * util/hostdisk.c: Fix a comment.
31278
dace7e8a 312792009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31280
31281 Fix regression introduced in r2539.
31282
31283 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31284 to 0xA1.
31285
a83d079b 312862009-09-19 Colin Watson <cjwatson@ubuntu.com>
31287
31288 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31289 os-prober. Under normal operation, it does not print anything to
31290 stderr; if it does, we need to debug it, and throwing away stderr
31291 makes that excessively difficult.
a83d079b 31292
be94a509 312932009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31294
31295 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31296
63f745e8 312972009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31298
31299 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31300 AC_LANG_PROGRAM from autoconf.
31301 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31302 prototypes (fixes warning).
31303
31304 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31305 `--disable-werror' was used.
31306
bbb2a70f 313072009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31308
31309 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31310 uninitialized `lastaddr'.
31311
77c24f1d 313122009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31313
0f0b8c87 31314 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31315
07197f23 313162009-09-14 Colin Watson <cjwatson@ubuntu.com>
31317
31318 * commands/test.c (get_fileinfo): Return immediately if
31319 grub_fs_probe fails.
31320
dabf1798 313212009-09-14 José Martínez <xosemp@gmail.com>
31322
31323 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31324
d52109a7 313252009-09-14 Colin Watson <cjwatson@ubuntu.com>
31326
31327 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31328 output.
31329
56532179 313302009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31331
31332 * configure.ac: Remove --enable-grub-pe2elf. Only build
31333 grub-pe2elf when needed by the build system itself.
31334 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31335
8ef070f5 313362009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31337
31338 * configure.ac: Bump version to 1.97~beta3.
31339 * docs/version.texi: Likewise.
31340
61229557 313412009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31342
31343 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31344 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31345 from here ...
31346 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31347 (grub_linux_setup_video): ... to here (with some adjustments).
31348
5c9f8d84 313492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31350
31351 Fix memory corruption issue (spotted by Colin Watson).
31352
31353 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31354 causing returned size to be stored in an incorrect memory location.
31355 Fix use of uninitialized value when storing the returned size.
31356
e8f5d6e9 313572009-09-12 Yves Blusseau <blusseau@zetam.org>
31358
31359 Change clean rules to properly remove files
31360
31361 * genmk.rb: add new clean rules
31362 * Makefile.in (clean): add the new targets
31363 (mostlyclean): likewise
31364
cda2a409 313652009-09-11 Colin Watson <cjwatson@ubuntu.com>
31366
31367 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31368 to grub_uint64_t.
31369 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31370 non-resident files.
31371
86695375 313722009-09-11 Colin Watson <cjwatson@ubuntu.com>
31373
31374 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31375 part of bug #27349.
31376
8aa1541a 313772009-09-10 Felix Zielcke <fzielcke@z-51.de>
31378
31379 * util/grub-mkconfig.in: Make the created config mode 400 and
31380 print a warning if it fails.
31381
48d9bb0a 313822009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31383
31384 * util/grub.d/40_custom.in: Ask user to type custom entries below
31385 comment, rather than below 'exec tail' line.
31386
3b0521be 313872009-09-10 Colin Watson <cjwatson@ubuntu.com>
31388
31389 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31390 visible in grub.cfg.
31391
50051d55 313922009-09-10 Colin Watson <cjwatson@ubuntu.com>
31393
31394 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31395 file.
31396
c0d34387 313972009-09-10 Felix Zielcke <fzielcke@z-51.de>
31398
31399 * docs/grub.cfg: Add an example menu entry for memtest86+.
31400
80a608f3 314012009-09-09 Felix Zielcke <fzielcke@z-51.de>
31402
a2094832 31403 * config.guess: Update to latest version from config git.
80a608f3 31404 * config.sub: Likewise.
31405
99423078 314062009-09-08 Colin Watson <cjwatson@ubuntu.com>
31407
31408 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31409 unknown-command case. Fixes bug #27320.
31410
44454e4c 314112009-09-08 Felix Zielcke <fzielcke@z-51.de>
31412
31413 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31414 `help' if the command exists.
31415
e30d87ad 314162009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31417
31418 * INSTALL: Require GCC 4.1.3 or later.
31419
9a86f1ec 314202009-09-06 Yves Blusseau <blusseau@zetam.org>
31421
31422 * Makefile.in (RMKFILES): add i386-qemu.rmk
31423 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31424 $(srcdir)/stamp-h.in
31425
7f26d466 314262009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * util/grub-probe.c (probe): Comment out buggy codepath, which
31429 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31430 should be re-enabled after 1.97.
31431
3a613259 314322009-09-05 Felix Zielcke <fzielcke@z-51.de>
31433
31434 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31435 find searches for.
31436
197f76c7 314372009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31438
31439 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31440 unnecessary calls to grub_error.
31441
70ba68ce 314422009-09-04 Colin Watson <cjwatson@ubuntu.com>
31443
31444 * NEWS: Mention `keystatus' and Unicode fonts.
31445
4ff0d7a4 314462009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31447
31448 * configure.ac: Bump version to 1.97~beta2.
31449 * docs/version.texi: Likewise.
31450
77c55a87 314512009-09-03 Colin Watson <cjwatson@ubuntu.com>
31452
31453 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31454 containing unwind information in some cases where it previously did
31455 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31456 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31457 discussion.
31458
f79572cd 314592009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31460
31461 Embedding loadenv module into grub-emu
31462
31463 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31464 commands/loadenv.c
31465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31466 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31470 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31471
93a81088 314722009-09-03 Magnus Granberg <zorry@ume.nu>
31473
31474 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31475 include -fPIE in the default specs.
31476 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31477 to TARGET_CFLAGS.
31478
160034b2 314792009-09-03 Felix Zielcke <fzielcke@z-51.de>
31480
31481 * INSTALL: Note that GNU Bison 2.3 or later is required.
31482
087c07c4 314832009-09-03 Colin Watson <cjwatson@ubuntu.com>
31484
31485 * kern/i386/pc/startup.S: Fix typo.
31486
cbf978c0 314872009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31488
31489 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31490 according to GCS.
31491
314922009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31493
31494 * docs/grub.texi (Naming convention): Describe one-based partition
31495 numbering.
31496 (Device syntax): Likewise.
31497 (File name syntax): Likewise.
31498 (Block list syntax): Likewise.
31499 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31500 menu.lst.
31501 (File name syntax): Likewise.
31502 (Command-line and menu entry commands): Document acpi, blocklist,
31503 crc, export, insmod, keystatus, ls, set, and unset commands.
31504
f3e8cdfd 315052009-09-02 Colin Watson <cjwatson@ubuntu.com>
31506
31507 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31508 to avoid implying that only one of --shift, --ctrl, or --alt may be
31509 used.
31510
c0bc232b 315112009-09-02 Colin Watson <cjwatson@ubuntu.com>
31512
31513 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31514 rather than comparing against S_IFREG, which will almost never work.
31515
aa0f752d 315162009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31517
31518 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31519 (write_blocklists): Likewise.
31520
ecb3166a 315212009-09-01 Colin Watson <cjwatson@ubuntu.com>
31522
31523 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31524 argument to grub_printf.
31525
c403a125 315262009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31527
31528 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31529 non GNU test.
31aba781 31530
b5e7312c 315312009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31532
31533 * kern/file.c (grub_file_read): Spelling fix
31534
fe00f472 315352009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31536
31537 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31538 loading of headers in some cases.
31539
cc55302e 315402009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31541
31542 * configure.ac: Bump version to 1.97~beta1.
31543 * docs/version.texi: Likewise.
31544
5c90cdd2 315452009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31546
31547 * include/grub/i386/xnu.h: Add license header.
31548 include grub/err.h explicitly.
31549
c90edae4 315502009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31551
31552 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31553 to `ufs' in the vfs.root.mountfrom kernel parameter.
31554
d8888b5c 315552009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31556
31557 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31558
31559 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31560 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31561
31562 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31563 `ARRAY_SIZE' macro.
31564
6f07b921 315652009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31566
31567 * kern/file.c (grub_file_read): Check offset.
31568 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31569 * fs/jfs.c (grub_jfs_read_file): Likewise.
31570 * fs/ntfs.c (grub_ntfs_read): Likewise.
31571 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31572 * fs/minix.c (grub_minix_read_file): Correct offset check.
31573 * fs/ufs.c (grub_ufs_read_file): Likewise.
31574
b4f34077 315752009-08-28 Colin Watson <cjwatson@ubuntu.com>
31576
31577 * term/i386/pc/console.c (bios_data_area): Cast
31578 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31579
e7c69859 315802009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31581
31582 1-bit optimised blitters.
31583
31584 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31585 prototype.
31586 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31587 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31588 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31589 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31590 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31591 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31592 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31593 function.
31594 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31595 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31596 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31597 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31598 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31599 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31600 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31601 when possible.
31602 * video/video.c (grub_video_get_blit_format): Return
31603 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31604
a57da43f 316052009-08-28 Colin Watson <cjwatson@ubuntu.com>
31606
31607 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31608 the first argument to grub_printf.
31609
4cbe67e5 316102009-08-28 Colin Watson <cjwatson@ubuntu.com>
316112009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31612
31613 Add `getkeystatus' terminal method. Add a new `keystatus' command
31614 to query it.
31615
31616 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31617 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31618 modifier key bitmasks.
31619 (struct grub_term_input): Add `getkeystatus' member.
31620 (grub_getkeystatus): Add prototype.
31621 * kern/term.c (grub_getkeystatus): New function.
31622
31623 * include/grub/i386/pc/memory.h
31624 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31625 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31626 Data Area layout.
31627 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31628 (grub_console_term_input): Set `getkeystatus' member.
31629 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31630 constants.
31631 (grub_usb_keyboard_getreport): Likewise.
31632 (grub_usb_keyboard_checkkey): Likewise.
31633 (grub_usb_keyboard_getkeystatus): New function.
31634 (grub_usb_keyboard_term): Set `getkeystatus' member.
31635
31636 * commands/keystatus.c: New file.
31637 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31638 (keystatus_mod_SOURCES): New variable.
31639 (keystatus_mod_CFLAGS): Likewise.
31640 (keystatus_mod_LDFLAGS): Likewise.
31641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31642 commands/keystatus.c.
31643 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31644 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31645 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31648 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31649
6e2a9085 316502009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31651
31652 Split befs.mod and afs.mod into *_be.mod and *.mod
31653
31654 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31655 (grub_fstest_SOURCES): Likewise.
31656 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31657 (afs_be_mod_SOURCES): New variable.
31658 (afs_be_mod_CFLAGS): Likewise.
31659 (afs_be_mod_LDFLAGS): Likewise.
31660 (befs_be_mod_SOURCES): Likewise.
31661 (befs_be_mod_CFLAGS): Likewise.
31662 (befs_be_mod_LDFLAGS): Likewise.
31663 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31666 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31667 (grub_emu_SOURCES): Likewise.
31668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31670 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31671 * fs/afs_be.c: New file.
31672 * fs/befs_be.c: New file.
31673 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31674 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31675 (U16): Replaced with ...
31676 (grub_afs_to_cpu16): ...this. All users updated.
31677 (U32): Replaced with ...
31678 (grub_afs_to_cpu32): ...this. All users updated.
31679 (U64): Replaced with ...
31680 (grub_afs_to_cpu64): ...this. All users updated.
31681 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31682 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31683 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31684 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31685 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31686 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31687 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31688 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31689 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31690 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31691 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31692
32a71655 316932009-08-26 Bean <bean123ch@gmail.com>
31694
31695 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31696 64-bit number.
31697 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31698 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31699 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31700
552bf6c5 317012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31702
31703 NetBSD memory map support.
31704
31705 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31706 (grub_netbsd_btinfo_mmap_header): New structure.
31707 (grub_netbsd_btinfo_mmap_entry): Likewise.
31708 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31709
1ae2078c 317102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31711
31712 Enable bsd.mod on coreboot.
31713
31714 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31715 (bsd_mod_SOURCES): New variable.
31716 (bsd_mod_CFLAGS): Likewise.
31717 (bsd_mod_LDFLAGS): Likewise.
31718 (bsd_mod_ASFLAGS): Likewise.
31719 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31720 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31721
beefc598 317222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31723
31724 Cleanup NetBSD root support.
31725
31726 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31727 grub_bsd_get_device.
31728 Fix typo.
31729
3b76e68b 317302009-08-25 Felix Zielcke <fzielcke@z-51.de>
31731
31732 * util/grub.d/00_header.in: Move check for the video backend of
31733 gfxterm from here ...
31734 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31735 a suitable video backend.
31736
aea664ea 317372009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31738
31739 Fix breakage in grub-setup.
31740
31741 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31742 "msdos_partition_map".
31743
ff747d50 317442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31745
31746 Fix breakage in normal/auth.c.
31747
31748 * normal/auth.c (grub_iswordseparator): New function.
31749
e7e1f93f 317502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31751
31752 Authentication support.
31753
31754 * commands/password.c: New file.
31755 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31756 (password_mod_SOURCES): New variable.
31757 (password_mod_CFLAGS): Likewise.
31758 (password_mod_LDFLAGS): Likewise.
31759 (normal_mod_SOURCES): Add normal/auth.c.
31760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31761 normal/auth.c.
31762 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31764 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31767 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31768 * include/grub/auth.h: New file.
31769 * include/grub/err.h (grub_err_t): New enum value
31770 GRUB_ERR_ACCESS_DENIED.
31771 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31772 'users'.
31773 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31774 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31775 users updated.
31776 * normal/auth.c: New file.
31777 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31778 (grub_cmdline_run): Don't allow to go to command line without
31779 authentication.
31780 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31781 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31782 menuentry without superuser rights.
31783 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31784 user isn't a superuser.
31785
70f1161d 317862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31787
31788 Save space by inlining misc.c functions.
31789
31790 * kern/misc.c (grub_iswordseparator): Made static.
31791 * kern/misc.c (grub_strcat): Moved from here ...
31792 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31793 * kern/misc.c (grub_strncat): Moved from here ...
31794 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31795 * kern/misc.c (grub_strcasecmp): Moved from here ...
31796 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31797 * kern/misc.c (grub_strncasecmp): Moved from here ...
31798 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31799 * kern/misc.c (grub_isalpha): Moved from here ...
31800 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31801 * kern/misc.c (grub_isdigit): Moved from here ...
31802 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31803 * kern/misc.c (grub_isgraph): Moved from here ...
31804 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31805 * kern/misc.c (grub_tolower): Moved from here ...
31806 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31807
48e40bff 318082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31809
31810 * script/sh/function.c (grub_script_function_find): Cut error message
31811 not to flood terminal.
31812 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31813 limit.
31814 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31815
c385bfc3 318162009-08-24 Colin Watson <cjwatson@ubuntu.com>
31817
31818 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31819 `report' grub_uint8_t *.
31820 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31821 Use a 50-millisecond timeout rather than just repeating
31822 grub_usb_keyboard_getreport 50 times.
31823 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31824
2d21e3e8 318252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31826
31827 Rename *_partition_map to part_*
31828
31829 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31830 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31831 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31832 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31833 All users updated.
31834 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31835 All users updated.
31836 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31837 * util/grub-probe.c (probe_partmap): Don't transform partition name
31838 to get module name.
31839
dd103c4e 318402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31841
31842 Fix OpenBSD and NetBSD support.
31843
31844 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31845 memory address conflict.
31846 (OPENBSD_MMAP_ACPI): New definition.
31847 (OPENBSD_MMAP_NVS): Likewise.
31848 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31849 and OPENBSD_MMAP_NVS.
31850 Add memory map terminator
31851 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31852 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31853
16c84d74 318542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31855
31856 Let user specify NetBSD root device.
31857
31858 * loader/i386/bsd.c (netbsd_root): New variable.
31859 (netbsd_opts): New option 'root'.
31860 (NETBSD_ROOT_ARG): New macro.
31861 (grub_netbsd_boot): Use 'netbsd_root'.
31862 (grub_bsd_unload): Free 'netbsd_root'.
31863 (grub_cmd_netbsd): Fill 'netbsd_root'.
31864
adb29902 318652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31866
31867 Support for 64-bit NetBSD.
31868
31869 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31870 point when booting non-FreeBSD.
31871
f5ae9f74 318722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31873
31874 Support --no-smp and --no-acpi for NetBSD.
31875
31876 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31877 (NETBSD_AB_NOACPI): Likewise.
31878 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31879 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31880
de74f136 318812009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31882
31883 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31884 errors.
31885 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31886 errors. Call grub_error when needed.
31887
e9a925da 318882009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31889
31890 * commands/search.c (search_fs): Try searching without autoload first.
31891 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31892 filesystem module explicitly for faster booting.
31893
5174302b 318942009-08-23 Colin Watson <cjwatson@ubuntu.com>
31895
31896 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31897
c8c80635 318982009-08-23 Colin Watson <cjwatson@ubuntu.com>
31899
31900 * util/grub.d/30_os-prober.in: Disable os-prober if
31901 `GRUB_DISABLE_OS_PROBER' was set to true.
31902
71acf5e5 319032009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31904
31905 * partmap/pc.c: Rename to ...
31906 * partmap/msdos.c: ... this. Update all users.
31907 (grub_pc_partition_map): Rename to ...
31908 (grub_msdos_partition_map): ... this. Update all users.
31909
31910 * parttool/pcpart.c: Rename to ...
31911 * parttool/msdospart.c: ... this. Update all users.
31912
31913 * include/grub/pc_partition.h: Rename to ...
31914 * include/grub/msdos_partition.h: ... this. Update all users.
31915 (grub_pc_partition_bsd_entry): Rename to ...
31916 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31917 (grub_pc_partition_disk_label): Rename to ...
31918 (grub_msdos_partition_disk_label): ... this. Update all users.
31919 (grub_pc_partition_entry): Rename to ...
31920 (grub_msdos_partition_entry): ... this. Update all users.
31921 (grub_pc_partition_mbr): Rename to ...
31922 (grub_msdos_partition_mbr): ... this. Update all users.
31923 (grub_pc_partition): Rename to ...
31924 (grub_msdos_partition): ... this. Update all users.
31925 (grub_pc_partition_is_empty): Rename to ...
31926 (grub_msdos_partition_is_empty): ... this. Update all users.
31927 (grub_pc_partition_is_extended): Rename to ...
31928 (grub_msdos_partition_is_extended): ... this. Update all users.
31929 (grub_pc_partition_is_bsd): Rename to ...
31930 (grub_msdos_partition_is_bsd): ... this. Update all users.
31931
31932 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31933 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31934 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31935 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31936 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31937 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31938 (gpt_mod_LDFLAGS): Rename to ...
31939 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31940 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31941 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31942 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31943 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31944 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31945 (part_gpt_mod_LDFLAGS): ... this.
31946 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31947 `pcpart.mod' to `msdospart.mod'.
31948 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31949 to ...
31950 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31951 (msdospart_mod_LDFLAGS): ... this.
31952
c11fded5 319532009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31954
31955 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31956 (openbsd_opts): Likewise.
31957 (netbsd_opts): Likewise.
31958 (freebsd_flags): Added 0 terminator.
31959 (openbsd_flags): Likewise.
31960 (netbsd_flags): Likewise.
31961 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31962 (grub_cmd_freebsd): Transformed into extended command.
31963 (grub_cmd_openbsd): Likewise.
31964 (grub_cmd_netbsd): Likewise.
31965 (cmd_freebsd): Changed type to grub_extcmd_t.
31966 (cmd_openbsd): Likewise.
31967 (cmd_netbsd): Likewise.
31968 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31969 grub_cmd_openbsd as extended commands.
31970 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31971 cmd_netbsd and cmd_openbsd
31972
11d1c769 319732009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31974
31975 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31976
7a9094e5 319772009-08-21 Pavel Roskin <proski@gnu.org>
31978
5496c37e 31979 * Makefile.in (install-local): When checking if a file is in the
31980 build directory, use "test -e" to detect symlinks.
31981
7a9094e5 31982 * Makefile.in (install-local): Remove all files in
31983 $(DESTDIR)$(pkglibdir) before installing new files there.
31984
e53cea11 319852009-08-18 Felix Zielcke <fzielcke@z-51.de>
31986
31987 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31988 grub-mkelfimage.
31989
9aced544 319902009-08-18 Felix Zielcke <fzielcke@z-51.de>
31991
31992 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31993 explicitly specified by the user.
31994
b7da6bab 319952009-08-18 Pavel Roskin <proski@gnu.org>
31996
31997 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31998 grub_uint8_t pointer for data.
31999 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32000 Likewise.
32001 * video/fb/fbutil.c: Remove unnecessary casts.
32002
19f1b335 320032009-08-17 Michal Suchanek <hramrach@centrum.cz>
32004
32005 VBE cleanup.
32006
32007 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32008 (grub_vbe_set_video_mode): Save active mode info
32009 only after setting the mode.
32010 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32011 second argument.
32012
2f467aa9 320132009-08-17 Michal Suchanek <hramrach@centrum.cz>
32014
32015 Rename variables for clarity.
32016
32017 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32018 (active_vbe_mode_info): ... this. All users updated.
32019 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32020 All users updated.
32021 (initial_mode): Rename to ...
32022 (initial_vbe_mode): ... this. All users updated.
32023 (mode_in_use): Rename to ..
32024 (vbe_mode_in_use): ... this. All users updated.
32025 (mode_list): Rename to ..
32026 (vbe_mode_list): ... this. All users updated.
32027 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32028 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32029 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32030 'mode_list_size' to 'vbe_mode_list_size'.
32031 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32032 'best_mode_info' to 'best_vbe_mode_info' and
32033 'best_mode' to 'best_vbe_mode'
32034
6025fcd7 320352009-08-17 Michal Suchanek <hramrach@centrum.cz>
32036
32037 Remove duplicate grub_video_fb_get_video_ptr.
32038
32039 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32040 (grub_video_fb_get_video_ptr): ... this.
32041 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32042 * video/fb/fbutil.c: Add comment about addressing.
32043 (get_data_ptr): Rename to ...
32044 (grub_video_fb_get_video_ptr): ... this. All users updated.
32045 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32046
cc8c6faf 320472009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32048
32049 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32050 grub_dprintf() that was just added.
32051
08aa61f0 320522009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32053
32054 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32055 (DEFAULT_VIDEO_MODE): Remove macros.
32056 (grub_linux_boot): Remove assumption that Linux has FB support,
32057 and use "text" as default video mode.
32058
7cef4f75 320592009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32060
32061 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32062 grub_dprintf.
32063 * fs/fat.c (grub_fat_read_data): Likewise.
32064
e1f39873 320652009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32066
32067 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32068 payload.
32069 (grub_module): Likewise.
32070
c166d79e 320712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32072
32073 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32074 mbi->cmdline but free playground.
32075
c60cee8e 320762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32077
32078 Handle group offset on UFS1.
32079
32080 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32081 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32082
c0d8b5d4 320832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32084
32085 Split ufs.mod into ufs1.mod and ufs2.mod.
32086
32087 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32088 (grub_fstest_SOURCES): Likewise.
32089 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32090 (ufs_mod_SOURCES): Remove.
32091 (ufs_mod_CFLAGS): Likewise.
32092 (ufs_mod_LDFLAGS): Likewise.
32093 (ufs1_mod_SOURCES): New variable.
32094 (ufs1_mod_CFLAGS): Likewise.
32095 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32096 (ufs2_mod_SOURCES): New variable.
32097 (ufs2_mod_CFLAGS): Likewise.
32098 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32099 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32100 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32101 Likewise.
32102 (grub_emu_SOURCES): Likewise.
32103 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32104 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32105 (grub_setup_SOURCES): Likewise.
32106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32107 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32108 (grub_setup_SOURCES): Likewise.
32109 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32110 Likewise.
32111 * fs/ufs2.c: New file.
32112 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32113
d3539132 321142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32115
32116 Framebuffer split.
32117
32118 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32119 subsystem at the end.
32120 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32121 (video_fb_mod_SOURCES): New variable.
32122 (video_fb_mod_CFLAGS): Likewise.
32123 (video_fb_mod_LDFLAGS): Likewise.
32124 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32125 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32126 * video/i386/pc/vbeblit.c: Moved from here ...
32127 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32128 * video/i386/pc/vbefill.c: Moved from here ...
32129 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32130 * video/i386/pc/vbeutil.c: Moved from here ...
32131 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32132 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32133 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32134 * include/grub/i386/pc/vbefill.h: Moved from here ...
32135 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32136 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32137 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32138 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32139 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32140 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32141 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32142 (grub_video_adapter): Added 'get_info_and_fini'.
32143 (grub_video_get_info_and_fini): New prototype.
32144 (grub_video_set_mode): make modestring const char *.
32145 * loader/i386/linux.c (grub_linux_setup_video): Use
32146 grub_video_get_info_and_fini.
32147 (grub_linux_boot): Move modesetting just before booting.
32148 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32149 grub_video_get_info_and_fini.
32150 * video/i386/pc/vbe.c: Moved framebuffer part ...
32151 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32152 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32153 grub_video_fbstd_colors and grub_video_fb_set_palette.
32154 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32155 grub_video_fb_init.
32156 (grub_video_vbe_fini): Use grub_video_fb_fini.
32157 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32158 render_target and use grub_video_fb_set_active_render_target and
32159 grub_video_fb_set_palette.
32160 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32161 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32162 (grub_video_vbe_adapter): Use framebuffer.
32163 * video/video.c (grub_video_get_info_and_fini): New function.
32164 (grub_video_set_mode): Make modestring const char *.
32165 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32166 values are already initialised.
32167
d404ee56 321682009-08-14 Pavel Roskin <proski@gnu.org>
32169
32170 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32171 ABS and APPLE_CC.
32172 * boot/i386/pc/diskboot.S: Likewise.
32173 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32174 sectors allow compilation on MacOSX.
32175 * conf/i386-pc.rmk: Enable unconditional compilation of
32176 lnxboot.img.
32177
9a10df16 321782009-08-13 Colin Watson <cjwatson@ubuntu.com>
32179
32180 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32181 * util/grub.d/00_header.in: Enter interruptible sleep if
32182 GRUB_HIDDEN_TIMEOUT is set.
32183
be3c9ca7 321842009-08-13 Yves Blusseau <blusseau@zetam.org>
32185
32186 * include/grub/symbol.h: Add the LOCAL macro.
32187 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32188 starting with "L_".
32189
1f9e557e 321902009-08-13 Pavel Roskin <proski@gnu.org>
32191
9ca62843 32192 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32193 any modern compilers we support.
32194
1f9e557e 32195 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32196 Use local labels starting with "L_" so that Apple assembler
32197 knows they are local.
32198
81623db6 321992009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32200
32201 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32202 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32203 (bsd_kernel_types): ... this enum.
32204
32205 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32206 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32207 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32208
32209 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32210 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32211 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32212 messages.
32213
f5d35e7a 322142009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32215
32216 * util/grub-dumpdevtree: Moved from here ...
32217 * util/i386/efi/grub-dumpdevtree: ... to here.
32218 (hexify): New function. Converts a string to its hex version.
32219 Generate hex versions of "efi" and "device-properties" by calling
32220 hexify() on the ASCII strings rather than by hardcoding numbers.
32221
d1e1d527 322222009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32223
32224 * fs/jfs.c: Update copyright year.
32225
1ebbe064 322262009-08-08 Felix Zielcke <fzielcke@z-51.de>
32227
32228 * util/grub.d/00_header.in: Fix a comment.
32229 * util/grub.d/10_linux.in: Likewise.
32230 * util/grub.d/10_windows.in: Likewise.
32231 * util/grub.d/10_hurd.in: Likewise.
32232
a78c8d24 322332009-08-08 Felix Zielcke <fzielcke@z-51.de>
32234
32235 * util/grub-mkconfig.in: Allow the user to specify the used font
32236 with GRUB_FONT.
32237
29a6b9e8 322382009-08-08 Pavel Roskin <proski@gnu.org>
32239
b5f16cc4 32240 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32241 available, xfs.mod needs it now.
32242
2f5cb827 32243 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32244 the "g" modifier in sed when the intention is to strip something
32245 once. This fixes comparison of kernels with multiple dashes.
32246
29a6b9e8 32247 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32248 on it. Add missing space before closing bracket. Fix
32249 misleading formatting.
32250
892a3d98 322512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32252
32253 * docs/grub.texi: Major overhaul. Remove all sections that are
32254 specific to GRUB Legacy, or mostly composed of Legacy-specific
32255 information.
32256
ed94253f 322572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32258
32259 * docs/version.texi: New file. Provides version information for
32260 grub.texi.
32261
126d6628 322622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32263
32264 * docs/grub.texi: Update CVS information to SVN.
32265 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32266
998b5aa9 322672009-08-07 Felix Zielcke <fzielcke@z-51.de>
32268
32269 * util/grub-mkconfig.in: Remove a wrong `fi'.
32270
818e094a 322712009-08-07 Felix Zielcke <fzielcke@z-51.de>
32272
32273 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32274 (grub_jfs_uuid): New function.
32275 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32276
b969c52f 322772009-08-07 Felix Zielcke <fzielcke@z-51.de>
32278
32279 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32280 of it to ...
32281 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32282 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32283
7a4894cc 322842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32285
32286 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32287 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32288 Update all users.
32289
32290 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32291 not just "vmlinu[zx]".
32292 Moved from here ...
32293 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32294 all users.
32295
32296 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32297 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32298 all users.
32299
4e2171f8 323002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32301
32302 * util/grub.d/10_freebsd.in: Use an absolute device path for
32303 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32304
6dcfcb32 323052009-08-06 Felix Zielcke <fzielcke@z-51.de>
32306
32307 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32308 handling of multiple abstraction modules.
32309
f56a8756 323102009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32311
32312 Fix a bug resulting in black screen when loading Linux using a
32313 packed video mode.
32314
32315 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32316 function.
32317
32318 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32319 (grub_vbe_bios_getset_dac_palette_width): New function.
32320 (grub_vbe_bios_get_dac_palette_width)
32321 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32322 grub_vbe_bios_getset_dac_palette_width()).
32323
32324 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32325 check for return status.
32326 (grub_vbe_get_video_mode_info): When getting information for a packed
32327 mode (<= 8 bpp), obtain DAC palette width using
32328 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32329 {red,green,blue}_mark_size.
32330
222671b2 323312009-08-04 Felix Zielcke <fzielcke@z-51.de>
32332
ecb1a6d9 32333 * commands/search.c (options): Fix help output to match actual code.
222671b2 32334
f84114f5 323352009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32336
32337 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32338 of homegrown code.
32339
bd288a20 323402009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32341
32342 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32343 on XFS or ReiserFS.
32344
8aab5e25 323452009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32346
32347 Support Apple partition map with sector size different from 512 bytes.
32348
32349 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32350 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32351 and 'apart.partmap_size'.
32352
6ad6258a 323532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
323542009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32355
32356 Fix cpuid command.
32357
32358 * commands/i386/cpuid.c (options): New variable.
32359 (grub_cmd_cpuid): Return real error.
32360 (GRUB_MOD_INIT(cpuid)): Declare options.
32361
67459bc6 323622009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32363
32364 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32365 valid.
32366
fbc6ab54 323672009-07-31 Bean <bean123ch@gmail.com>
32368
32369 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32370 log2_inode.
32371 (grub_fshelp_node): Move inode field to the end.
32372 (grub_xfs_data): Remove inode field.
32373 (grub_xfs_inode_block): Calculate inode size using sblock.
32374 (grub_xfs_inode_offset): Likewise.
32375 (grub_xfs_read_inode): Calculate inode size using sblock.
32376 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32377 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32378 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32379 to match inode size.
32380 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32381 not accessible when data is null.
32382 (grub_xfs_open): Likewise.
32383
f45d6cfc 323842009-07-31 Bean <bean123ch@gmail.com>
32385
32386 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32387 Don't change pv->disk if it's already set.
32388
32389 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32390 (grub_raid_register): ... here.
32391 (grub_raid_rescan): Removed.
32392
32393 * include/grub/raid.h (grub_raid_rescan): Removed.
32394
32395 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32396 (fstest): Replace grub_raid_rescan with module fini function followed
32397 by init function.
32398
32399 * util/grub-probe.c: Add include file <grub/raid.h>.
32400 (probe_raid_level): New function.
32401 (probe): Detect abstraction by walking the disk device, support two
32402 level of abstraction (LVM on RAID) when detecting partition map.
32403
24443b5a 324042009-07-31 Pavel Roskin <proski@gnu.org>
32405
32406 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32407 to grub_zalloc(), it was erroneous.
32408 Reported by Bean <bean123ch@gmail.com>
32409
a275d9e7 324102009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32411
32412 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32413 embedding zone, not only the first one.
a275d9e7 32414
56c5a47f 324152009-07-29 Joe Auricchio <jauricchio@gmail.com>
32416
32417 * term/gfxterm.c (clear_char): New function.
32418 (grub_virtual_screen_setup): Use clear_char.
32419 (scroll_up): Likewise.
32420 (grub_virtual_screen_cls): Likewise.
32421
67bb323a 324222009-07-29 Felix Zielcke <fzielcke@z-51.de>
32423
32424 * util/deviceiter.c (get_acceleraid_disk_name): New static
32425 function.
32426 (grub_util_iterate_devices): Handle Accelraid devices.
32427 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32428
388a7c75 324292009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32430
32431 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32432 separator for the suggested gfxpayload string (';' collides with the
32433 parser and needs escaping).
32434
3bb7abcf 324352009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32436
32437 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32438 Clear direction flag before jumping to OS.
32439 (grub_multiboot2_real_boot): Likewise.
32440
2ddd36d7 324412009-07-28 Felix Zielcke <fzielcke@z-51.de>
32442
32443 * util/i386/pc/grub-install: Fix parsing of --disk-module
32444 option.
32445
c521b62b 324462009-07-28 Felix Zielcke <fzielcke@z-51.de>
32447
32448 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32449 when embedding.
32450
880e0a0c 324512009-07-26 Felix Zielcke <fzielcke@z-51.de>
32452
32453 * util/grub-mkconfig.in (package_version): New variable.
32454 Use it do display the version.
32455
2366e356 324562009-07-25 Felix Zielcke <fzielcke@z-51.de>
32457
32458 * kern/file.c (grub_file_open): Revert to previous check with
32459 grub_errno.
32460
7ad8c80e 324612009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32462
32463 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32464 from help line. It's out of sync with code.
32465
72b9658b 324662009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32467
32468 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32469 entries on failed boot.
32470
77435277 324712009-07-25 Felix Zielcke <fzielcke@z-51.de>
32472
32473 * kern/file.c (grub_file_open): Fix an error check.
32474
fcaa8b21 324752009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32476
35d16c74 32477 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32478 partition map couldn't be identified.
fcaa8b21 32479
48904cd1 324802009-07-23 Pavel Roskin <proski@gnu.org>
32481
ef3c317f 32482 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32483 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32484 case of little endian words becomes just an optimization.
32485 Respect const modifier.
ad8ea1f4 32486 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32487
48904cd1 32488 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32489 to avoid loss of upper bits if align is unsigned and shorter
32490 than addr.
32491
260c9a89 324922009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32493
32494 UUID support for UFS
32495
32496 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32497 (grub_ufs_uuid): New function.
32498 (grub_ufs_fs): add .uuid
32499
f76ce889 325002009-07-21 Pavel Roskin <proski@gnu.org>
32501
32502 * kern/dl.c (grub_dl_check_header): Make static.
32503
6a6cbcaf 325042009-07-21 Felix Zielcke <fzielcke@z-51.de>
32505
32506 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32507 add drivemap for Vista. It breaks Windows 7.
32508
cffcddb2 325092009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32510
32511 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32512 128 bytes
32513
1ef44b80 325142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32515
32516 Add BFS support
32517
32518 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32519 (grub_fstest_SOURCES): Likewise.
32520 (pkglib_MODULES): Add befs.mod.
32521 (befs_mod_SOURCES): New variable.
32522 (befs_mod_CFLAGS): Likewise.
32523 (befs_mod_LDFLAGS): Likewise.
32524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32525 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32526 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32527 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32528 (grub_setup_SOURCES): Likewise.
32529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32530 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32531 (grub_setup_SOURCES): Likewise.
32532 * fs/befs.c: New file.
32533 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32534 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32535 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32536 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32537 (B_KEY_INDEX_ALIGN): New declaration.
32538 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32539 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32540 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32541 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32542 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32543 (grub_afs_mount) [MODE_BFS]: Likewise.
32544 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32545 (grub_afs_fs): Use GRUB_AFS_FSNAME
32546 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32547 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32548 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32549 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32550
4f253044 325512009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32552
32553 * util/getroot.c (find_root_device): Add support for MacOSX.
32554 * util/hostdisk.c: Likewise.
32555
57a55913 325562009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32557
32558 * font/font.c (find_glyph): Check whether a font is present to avoid
32559 segmentation fault.
75421ca9 32560
325612009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32562
32563 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32564
e98cd0c2 325652009-07-20 Pavel Roskin <proski@gnu.org>
32566
32567 * configure.ac: Trim excessively wordy excuses.
32568
1d2d169a 325692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32570
32571 Add symlink, mtime and label support to AtheFS.
32572
32573 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32574 (grub_afs_iterate_dir): Handle symlinks.
32575 (grub_afs_open): Use grub_afs_read_symlink.
32576 (grub_afs_dir): Likewise.
32577 Pass mtime.
32578 (grub_afs_label): New function.
32579 (grub_afs_fs): Add grub_afs_label.
32580 (grub_afs_read_symlink): New function.
32581
186f3189 325822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32583
32584 Fix AtheFS support.
32585
32586 * fs/afs.c: Fix comments style.
32587 (grub_afs_blockrun): Declare as packed.
32588 (grub_afs_datastream): Likewise.
32589 (grub_afs_bnode): Likewise.
32590 (grub_afs_btree): Likewise.
32591 (grub_afs_sblock): Likewise.
32592 Declare `name' as char.
32593 (grub_afs_inode): Declare as packed.
32594 Change void *vnode to grub_uint32_t unused.
32595 (grub_afs_iterate_dir): Check that key_size is positive.
32596 (grub_afs_mount): Don't read superblock twice.
75421ca9 32597 (grub_afs_dir): Don't free node in case of error,
186f3189 32598 grub_fshelp_find_file already handles this.
32599 (grub_afs_open): Likewise.
32600
5680109e 326012009-07-19 Pavel Roskin <proski@gnu.org>
32602
32603 * Makefile.in: Remove LIBLZO and enable_lzo.
32604 * conf/i386-pc.rmk: Remove lzo support.
32605 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32606 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32607 support.
32608 * kern/i386/pc/lzo1x.S: Remove.
32609 * kern/i386/pc/startup.S: Remove lzo support.
32610 * util/i386/pc/grub-mkimage.c: Likewise.
32611
ac70fa32 326122009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32613
32614 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32615 * fs/xfs.c (grub_xfs_dir): Likewise.
32616 * fs/afs.c (grub_afs_dir): Likewise.
32617 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32618 (grub_iso9660_open): Likewise.
32619 * fs/jfs.c (grub_jfs_open): Likewise.
32620 * fs/ext2.c (grub_ext2_dir): Likewise.
32621 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32622 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32623
eab58da2 326242009-07-16 Pavel Roskin <proski@gnu.org>
32625
d2838156 32626 * configure.ac: Never add "-c" to CFLAGS.
32627
55c70904 32628 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32629
43e6200c 32630 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32631 grub_cv_cc_efiemu should be used.
32632
ce7a733d 32633 * configure.ac: Typo fixes.
32634
eab58da2 32635 * kern/mm.c (grub_zalloc): New function.
32636 (grub_debug_zalloc): Likewise.
32637 * include/grub/mm.h: Declare grub_zalloc() and
32638 grub_debug_zalloc().
32639 * util/misc.c (grub_zalloc): New function.
32640 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32641 instead of grub_malloc(), remove unneeded initializations.
32642 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32643 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32644 * commands/parttool.c (grub_cmd_parttool): Likewise.
32645 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32646 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32647 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32648 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32649 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32650 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32651 (grub_cmd_efiemu_pnvram): Likewise.
32652 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32653 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32654 (grub_iso9660_iterate_dir): Likewise.
32655 * fs/jfs.c (grub_jfs_opendir): Likewise.
32656 * fs/ntfs.c (list_file): Likewise.
32657 (grub_ntfs_mount): Likewise.
32658 * kern/disk.c (grub_disk_open): Likewise.
32659 * kern/dl.c (grub_dl_load_core): Likewise.
32660 * kern/elf.c (grub_elf_file): Likewise.
32661 * kern/env.c (grub_env_context_open): Likewise.
32662 (grub_env_set): Likewise.
32663 (grub_env_set_data_slot): Likewise.
32664 * kern/file.c (grub_file_open): Likewise.
32665 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32666 * loader/i386/multiboot.c (grub_module): Likewise.
32667 * loader/xnu.c (grub_xnu_create_key): Likewise.
32668 (grub_xnu_create_value): Likewise.
32669 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32670 (read_config_file): Likewise.
32671 * normal/menu_entry.c (make_screen): Likewise.
32672 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32673 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32674 * script/sh/script.c (grub_script_parse): Likewise.
32675 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32676 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32677 * video/readers/png.c (grub_png_output_byte): Likewise.
32678 (grub_video_reader_png): Likewise.
32679
830afef7 326802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32681
32682 Enable all targets that can be built by default
32683
830afef7 32684 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32685 grub-mkfont and grub-fstest if they can be built
32686
ee293aee 326872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32688
32689 Fix hang and segmentation fault in grub-emu-usb
32690
32691 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32692 * util/usb.c (grub_libusb_devices): likewise
32693 (grub_libusb_init): rename to ...
32694 (GRUB_MOD_INIT (libusb)):...this
32695 (grub_libusb_fini): rename to ..
32696 (GRUB_MOD_FINI (libusb)):...this
32697 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32698 * include/grub/disk.h (grub_raid_init): removed, it's useless
32699 (grub_raid_fini): likewise
32700 (grub_lvm_init): likewise
32701 (grub_lvm_fini): likewise
32702 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32703 by grub_init_all
32704
94414221 327052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32706
32707 Fix libusb
32708
32709 * Makefile.in (LIBUSB): new macro
32710 * genmk.rb (Utility/print_tail): new method
32711 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32712 (top level): call util.print_tail at the end.
32713
59ade63d 327142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32715
32716 Make FreeBSD accept zpool.cache
32717
32718 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32719 type is /boot/zfs/zpool.cache
32720
a58da8c7 327212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32722
32723 Fix 64-bit efiemu
32724
32725 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32726 correct wrong typedef
32727 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32728
20591577 327292009-07-15 Pavel Roskin <proski@gnu.org>
32730
560ca572 32731 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32732 * kern/disk.c (struct grub_disk_cache): Likewise.
32733
e8e8e4fd 32734 * commands/probe.c (options): Typo fix.
32735
fde24e10 32736 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32737 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32738 accordingly.
32739 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32740
379c54c1 32741 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32742 the end of "Error" to make the message more readable.
32743
7bd8f5bf 32744 * boot/i386/pc/boot.S (kernel_segment): Remove.
32745 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32746 for destination.
32747
40b132c5 32748 * boot/i386/pc/boot.S (boot_version): Remove.
32749 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32750 Remove.
32751
20591577 32752 * include/grub/i386/pc/boot.h: Sort all offsets.
32753 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32754 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32755 * boot/i386/pc/boot.S: Assert location of every offset listed in
32756 include/grub/i386/pc/boot.h.
32757
2df32b2c 327582009-07-13 Pavel Roskin <proski@gnu.org>
32759
44b5d879 32760 * include/grub/i386/coreboot/machine.h: Rename
32761 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32762 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32763 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32764
17dc3751 32765 * kern/dl.c: Force native word size to suppress warnings when
32766 compiling grub-emu.
32767
2df32b2c 32768 * kern/device.c (grub_device_iterate): Change struct part_ent to
32769 hold the name, not a pointer to it. Use one grub_malloc() per
32770 partition, not two. Free partition_name if grub_malloc() fails.
32771 Set ents to NULL only before grub_partition_iterate() is called.
32772
75c59f59 327732009-07-11 Bean <bean123ch@gmail.com>
32774
32775 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32776 childname.
32777
0ae1bf88 327782009-07-10 Bean <bean123ch@gmail.com>
327792009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32780
32781 * kern/ieee1275/openfw.c (grub_children_iterate)
32782 (grub_devalias_iterate): Fix size evaluation for property or path
32783 strings, which was broken since r2132.
32784
8279cade 327852009-07-07 Pavel Roskin <proski@gnu.org>
32786
7d8a52d3 32787 * commands/search.c (search_file): Merge into ...
32788 (search_fs): ... this. Accept search type as argument.
32789 (grub_cmd_search): Pass search type to search_fs().
32790
25f9a05a 32791 * include/grub/util/console.h: New file.
32792 * util/console.c: Use it instead of grub/machine/console.h.
32793 * util/grub-emu.c: Likewise.
32794
8279cade 32795 * lib/arg.c (find_long_option): Remove.
32796 (find_long): Add `len' argument, make `s' const char *.
32797 (grub_arg_parse): Parse long options in place, not in a
32798 temporary buffer.
32799
4a11b60f 328002009-07-06 Pavel Roskin <proski@gnu.org>
32801
99f68041 32802 * commands/search.c (search_fs): Fix potential NULL pointer
32803 dereference.
32804
4a11b60f 32805 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32806 function pointer.
32807
e110f4de 328082009-07-06 Daniel Mierswa <impulze@impulze.org>
32809
32810 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32811 comparison.
32812
46eeb6a2 328132009-07-05 Pavel Roskin <proski@gnu.org>
32814
bab74958 32815 * include/grub/i386/linux.h (struct linux_kernel_params):
32816 Restore padding3, it's still needed.
32817
46eeb6a2 32818 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32819 FreeBSD.
32820 * util/osdetect.lua: Likewise.
32821
b4a1dc79 328222009-07-05 Bean <bean123ch@gmail.com>
32823
32824 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32825
32826 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32827 (grub_lua_getenv): Likewise.
32828 (grub_lua_setenv): Likewise.
32829 (save_errno): New function.
32830 (push_result): Likewise.
32831 (grub_lua_enum_device): Likewise.
32832 (grub_lua_enum_file): Likewise.
32833 (grub_lua_file_open): Likewise.
32834 (grub_lua_file_close): Likewise.
32835 (grub_lua_file_seek): Likewise.
32836 (grub_lua_file_read): Likewise.
32837 (grub_lua_file_getline): Likewise.
32838 (grub_lua_file_getsize): Likewise.
32839 (grub_lua_file_getpos): Likewise.
32840 (grub_lua_file_eof): Likewise.
32841 (grub_lua_file_exist): Likewise.
32842 (grub_lua_add_menu): Likewise.
32843
32844 * script/lua/grub_lua.h (isupper): New inline function.
32845 (islower): Likewise.
32846 (ispunct): Likewise.
32847 (isxdigit): Likewise.
32848 (strcspn): Change to normal function.
32849 (strpbkr): New function declaration.
32850 (memchr): Likewise.
32851
32852 * script/lua/grub_main.c (scan_str): New function.
32853 (strcspn): Likewise.
32854 (strpbrk): Likewise.
32855 (memchr): Likewise.
32856
32857 * script/lua/linit.c (lualibs): Enable the string library.
32858
32859 * util/osdetect.lua: New file.
32860
2da92295 328612009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32862
32863 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32864 `capabilities' member.
32865
b2582ec9 328662009-07-02 Pavel Roskin <proski@gnu.org>
32867
32868 * genparttoollist.sh: Add missing newline at the end.
32869
32622956 328702009-07-01 Pavel Roskin <proski@gnu.org>
32871
87a7339e 32872 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32873
d23af54e 32874 * util/hostdisk.c (open_device): Remove `const' from
32875 `sysctl_size', as sysctlbyname() can change it (in this case it
32876 doesn't actually happen).
32877
c94b18a9 32878 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32879 using signed long int constants.
32880
c6cd3ef0 32881 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32882 constant to avoid a warning on FreeBSD.
32883
0df63420 32884 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32885 where it's needed.
32886
999577f1 32887 * Makefile.in: Install include/grub/machine symlink.
32888
6f41557f 32889 * Makefile.in: When installing symlinks, use "cp -fR", which
32890 works on FreeBSD and MacOSX.
32891 From Yves Blusseau <cl7m42e02@sneakemail.com>
32892
c8d22988 32893 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32894 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32895
1b96e952 32896 * util/misc.c: Move grub_reboot() and grub_halt() ...
32897 * util/grub-emu.c: ... here. Make main_env static.
32898 * include/grub/util/misc.h: Remove main_env.
32899
2ef0084d 32900 * kern/mm.c: Use correct format to print size_t.
32901
32622956 32902 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32903 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32904 * kern/powerpc/dl.c: Likewise.
32905 * kern/sparc64/dl.c: Likewise.
32906 * kern/x86_64/dl.c: Likewise.
32907
3f7f0cd0 329082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32909
32910 Fix grub-emu build on sparc64-ieee1275.
32911
75421ca9 32912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32914
211d06b5 329152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32916
32917 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32918 (grub_reboot, grub_halt): New functions.
32919
32920 * util/i386/pc/misc.c: Delete. Update all users.
32921 * util/sparc64/ieee1275/misc.c: Likewise.
32922 * util/powerpc/ieee1275/misc.c: Likewise.
32923
aaf53e3c 329242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32925
32926 * conf/i386.rmk (setjmp_mod_SOURCES)
32927 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32928 * conf/common.rmk (setjmp_mod_SOURCES)
32929 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32930 to use $(target_cpu).
32931 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32932 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32933 * conf/powerpc-ieee1275.rmk: Likewise.
32934 * conf/sparc64-ieee1275.rmk: Likewise.
32935
32936 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32937 $(target_cpu) for kern/$(target_cpu)/dl.c.
32938 * conf/i386-efi.rmk: Likewise.
32939 * conf/i386-ieee1275.rmk: Likewise.
32940 * conf/x86_64-efi.rmk: Likewise.
32941 * conf/i386-coreboot.rmk: Likewise.
32942 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32943 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32944 kern/$(target_cpu)/cache.S.
32945 * conf/sparc64-ieee1275.rmk: Likewise.
32946
a337130b 329472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32948
32949 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32950 type to `grub_uint8_t', and adjust `padding9' accordingly.
32951
c6fe4d53 329522009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32953
b09db61d 32954 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32955
c6fe4d53 32956 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32957 assembly in final jump, using register constraints.
32958
b09db61d 32959 (grub_linux_boot): For text mode, initialize `have_vga' using
32960 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32961
32962 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32963 right before the final jump.
32964
32965 Set `video_mode' to 0x3.
32966
32967 Document initialization of `video_page', `video_mode' and
32968 `video_ega_bx'.
32969
28333ad0 329702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32971
32972 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32973 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32974 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32975
02164e1b 329762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 Fix build on Debian / sparc.
32979
32980 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32981
18b6c557 329822009-06-28 Pavel Roskin <proski@gnu.org>
32983
85f2aab6 32984 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32985 fix a warning.
32986
18b6c557 32987 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32988
ad760f81 329892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32990
32991 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32992 `err'.
32993
87a4623b 329942009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32995
32996 Revert r2338.
32997
32998 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32999 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33000 grub_errno / grub_errmsg appropriately.
87a4623b 33001 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33002
8231fb77 330032009-06-27 Pavel Roskin <proski@gnu.org>
330042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33005
33006 * include/grub/dl.h: Include grub/elf.h.
33007 (struct grub_dl): Add symtab field.
33008 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33009 GRUB_MODULES_MACHINE_READONLY.
33010 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33011 of the header for read-only modules.
33012 (grub_dl_unload): Free mod->symtab for read-only modules.
33013 * kern/i386/dl.c: Use mod->symtab.
33014 * kern/powerpc/dl.c: Likewise.
33015 * kern/sparc64/dl.c: Likewise.
33016 * kern/x86_64/dl.c: Likewise.
33017
33018 * conf/i386-qemu.rmk: New file.
33019 * kern/i386/qemu/startup.S: Likewise.
33020 * kern/i386/qemu/mmap.c: Likewise.
33021 * boot/i386/qemu/boot.S: Likewise.
33022 * include/grub/i386/qemu/time.h: Likewise.
33023 * include/grub/i386/qemu/serial.h: Likewise.
33024 * include/grub/i386/qemu/kernel.h: Likewise.
33025 * include/grub/i386/qemu/console.h: Likewise.
33026 * include/grub/i386/qemu/boot.h: Likewise.
33027 * include/grub/i386/qemu/init.h: Likewise.
33028 * include/grub/i386/qemu/machine.h: Likewise.
33029 * include/grub/i386/qemu/loader.h: Likewise.
33030 * include/grub/i386/qemu/memory.h: Likewise.
33031
33032 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33033 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33034 [qemu] (pkglib_IMAGES): Add `boot.img'.
33035 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33036 [qemu] (boot_img_FORMAT): New variables.
33037 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33038 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33039 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33040 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33041 [qemu] (kernel_img_FORMAT): New variables.
33042
33043 * configure.ac: Recognise `i386-qemu'.
33044
33045 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33046 (for no compression).
33047 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33048 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33049 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33050 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33051 ifdefs).
33052
97fe384e 330532009-06-27 Pavel Roskin <proski@gnu.org>
33054
33055 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33056 read.
33057 * efiemu/prepare32.c: Likewise.
33058 * efiemu/prepare64.c: Likewise.
33059
c402ab17 330602009-06-26 Pavel Roskin <proski@gnu.org>
33061
33062 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33063 * include/grub/elf.h: Define symbols without "32" or "64" based
33064 on GRUB_TARGET_WORDSIZE.
33065 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33066 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33067 ELF definitions.
33068 * efiemu/loadcore64.c: Likewise.
33069 * loader/i386/bsd32.c: Likewise.
33070 * loader/i386/bsd64.c: Likewise.
33071 * kern/dl.c: Remove own ELF definitions.
33072 * util/i386/efi/grub-mkimage.c: Likewise.
33073
9bbdfd4d 330742009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33075
33076 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33077 segment 0x0 unconditionally, because the reference generated by
33078 GAS is an absolute address.
33079
a42ce6e9 330802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33081
33082 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33083 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33084
c952cf92 330852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33086
33087 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33088 indexes. Check for -f explicitly.
cc3752ad 33089 (search_file): Improve error message.
33090 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33091
132a0a59 330922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33093
33094 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33095 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33096
387a140c 330972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33098
33099 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33100 * conf/i386-ieee1275.rmk: Likewise.
33101 * conf/i386-coreboot.rmk: Likewise.
33102
33103 * kern/i386/pc/startup.S (grub_stop): Remove function.
33104 * kern/i386/ieee1275/startup.S: Likewise.
33105 * kern/i386/coreboot/startup.S: Likewise.
33106 * kern/i386/misc.S (grub_stop): New function.
33107
41da9665 331082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33109
33110 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33111 * kern/i386/realmode.S (real_to_prot): ... to here.
33112
bf337234 331132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33114
33115 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33116 with `kernel.img'.
33117 (kernel_elf_SOURCES): Rename to ...
33118 (kernel_img_SOURCES): ... this.
33119 (kernel_elf_HEADERS): Rename to ...
33120 (kernel_img_HEADERS): ... this. Update all users.
33121 (kernel_elf_ASFLAGS): Rename to ...
33122 (kernel_img_ASFLAGS): ... this.
33123 (kernel_elf_CFLAGS): Rename to ...
33124 (kernel_img_CFLAGS): ... this.
33125 (kernel_elf_LDFLAGS): Rename to ...
33126 (kernel_img_LDFLAGS): ... this.
33127 * conf/i386-coreboot.rmk: Likewise.
33128 * conf/powerpc-ieee1275.rmk: Likewise.
33129
33130 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33131 with "kernel.img".
33132
f52196ff 331332009-06-21 Pavel Roskin <proski@gnu.org>
33134
c3cee413 33135 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33136 to match nested functions.
33137 * loader/sparc64/ieee1275/linux.c: Likewise.
33138
f52196ff 33139 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33140
58750afc 331412009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33142
33143 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33144 all i386 platforms.
33145
15355c7d 331462009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 Fix asm file handling on ELF, and remove workarounds.
33149
33150 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33151 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33152 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33153 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33154
3f3ec72b 331552009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33156
33157 Load BSD ELF modules
33158
33159 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33160 and loader/i386/bsd64.c
33161 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33162 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33163 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33164 (grub_freebsd_load_elfmodule32): New declaration
33165 (grub_freebsd_load_elfmoduleobj64): Likewise
33166 (grub_freebsd_load_elf_meta32): Likewise
33167 (grub_freebsd_load_elf_meta64): Likewise
33168 (grub_freebsd_add_meta): Likewise
33169 (grub_freebsd_add_meta_module): Likewise
33170 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33171 (grub_freebsd_add_meta_module): Likewise and move module-specific
33172 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33173 (grub_cmd_freebsd): Add elf-kernel specific parts
33174 based on grub_freebsd_add_meta_module
33175 (grub_cmd_freebsd_module): Add type parsing moved from
33176 grub_freebsd_add_meta_module
33177 (grub_cmd_freebsd_module_elf): New function
33178 (cmd_freebsd_module_elf): New variable
33179 (GRUB_MOD_INIT): Register freebsd_module_elf
33180 * loader/i386/bsd32.c: New file
33181 * loader/i386/bsd64.c: Likewise
33182 * loader/i386/bsdXX.c: Likewise
33183 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33184 (grub_elf64_load): Likewise
33185 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33186 All users updated
33187 (grub_elf64_load_hook_t): Likewise
33188
0db15301 331892009-06-21 Colin Watson <cjwatson@ubuntu.com>
33190
33191 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33192 variable.
33193 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33194 don't write a menu entry for recovery mode.
33195
546796c1 331962009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33197
33198 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33199 after it's no longer needed.
33200
cd7310d5 332012009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 * include/grub/i386/loader.h (grub_linux_prot_size)
33204 (grub_linux_tmp_addr, grub_linux_real_addr)
33205 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33206 GRUB_MACHINE_PCBIOS.
33207 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33208 common grub_util_info() call to ...
33209 (generate_image): ... here.
33210 Fix use of uninitialized memory, comparison of signed with
33211 unsigned integers and memory leak.
33212 Remove bogus module address message.
33213
ab32d3b5 332142009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33215
33216 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33217 grub_raid_register
33218 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33219
024ef597 332202009-06-19 Pavel Roskin <proski@gnu.org>
33221
33222 * configure.ac: Remove stray AC_MSG_CHECKING.
33223
3ac72b51 332242009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33225
33226 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33227
e14cd814 332282009-06-18 Pavel Roskin <proski@gnu.org>
33229
33230 * conf/common.rmk: Add fs_file.mod.
33231 * disk/fs_file.c: New file.
33232 * include/grub/disk.h (enum grub_disk_dev_id): Add
33233 GRUB_DISK_DEVICE_FILE_ID.
33234
26586d98 332352009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33236
33237 Fix build with Apple's toolchain. Part 2
33238
33239 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33240 a fake start
33241
26de2bcd 332422009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33243
33244 Fix build with Apple's toolchain. Part 1
33245
33246 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33247 for long calls
33248 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33249 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33250 Apple's toolchain
33251
09b3490b 332522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33253
33254 Fix warnings
33255
33256 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33257 (decomp_block): initialize ch
33258 use grub_memcpy instead of memcpy
33259
c22a006a 332602009-06-17 Pavel Roskin <proski@gnu.org>
33261
d3638678 33262 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33263 version, use declarations needed to use vga_text as the startup
33264 console.
33265
c22a006a 33266 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33267 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33268 the kernel.
33269 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33270 and grub_at_keyboard_fini(), it's done on module load and
33271 unload.
33272
05b129e0 332732009-06-17 Felix Zielcke <fzielcke@z-51.de>
33274
33275 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33276 file can't be found.
33277 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33278
cf24ed9e 332792009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33280
33281 Fix newline handling
33282
33283 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33284 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33285 (grub_script_yylex): don't segfault on unterminated script
33286 newline terminates command and variable
33287
74aa8e4b 332882009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33289
33290 avoid double grub_adjust_range call. Bug reported by David Simner
33291
33292 * kern/disk.c (grub_disk_write): change to raw disk access before
33293 calling disk_read
33294
1bd265f3 332952009-06-17 Colin Watson <cjwatson@ubuntu.com>
33296
33297 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33298 spaces, for the benefit of help2man.
33299 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33300
a2d08c06 333012009-06-16 Pavel Roskin <proski@gnu.org>
33302
33303 * kern/i386/halt.c: Include grub/machine/init.h.
33304 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33305
b97bcb19 333062009-06-16 Felix Zielcke <fzielcke@z-51.de>
33307
33308 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33309 drivemap menuentry.
33310
0644f96c 333112009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33312
33313 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33314 `echo' command.
33315
3ef17a2e 333162009-06-16 Pavel Roskin <proski@gnu.org>
33317
33318 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33319 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33320 save %dx, we only need %dl and we never change it.
33321 * boot/i386/pc/cdboot.S: Don't set the root drive.
33322 * boot/i386/pc/pxeboot.S: Likewise.
33323 * include/grub/i386/pc/boot.h: Remove
33324 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33325 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33326 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33327 * kern/i386/pc/init.c (make_install_device): Remove references
33328 to grub_root_drive.
33329 * kern/i386/pc/startup.S: Likewise.
33330 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33331
693fe637 333322009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33333
33334 xnu_uuid command
33335
33336 * commands/xnu_uuid.c: new file
33337 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33338 (xnu_uuid_mod_SOURCES): new variable
33339 (xnu_uuid_mod_CFLAGS): likewise
33340 (xnu_uuid_mod_LDFLAGS): likewise
33341 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33342 * conf/i386-ieee1275.rmk: likewise
33343 * conf/i386-pc.rmk: likewise
33344 * conf/powerpc-ieee1275.rmk: likewise
33345 * conf/sparc64-ieee1275.rmk: likewise
33346 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33347
c9da87d0 333482009-06-16 Pavel Roskin <proski@gnu.org>
33349
33350 * configure.ac: Avoid '==' in test command, it's not portable.
33351
9c6f4596 333522009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33353
33354 Probe command
33355
33356 * commands/probe.c: new file
33357 * conf/common.rmk (pkglib_MODULES): add probe.mod
33358 (probe_mod_SOURCES): new variable
33359 (probe_mod_CFLAGS): likewise
33360 (probe_mod_LDFLAGS): likewise
33361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33362 * conf/i386-ieee1275.rmk: likewise
33363 * conf/i386-pc.rmk: likewise
33364 * conf/powerpc-ieee1275.rmk: likewise
33365 * conf/sparc64-ieee1275.rmk: likewise
33366
70b7f9fd 333672009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33368
33369 Fix handling of string like \"hello\" and "a
33370 b"
33371
33372 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33373 (grub_script_yylex): fix parsing of quoting, escaping and newline
33374
71c79a6b 333752009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33376
dd74360c 33377 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33378 handling
dd74360c 33379
0644f96c 333802009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33381
33382 * util/grub-mkconfig.in: Fix parsing of --output option.
33383
e40893c3 333842009-06-12 Pavel Roskin <proski@gnu.org>
33385
33386 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33387 genmk.rb don't need to be generated or installed.
33388
3a1acfe2 333892009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33390
33391 * commands/i386/pc/drivemap_int13h.S: add more comments
33392
3a4575d4 333932009-06-11 Pavel Roskin <proski@gnu.org>
33394
0658e928 33395 * Makefile.in (uninstall): Uninstall manuals.
33396
ca0388f0 33397 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33398 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33399 and update-grub_lib in two places.
33400 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33401
e3b27c39 33402 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33403 a compiler warning.
33404
3a4575d4 33405 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33406 `entry_lo' to fix variable shadowing.
33407
af1f4f55 334082009-06-11 Christian Franke <franke@computer.org>
33409
33410 * kern/misc.c (__enable_execute_stack): Add missing return type
33411 to prevent gcc warning.
33412
5225e649 334132009-06-11 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33416
7d83bd47 334172009-06-11 Pavel Roskin <proski@gnu.org>
33418
c1cb63ba 33419 * Makefile.in: Don't rely on any scripts being executable.
33420 Always use $(SHELL) to run shell scripts.
33421
7d83bd47 33422 * configure.ac: Always define ___main if using -nostdlib. This
33423 fixes tests on Cygwin.
33424
948f48e7 334252009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33426
33427 UDF fix
33428
7d83bd47 33429 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33430 is in bytes and not in blocks
7d83bd47 33431
8ada9bc1 334322009-06-11 Pavel Roskin <proski@gnu.org>
33433
33434 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33435 warning.
33436
25ad2323 334372009-06-11 Felix Zielcke <fzielcke@z-51.de>
33438
33439 * util/grub.d/30_os-prober.in: Fix a comment. Source
33440 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33441 to set the root device. Place drivemap command in the generated
33442 chain entry.
33443
e65acb0c 334442009-06-11 Pavel Roskin <proski@gnu.org>
33445
33446 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33447 have long been resolved.
33448
f285fe2d 334492009-06-11 Colin Watson <cjwatson@ubuntu.com>
33450
bd47b0b5 33451 * util/grub.d/10_linux.in: Capitalise "Linux".
33452
f285fe2d 33453 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33454
a0c62e4e 334552009-06-11 Pavel Roskin <proski@gnu.org>
33456
b6783cb2 33457 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33458 fix a gcc warning and ensure that the function won't ever exit.
33459
dde032e8 33460 * kern/i386/ieee1275/init.c: Add missing prototype for
33461 grub_stop_floppy().
33462
22cd079d 33463 * loader/ieee1275/multiboot2.c [__i386__]: Include
33464 grub/cpu/multiboot.h.
33465
a0c62e4e 33466 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33467 casts to short - they are not portable and cause warnings. Fix
33468 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33469
63963d17 334702009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33471
33472 Drivemap fixes
33473
33474 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33475 new function
33476 (grub_get_root_biosnumber_saved): new variable
33477 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33478 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33479 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33480 %dx after the call if necessary
33481 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33482 (boot_mod_SOURCES): remove
33483 (boot_mod_CFLAGS): remove
33484 (boot_mod_LDFLAGS): remove
33485 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33486 (boot_mod_SOURCES): new variable
33487 (boot_mod_CFLAGS): likewise
33488 (boot_mod_LDFLAGS): likewise
33489 * conf/i386-efi.rmk: likewise
33490 * conf/i386-ieee1275.rmk: likewise
33491 * conf/i386-pc.rmk: likewise
33492 * conf/powerpc-ieee1275.rmk: likewise
33493 * conf/sparc64-ieee1275.rmk: likewise
33494 * conf/x86_64-efi.rmk: likewise
33495 * include/grub/i386/pc/biosnum.h: new file
33496 * lib/i386/pc/biosnum.c: likewise
33497 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33498 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33499 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33500
33abf7ae 335012009-06-10 Pavel Roskin <proski@gnu.org>
33502
5ac35b35 33503 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33504 Use separate variables. Read only the file size at the end, but
33505 not the checksum that we don't use.
33506
5c5215d5 33507 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33508 Adjust all callers.
33509
27d5fef7 33510 * kern/ieee1275/openfw.c: Remove libc includes.
33511 * kern/ieee1275/cmain.c: Likewise.
33512 * include/grub/ieee1275/ieee1275.h: Likewise.
33513
33abf7ae 33514 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33515 compiler warnings.
33516
19d50c2b 335172009-06-10 Felix Zielcke <fzielcke@z-51.de>
33518
33519 * Makefile.in: Remove all trailing whitespace.
33520 * conf/i386-pc.rmk: Likewise.
33521 * conf/powerpc-ieee1275.rmk: Likewise.
33522 * conf/sparc64-ieee1275.rmk: Likewise.
33523 * docs/grub.texi: Likewise.
33524 * docs/texinfo.tex: Likewise.
33525 * disk/fs_uuid.c: Likewise.
33526 * disk/lvm.c: Likewise.
33527 * disk/scsi.c: Likewise.
33528 * disk/ata.c: Likewise.
33529 * disk/ieee1275/ofdisk.c: Likewise.
33530 * disk/i386/pc/biosdisk.c: Likewise.
33531 * disk/host.c: Likewise.
33532 * disk/raid.c: Likewise.
33533 * disk/efi/efidisk.c: Likewise.
33534 * disk/usbms.c: Likewise.
33535 * disk/memdisk.c: Likewise.
33536 * disk/loopback.c: Likewise.
33537 * kern/powerpc/dl.c: Likewise.
33538 * kern/device.c: Likewise.
33539 * kern/dl.c: Likewise.
33540 * kern/sparc64/dl.c: Likewise.
33541 * kern/ieee1275/ieee1275.c: Likewise.
33542 * kern/term.c: Likewise.
33543 * kern/fs.c: Likewise.
33544 * kern/i386/dl.c: Likewise.
33545 * kern/i386/pc/startup.S: Likewise.
33546 * kern/i386/pc/init.c: Likewise.
33547 * kern/i386/pc/mmap.c: Likewise.
33548 * kern/i386/pc/lzo1x.S: Likewise.
33549 * kern/i386/ieee1275/init.c: Likewise.
33550 * kern/i386/realmode.S: Likewise.
33551 * kern/i386/tsc.c: Likewise.
33552 * kern/partition.c: Likewise.
33553 * kern/corecmd.c: Likewise.
33554 * kern/file.c: Likewise.
33555 * kern/efi/efi.c: Likewise.
33556 * kern/efi/init.c: Likewise.
33557 * kern/efi/mm.c: Likewise.
33558 * kern/main.c: Likewise.
33559 * kern/err.c: Likewise.
33560 * kern/env.c: Likewise.
33561 * kern/disk.c: Likewise.
33562 * kern/generic/millisleep.c: Likewise.
33563 * kern/generic/rtc_get_time_ms.c: Likewise.
33564 * kern/misc.c: Likewise.
33565 * kern/parser.c: Likewise.
33566 * genmk.rb: Likewise.
33567 * configure.ac: Likewise.
33568 * boot/i386/pc/diskboot.S: Likewise.
33569 * boot/i386/pc/pxeboot.S: Likewise.
33570 * boot/i386/pc/boot.S: Likewise.
33571 * boot/i386/pc/lnxboot.S: Likewise.
33572 * boot/i386/pc/cdboot.S: Likewise.
33573 * parttool/pcpart.c: Likewise.
33574 * video/readers/tga.c: Likewise.
33575 * video/video.c: Likewise.
33576 * video/bitmap.c: Likewise.
33577 * lib/envblk.c: Likewise.
33578 * lib/i386/setjmp.S: Likewise.
33579 * fs/xfs.c: Likewise.
33580 * fs/afs.c: Likewise.
33581 * fs/fat.c: Likewise.
33582 * fs/ntfs.c: Likewise.
33583 * fs/udf.c: Likewise.
33584 * fs/affs.c: Likewise.
33585 * fs/iso9660.c: Likewise.
33586 * fs/hfs.c: Likewise.
33587 * fs/fshelp.c: Likewise.
33588 * fs/ext2.c: Likewise.
33589 * fs/jfs.c: Likewise.
33590 * fs/reiserfs.c: Likewise.
33591 * fs/hfsplus.c: Likewise.
33592 * fs/minix.c: Likewise.
33593 * fs/cpio.c: Likewise.
33594 * fs/sfs.c: Likewise.
33595 * fs/ufs.c: Likewise.
33596 * efiemu/prepare.c: Likewise.
33597 * efiemu/loadcore_common.c: Likewise.
33598 * efiemu/runtime/efiemu.sh: Likewise.
33599 * efiemu/runtime/efiemu.S: Likewise.
33600 * efiemu/runtime/efiemu.c: Likewise.
33601 * efiemu/pnvram.c: Likewise.
33602 * efiemu/main.c: Likewise.
33603 * efiemu/i386/pc/cfgtables.c: Likewise.
33604 * efiemu/i386/loadcore64.c: Likewise.
33605 * efiemu/i386/loadcore32.c: Likewise.
33606 * efiemu/loadcore.c: Likewise.
33607 * efiemu/symbols.c: Likewise.
33608 * efiemu/mm.c: Likewise.
33609 * include/grub/autoefi.h: Likewise.
33610 * include/grub/datetime.h: Likewise.
33611 * include/grub/term.h: Likewise.
33612 * include/grub/hfs.h: Likewise.
33613 * include/grub/lvm.h: Likewise.
33614 * include/grub/i386/tsc.h: Likewise.
33615 * include/grub/i386/linux.h: Likewise.
33616 * include/grub/i386/xnu.h: Likewise.
33617 * include/grub/i386/efiemu.h: Likewise.
33618 * include/grub/i386/pc/biosdisk.h: Likewise.
33619 * include/grub/i386/pc/memory.h: Likewise.
33620 * include/grub/i386/pc/vbe.h: Likewise.
33621 * include/grub/parttool.h: Likewise.
33622 * include/grub/video.h: Likewise.
33623 * include/grub/memory.h: Likewise.
33624 * include/grub/fs.h: Likewise.
33625 * include/grub/partition.h: Likewise.
33626 * include/grub/xnu.h: Likewise.
33627 * include/grub/efi/api.h: Likewise.
33628 * include/grub/efi/pe32.h: Likewise.
33629 * include/grub/efi/memory.h: Likewise.
33630 * include/grub/multiboot.h: Likewise.
33631 * include/grub/usbdesc.h: Likewise.
33632 * include/grub/multiboot2.h: Likewise.
33633 * include/grub/acpi.h: Likewise.
33634 * include/grub/efiemu/efiemu.h: Likewise.
33635 * include/grub/disk.h: Likewise.
33636 * include/grub/ieee1275/ieee1275.h: Likewise.
33637 * include/grub/net.h: Likewise.
33638 * include/grub/machoload.h: Likewise.
33639 * include/grub/macho.h: Likewise.
33640 * include/multiboot.h: Likewise.
33641 * genmoddep.awk: Likewise.
33642 * normal/main.c: Likewise.
33643 * normal/menu_entry.c: Likewise.
33644 * normal/menu_viewer.c: Likewise.
33645 * normal/completion.c: Likewise.
33646 * normal/cmdline.c: Likewise.
33647 * normal/misc.c: Likewise.
33648 * normal/datetime.c: Likewise.
33649 * bus/usb/usbtrans.c: Likewise.
33650 * bus/usb/ohci.c: Likewise.
33651 * bus/usb/uhci.c: Likewise.
33652 * bus/usb/usb.c: Likewise.
33653 * mmap/efi/mmap.c: Likewise.
33654 * mmap/i386/pc/mmap_helper.S: Likewise.
33655 * mmap/i386/pc/mmap.c: Likewise.
33656 * mmap/i386/mmap.c: Likewise.
33657 * mmap/i386/uppermem.c: Likewise.
33658 * mmap/mmap.c: Likewise.
33659 * commands/acpi.c: Likewise.
33660 * commands/echo.c: Likewise.
33661 * commands/blocklist.c: Likewise.
33662 * commands/loadenv.c: Likewise.
33663 * commands/usbtest.c: Likewise.
33664 * commands/boot.c: Likewise.
33665 * commands/parttool.c: Likewise.
33666 * commands/search.c: Likewise.
33667 * commands/cat.c: Likewise.
33668 * commands/i386/pc/play.c: Likewise.
33669 * commands/i386/pc/drivemap.c: Likewise.
33670 * commands/i386/pc/vbeinfo.c: Likewise.
33671 * commands/i386/pc/acpi.c: Likewise.
33672 * commands/i386/pc/vbetest.c: Likewise.
33673 * commands/ls.c: Likewise.
33674 * commands/cmp.c: Likewise.
33675 * commands/test.c: Likewise.
33676 * commands/efi/acpi.c: Likewise.
33677 * commands/gptsync.c: Likewise.
33678 * commands/help.c: Likewise.
33679 * partmap/amiga.c: Likewise.
33680 * partmap/apple.c: Likewise.
33681 * partmap/acorn.c: Likewise.
33682 * partmap/pc.c: Likewise.
33683 * partmap/sun.c: Likewise.
33684 * partmap/gpt.c: Likewise.
33685 * script/sh/lexer.c: Likewise.
33686 * script/sh/function.c: Likewise.
33687 * font/font.c: Likewise.
33688 * font/font_cmd.c: Likewise.
33689 * loader/powerpc/ieee1275/linux.c: Likewise.
33690 * loader/efi/chainloader.c: Likewise.
33691 * loader/multiboot_loader.c: Likewise.
33692 * loader/macho.c: Likewise.
33693 * loader/i386/multiboot.c: Likewise.
33694 * loader/i386/linux.c: Likewise.
33695 * loader/i386/pc/linux.c: Likewise.
33696 * loader/i386/pc/multiboot2.c: Likewise.
33697 * loader/i386/pc/chainloader.c: Likewise.
33698 * loader/i386/pc/xnu.c: Likewise.
33699 * loader/i386/bsd_trampoline.S: Likewise.
33700 * loader/i386/efi/linux.c: Likewise.
33701 * loader/i386/multiboot_elfxx.c: Likewise.
33702 * loader/i386/bsd_helper.S: Likewise.
33703 * loader/i386/bsd.c: Likewise.
33704 * loader/i386/linux_trampoline.S: Likewise.
33705 * loader/i386/xnu_helper.S: Likewise.
33706 * loader/i386/xnu.c: Likewise.
33707 * loader/i386/bsd_pagetable.c: Likewise.
33708 * loader/i386/multiboot_helper.S: Likewise.
33709 * loader/xnu.c: Likewise.
33710 * loader/xnu_resume.c: Likewise.
33711 * io/gzio.c: Likewise.
33712 * term/efi/console.c: Likewise.
33713 * term/terminfo.c: Likewise.
33714 * term/ieee1275/ofconsole.c: Likewise.
33715 * term/i386/pc/serial.c: Likewise.
33716 * term/i386/pc/vesafb.c: Likewise.
33717 * term/i386/pc/vga.c: Likewise.
33718 * term/usb_keyboard.c: Likewise.
33719 * term/gfxterm.c: Likewise.
33720 * aclocal.m4: Likewise.
33721 * util/lvm.c: Likewise.
33722 * util/grub.d/30_os-prober.in: Likewise.
33723 * util/grub.d/10_hurd.in: Likewise.
33724 * util/console.c: Likewise.
33725 * util/grub-macho2img.c: Likewise.
33726 * util/grub-probe.c: Likewise.
33727 * util/hostfs.c: Likewise.
33728 * util/i386/pc/grub-mkimage.c: Likewise.
33729 * util/i386/pc/grub-setup.c: Likewise.
33730 * util/i386/efi/grub-mkimage.c: Likewise.
33731 * util/grub-mkconfig.in: Likewise.
33732 * util/raid.c: Likewise.
33733 * util/resolve.c: Likewise.
33734 * util/grub-mkdevicemap.c: Likewise.
33735 * util/grub-emu.c: Likewise.
33736 * util/getroot.c: Likewise.
33737 * util/hostdisk.c: Likewise.
33738 * util/usb.c: Likewise.
33739 * util/grub-editenv.c: Likewise.
33740 * util/misc.c: Likewise.
33741
d2d49665 337422009-06-10 Felix Zielcke <fzielcke@z-51.de>
33743
33744 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33745 `genparttoollist.sh'.
33746 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33747 Add `*.sh' to the list find searches for and change `mdate.sh'
33748 to `mdate-sh'.
33749
fe052e37 337502009-06-10 Pavel Roskin <proski@gnu.org>
33751
2763ac18 33752 * include/grub/multiboot2.h: Provide compatibility defines for
33753 multiboot2.h.
33754 * include/multiboot2.h: Include stdint.h only if needed, using
33755 angle brackets.
33756 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33757 grub/multiboot2.h.
33758 * loader/ieee1275/multiboot2.c: Likewise.
33759 * loader/multiboot2.c: Likewise.
33760 * loader/multiboot_loader.c: Likewise.
33761
437e6adc 33762 * configure.ac: Use -nostdlib when probing for the target. It
33763 should not be required to have libc for the target.
33764
06a6836c 33765 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33766 they fail without libc headers for the target.
33767 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33768 exports.
33769 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33770 preprocessor conditionals.
33771
fe052e37 33772 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33773 build system doesn't need to be aware of the tar.c internals.
33774
afd22553 337752009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33776
afd22553 33777 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33778
6b787c4f 337792009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33780
33781 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33782 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33783
337842009-06-09 Felix Zielcke <fzielcke@z-51.de>
33785
33786 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33787 aren't available if ata.mod gets used.
6b787c4f 33788
473d1e45 337892009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33790
473d1e45 33791 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33792 initialising controller.
473d1e45 33793 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33794
255a27d4 337952009-06-08 Felix Zielcke <fzielcke@z-51.de>
33796
33797 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33798 to choose between ata and biosdisk module on i386-pc.
33799
473d1e45 338002009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33801
d55842d8 33802 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33803 Subclass and Programming Interface fields in terms of the 3 byte
33804 Class Code register.
33805 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33806
fa5db0b1 33807 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33808 interface is OHCI. Add grub_dprintf for symmetry with
33809 bus/usb/uhci.c.
33810 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33811 interface is UHCI. Add interf variable for programming
33812 interface. Print interface with class/subclass.
33813
c0947beb 33814 * bus/usb/ohci.c: Set interf with correct field.
33815
69da8877 33816 * bus/usb/uhci.c: Remove unneeded doubled lines.
33817 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33818 Remove whitespace inside comment.
33819
9e172e30 338202009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33821
33822 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33823 as fallback an equivalent option without depth.
33824
de65ee2b 338252009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33826
33827 Not fail if unable to retrieve C/H/S on LBA disks
33828
473d1e45 33829 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33830 if unable to retrieve C/H/S on LBA disks
33831
b57ea2c9 338322009-06-08 Pavel Roskin <proski@gnu.org>
33833
33834 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33835 about aliasing.
33836
af361263 338372009-06-08 Felix Zielcke <fzielcke@z-51.de>
33838
33839 * Makefile.in (uninstall): Remove all $lib_DATA files.
33840
4c9ec6b3 338412009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33842
33843 Bugfix: install on partitionless device
33844
33845 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33846 is a whole disk
33847
e76fc924 338482009-06-08 Felix Zielcke <fzielcke@z-51.de>
33849
33850 * Makefile.in (uninstall): Remove all $include_DATA files.
33851
ba5a0d05 338522009-06-08 Felix Zielcke <fzielcke@z-51.de>
33853
33854 * commands/true.c: New file. Implement the true and false commands.
33855 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33856 (true_mod_SOURCES): New variable.
33857 (true_mod_CFLAGS): Likewise.
33858 (true_mod_LDFLAGS): Likewise.
33859
c8048e32 338602009-06-05 Colin D Bennett <colin@gibibit.com>
33861
33862 Optimized font character lookup using binary search instead of linear
33863 search. Fonts now are required to have the character index ordered by
33864 code point.
33865
33866 * font/font.c (load_font_index): Verify that fonts have ordered
33867 character indices.
33868 (find_glyph): Use binary search instead of linear search to find a
33869 character in a font.
33870
408305be 338712009-06-05 Michael Scherer <misc@mandriva.org>
33872
33873 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33874 uses case sensitive btree.
33875 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33876 only for case insensitive filesystems.
33877
8ee1e0d9 338782009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33881 * conf/common.rmk (search_mod_CFLAGS): likewise
33882
a9966eb1 338832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33884
473d1e45 33885 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33886 compensate a compiler bug
33887
9e7100fb 338882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33889
473d1e45 33890 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33891 instead of '\b'
473d1e45 33892
ede21d71 338932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33894
33895 Definitions for creating asm symbols with Apple's CC
33896
33897 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33898 [APPLE_CC] (VARIABLE): likewise
33899
9dbf7653 339002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33901
33902 Disable lnxboot.img when compiled
33903 with Apple's CC
33904
33905 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33906 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33907 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33908 [! APPLE_CC] (CODE_LENG): skip
33909 [! APPLE_CC] (setup_sects): likewise
33910 [! APPLE_CC]: skip filling
473d1e45 33911
e93cdc3d 339122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33913
33914 Address in trampolines based on 32-bit registers when compiled
33915 with Apple's CC
33916
473d1e45 33917 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33918 for addresses
33919 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33920
6c688477 339212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33922
33923 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33924
33925 * kern/misc.c [APPLE_CC] (memcpy): new function
33926 [APPLE_CC] (memmove): likewise
33927 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33928 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33929 (memset): likewise
33930 (abort): likewise
33931 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33932 APPLE_CC are defined
33933 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33934 (grub_assert_fail): make prototype conditional
33935
e37ffc5c 339362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33937
33938 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33939
473d1e45 33940 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33941 grub-macho2img
e37ffc5c 33942 (CLEANFILES): add grub-macho2img
33943 (grub_macho2img_SOURCES): new variable
33944 * kern/i386/pc/startup.S (bss_start): new variable
33945 (bss_end): likewise
33946 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33947 * util/grub-macho2img.c: new file
33948
cf00df31 339492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33950
33951 Use objconv when compiling with Apple's CC
33952
33953 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33954 (efiemu64.o): likewise
33955 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33956 when compiling with Apple's CC
33957 (efiemu64_s.o): likewise
33958 * configure.ac: check for objconv when compiling with Apple's CC
33959 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33960
d119a20c 339612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33962
33963 Define segment as well as section when compiling with
33964 Apple's CC
33965
33966 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33967 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33968 (efiemu_convert_pointer): likewise
33969 (efiemu_set_virtual_address_map): likewise
33970 (efiemu_convert_pointer): likewise
33971 (efiemu_getcrc32): likewise
33972 (init_crc32_table): likewise
33973 (reflect): likewise
33974 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33975 (GRUB_MOD_DEP): likewise
473d1e45 33976
c8600122 339772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33978
33979 Allow a compilation without -mcmodel=large
33980
33981 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33982 when compiled without -mcmodel=large
473d1e45 33983 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33984 without -mcmodel=large
473d1e45 33985 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33986 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33987
e8df1d4e 339882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33989
33990 Remove nested functions in efiemu core
33991
33992 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33993
cc6c3ac1 339942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33995
33996 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33997
33998 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33999 temporary storage
473d1e45 34000 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34001 using Apple's CC
cc6c3ac1 34002 (grub_cpu_is_tsc_supported): likewise
34003 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34004
3e325901 340052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34006
34007 Absolute addressing through constant with Apple's cc
34008
34009 * kern/i386/pc/startup.S: Define necessary constants
34010 and address through it when using ABS with Apple's CC
34011 * boot/i386/pc/diskboot.S: likewise
34012 * boot/i386/pc/boot.S: likewise
34013 * boot/i386/pc/lnxboot.S: likewise
34014 * boot/i386/pc/cdboot.S: likewise
34015 * mmap/i386/pc/mmap_helper.S: likewise
34016 * commands/i386/pc/drivemap_int13h.S: likewise
34017
2b167a72 340182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34019
34020 Check if compiler is apple cc
34021
34022 * Makefile.in (ASFLAGS): new variable
34023 (TARGET_ASFLAGS): likewise
34024 (TARGET_MODULE_FORMAT): likewise
34025 (TARGET_APPLE_CC): likewise
34026 (OBJCONV): likewise
34027 (TARGET_IMG_CFLAGS): likewise
34028 (TARGET_CPPFLAGS): add includedir
34029 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34030 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34031 Check for linker script only if compiler isn't Apple's CC
34032 (TARGET_MODULE_FORMAT): set
34033 (TARGET_APPLE_CC): likewise
34034 (TARGET_ASFLAGS): likewise
34035 (ASFLAGS): likewise
34036 Check for objcopy only if compiler isn't Apple's CC
34037 Check for BSS symbol only if compiler isn't Apple's CC
34038 * genmk.rb: adapt nm options if we use Apple's utils
34039 * aclocal.m4 (grub_apple_cc): new test
34040 (grub_apple_target_cc): likewise
473d1e45 34041
fb14123e 340422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34043
34044 Simplify sed expressions and improve awk
34045
34046 * Makefile.in (install-local): simplify sed expression
34047 * gencmdlist.sh: likewise
34048 * genmoddep.awk: avoid adding module as a dependency of itself
34049
5b889789 340502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34051
34052 Add missing start symbols
34053
34054 * boot/i386/pc/boot.S: add start
fb14123e 34055 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34056
fd2bf2e3 340572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34058
34059 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34060
34061 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34062 (relocate_addresses): consider both r_addend and value at offset
34063 (make_mods_section): zerofill modinfo and header
34064 (convert_elf): write prefix here
473d1e45 34065
5389763d 340662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34067
34068 Use .asciz instead of .string
34069
34070 * i386/pc/diskboot.S: use .asciz instead of .string
34071 * i386/pc/boot.S: likewise
34072 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34073 (GRUB_MOD_NAME): likewise
473d1e45 34074
3eb5ed4e 340752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34076
34077 gfxpayload support
34078
34079 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34080 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34081 (grub_video_setup): remove
34082 (grub_video_set_mode): new prototype
34083 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34084 (vid_mode): remove
34085 (linux_vesafb_res): compile only on PCBIOS
34086 (grub_linux_boot): support gfxpayload
34087 * loader/i386/pc/xnu.c (video_hook): new function
34088 (grub_xnu_set_video): support gfxpayload
34089 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34090 (DEFAULT_VIDEO_HEIGHT): likewise
34091 (DEFAULT_VIDEO_FLAGS): likewise
34092 (DEFAULT_VIDEO_MODE): new definition
34093 (video_hook): new function
34094 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34095 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34096 loading xnu
34097 * video/video.c (grub_video_setup): removed
473d1e45 34098 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34099 grub_video_setup
34100
4b0e1143 341012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34102
34103 Avoid calling biosdisk in drivemap
34104
34105 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34106 (revparse_biosdisk): likewise
34107 (list_mappings): derive name from id directly
34108 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34109
fda6cb98 341102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34111
34112 Script fixes
34113
34114 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34115 (grub_lexer_param): add tokenonhold
34116 (grub_script_create_cmdline): remove cmdline. All callers updated
34117 (grub_script_function_create): make functionname
34118 grub_script_arg. All callers updated
34119 (grub_script_execute_argument_to_string): new prototype
34120 * kern/parser.c (state_transitions): reorder
34121 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34122 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34123 make global
34124 (grub_script_execute_cmdline): use new format
34125 * script/sh/function.c (grub_script_function_create): make functionname
34126 grub_script_arg. All callers updated
473d1e45 34127 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34128 (grub_script_yylex): remove
34129 (grub_script_yylex2): renamed to ...
34130 (grub_script_yylex): ...renamed
34131 parse the expressions like a${b}c
34132 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34133 (GRUB_PARSER_TOKEN_VAR): remove
34134 (GRUB_PARSER_TOKEN_NAME): likewise
34135 ("if"): declare as typeless
34136 ("while"): likewise
34137 ("function"): likewise
34138 ("else"): likewise
34139 ("then"): likewise
34140 ("fi"): likewise
34141 (text): remove
34142 (argument): likewise
34143 (script): accept empty scripts and make exit on error
34144 (arguments): use GRUB_PARSER_TOKEN_ARG
34145 (function): likewise
34146 (command): move error handling to script
34147 (menuentry): move grub_script_lexer_ref before
473d1e45 34148 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34149 argument. All callers updated
34150
f4448a07 341512009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34152
34153 Prevent GRUB from probing floppies during boot.
34154
34155 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34156 * commands/search.c (options): Add --no-floppy.
34157 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34158 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34159 --no-floppy when searching for UUIDs.
34160
2bf5885a 341612009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34162
34163 Simplify the code duplication in commands/search.c.
34164
34165 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34166 (search_fs): ... this. Update all users.
34167
f6fd460a 341682009-06-03 Felix Zielcke <fzielcke@z-51.de>
34169
34170 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34171
cbb3c83e 341722009-05-28 Pavel Roskin <proski@gnu.org>
34173
57788cfd 34174 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34175 Remove the original symlink explicitly.
34176
cbb3c83e 34177 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34178 just one slash. That's how grub_fshelp_find_file() does it.
34179
cd0d5e30 341802009-05-26 Pavel Roskin <proski@gnu.org>
34181
f0f8bbe2 34182 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34183 to `str'.
34184
cd0d5e30 34185 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34186 possibly unused.
34187
8c2cab51 341882009-05-25 Christian Franke <franke@computer.org>
34189
34190 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34191 register.
34192 (grub_atapi_identify): Add wait after drive select.
34193 (grub_ata_identify): Do more strict status register check before
34194 calling grub_atapi_identify (). Suppress error message if status
34195 register is 0x00 after command failure. Add status register
34196 check after PIO read to avoid bogus identify due to stuck DRQ.
34197 Thanks to Pavel Roskin for testing.
34198 (grub_device_initialize): Remove unsafe status register check.
34199 Thanks to 'phcoder' for problem report and patch.
34200 Prevent sign extension in debug message.
34201
230c0ad6 342022009-05-23 Colin D Bennett <colin@gibibit.com>
34203
34204 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34205 definition file, and functions defined in `normal/menu.c' have had
34206 their prototypes moved to `include/grub/menu.h' for consistency.
34207
34208 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34209 from normal.h.
34210 (grub_menu_get_entry): Likewise.
34211 (grub_menu_get_timeout): Likewise.
34212 (grub_menu_set_timeout): Likewise.
34213 (grub_menu_execute_entry): Likewise.
34214 (grub_menu_execute_with_fallback): Likewise.
34215 (grub_menu_entry_run): Likewise.
34216
34217 * include/grub/normal.h: Re-ordered and grouped function
34218 prototypes by file that the function is defined in.
34219 (grub_menu_execute_callback): Removed; moved to menu.h.
34220 (grub_menu_get_entry): Likewise.
34221 (grub_menu_get_timeout): Likewise.
34222 (grub_menu_set_timeout): Likewise.
34223 (grub_menu_execute_entry): Likewise.
34224 (grub_menu_execute_with_fallback): Likewise.
34225 (grub_menu_entry_run): Likewise.
34226 (grub_menu_addentry): Renamed from this ...
34227 (grub_normal_add_menu_entry): ... to this.
34228
34229 * normal/main.c (grub_menu_addentry): Renamed from this ...
34230 (grub_normal_add_menu_entry): ... to this.
34231
34232 * script/sh/execute.c (grub_script_execute_menuentry): Update
34233 reference to renamed grub_menu_addentry function.
34234
861f03a5 342352009-05-23 Felix Zielcke <fzielcke@z-51.de>
34236
34237 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34238
96b1619a 342392009-05-22 Pavel Roskin <proski@gnu.org>
34240
bf6a5fb2 34241 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34242 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34243 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34244 compiling for the i386 targets, but not for the utilities.
34245
96b1619a 34246 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34247 to grub_uint8_t.
34248 (grub_root_drive): Likewise.
34249 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34250 remove alignment.
34251 (grub_root_drive): Change size to byte.
34252 (grub_start_addr): Remove.
34253 (grub_end_addr): Likewise.
34254 (grub_apm_bios_info): Likewise.
34255
b729776b 342562009-05-21 Felix Zielcke <fzielcke@z-51.de>
34257
34258 * normal/i386: Remove.
34259 * normal/powerpc: Likewise.
34260 * normal/sparc64: Likewise.
34261 * normal/x86_64: Likewise.
34262
0a15ce80 342632009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34264
34265 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34266 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34267 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34268
33db9015 342692009-05-18 Colin D Bennett <colin@gibibit.com>
34270
d6da58e6 34271 Display error messages when parsing a Lua statement fails.
34272 Previously, executing a syntactically invalid statement like
34273 ")foo" or "bar;" would silently fail.
33db9015 34274
34275 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34276 (grub_lua_parse_line): Improved reporting of Lua parser and
34277 execution errors.
33db9015 34278
46422c89 342792009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34280
34281 Remove -Werror which causes build to fail on some systems
34282
34283 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34284 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34285 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34286
22f53a96 342872009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34288
34289 trampoline for linux on 64-bit platform
34290
18f547ad 34291 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34292 loader/i386/efi/linux_trampoline.S
34293 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34294 declaration
d6da58e6 34295 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34296 here
22f53a96 34297 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34298 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34299 trampoline
22f53a96 34300 (jumpvector): removed
34301 (grub_linux_trampoline_start): new declaration
34302 (grub_linux_trampoline_end): likewise
34303 (grub_linux_boot): use trampoline when on 64-bit platform
34304 * loader/i386/linux.c: likewise
34305
cb5a0f40 343062009-05-16 Pavel Roskin <proski@gnu.org>
34307
34308 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34309 const to avoid a warning.
34310 (grub_lua_setenv): Likewise.
34311 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34312 lmsg to fix a warning.
34313
334f2c28 343142009-05-16 Felix Zielcke <fzielcke@z-51.de>
34315
34316 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34317 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34318 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34319 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34320 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34321 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34322 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34323 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34324
59e5d3ec 343252009-05-16 Felix Zielcke <fzielcke@z-51.de>
34326
34327 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34328
9d87a1ba 343292009-05-16 Bean <bean123ch@gmail.com>
34330
34331 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34332 (lua_mod_SOURCES): New variable.
34333 (lua_mod_CFLAGS): Likewise.
34334 (lua_mod_LDFLAGS): Likewise.
34335
34336 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34337 (setjmp_mod_SOURCES): New variable.
34338 (setjmp_mod_CFLAGS): Likewise.
34339 (setjmp_LDFLAGS): Likewise.
34340
34341 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34342 (setjmp_mod_SOURCES): New variable.
34343 (setjmp_mod_CFLAGS): Likewise.
34344 (setjmp_LDFLAGS): Likewise.
34345
34346 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34347 (setjmp_mod_SOURCES): New variable.
34348 (setjmp_mod_CFLAGS): Likewise.
34349 (setjmp_LDFLAGS): Likewise.
34350
34351 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34352 (setjmp_mod_SOURCES): New variable.
34353 (setjmp_mod_CFLAGS): Likewise.
34354 (setjmp_LDFLAGS): Likewise.
34355
34356 * normal/i386/setjmp.S: Moved from here ...
34357 * lib/i386/setjmp.S: ... Moved here
34358 * normal/x86_64/setjmp.S: Moved from here ...
34359 * lib/x86_64/setjmp.S: ... Moved here
34360 * normal/powerpc/setjmp.S: Moved from here ...
34361 * lib/powerpc/setjmp.S: ... Moved here
34362 * normal/sparc64/setjmp.S: Moved from here ...
34363 * lib/sparc64/setjmp.S: ... Moved here
34364
34365 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34366 returns_twice in mingw.
34367
34368 * script/lua/grub_lib.c: New file.
34369 * script/lua/grub_lib.h: Likewise.
34370 * script/lua/grub_lua.h: Likewise.
34371 * script/lua/grub_main.c: Likewise.
34372 * script/lua/lapi.c: Likewise.
34373 * script/lua/lapi.h: Likewise.
34374 * script/lua/lauxlib.c: Likewise.
34375 * script/lua/lauxlib.h: Likewise.
34376 * script/lua/lbaselib.c: Likewise.
34377 * script/lua/lcode.c: Likewise.
34378 * script/lua/lcode.h: Likewise.
34379 * script/lua/ldblib.c: Likewise.
34380 * script/lua/ldebug.c: Likewise.
34381 * script/lua/ldebug.h: Likewise.
34382 * script/lua/ldo.c: Likewise.
34383 * script/lua/ldo.h: Likewise.
34384 * script/lua/ldump.c: Likewise.
34385 * script/lua/lfunc.c: Likewise.
34386 * script/lua/lfunc.h: Likewise.
34387 * script/lua/lgc.c: Likewise.
34388 * script/lua/lgc.h: Likewise.
34389 * script/lua/linit.c: Likewise.
34390 * script/lua/liolib.c: Likewise.
34391 * script/lua/llex.c: Likewise.
34392 * script/lua/llex.h: Likewise.
34393 * script/lua/llimits.h: Likewise.
34394 * script/lua/lmathlib.c: Likewise.
34395 * script/lua/lmem.c: Likewise.
34396 * script/lua/lmem.h: Likewise.
34397 * script/lua/loadlib.c: Likewise.
34398 * script/lua/lobject.c: Likewise.
34399 * script/lua/lobject.h: Likewise.
34400 * script/lua/lopcodes.c: Likewise.
34401 * script/lua/lopcodes.h: Likewise.
34402 * script/lua/loslib.c: Likewise.
34403 * script/lua/lparser.c: Likewise.
34404 * script/lua/lparser.h: Likewise.
34405 * script/lua/lstate.c: Likewise.
34406 * script/lua/lstate.h: Likewise.
34407 * script/lua/lstring.c: Likewise.
34408 * script/lua/lstring.h: Likewise.
34409 * script/lua/lstrlib.c: Likewise.
34410 * script/lua/ltable.c: Likewise.
34411 * script/lua/ltable.h: Likewise.
34412 * script/lua/ltablib.c: Likewise.
34413 * script/lua/ltm.c: Likewise.
34414 * script/lua/ltm.h: Likewise.
34415 * script/lua/lua.h: Likewise.
34416 * script/lua/luaconf.h: Likewise.
34417 * script/lua/lualib.h: Likewise.
34418 * script/lua/lundump.c: Likewise.
34419 * script/lua/lundump.h: Likewise.
34420 * script/lua/lvm.c: Likewise.
34421 * script/lua/lvm.h: Likewise.
34422 * script/lua/lzio.c: Likewise.
34423 * script/lua/lzio.h: Likewise.
34424
5e898c9d 344252009-05-16 Bean <bean123ch@gmail.com>
34426
34427 * include/grub/kernel.h (grub_module_header_types): Add type
34428 OBJ_TYPE_CONFIG.
34429
34430 * kern/main.c (grub_load_config): New function.
34431 (grub_main): Call grub_load_config to read boot config.
34432
34433 * grub-mkimage (generate_image): New parameter config_path.
34434 (options): New option --config.
34435 (main): Parse --config option, and pass it to generate_image.
34436
cf353a47 344372009-05-14 Christian Franke <franke@computer.org>
34438
34439 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34440 This fixes build on Cygwin.
34441
3834887f 344422009-05-14 Pavel Roskin <proski@gnu.org>
34443
34444 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34445 jump. This saves two bytes, so the typical case of 2 swapped
34446 drives would fit 32 bytes.
34447
8090fc01 344482009-05-13 Pavel Roskin <proski@gnu.org>
34449
ac963883 34450 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34451 grub_uint32_t to avoid a warning.
34452
8090fc01 34453 * loader/i386/linux.c (allocate_pages): When assigning
34454 real_mode_mem, cast through grub_size_t to fix a warning. The
34455 code already makes sure that the value would fit a pointer.
34456 (grub_linux_setup_video): Cast render_target->data to
34457 grub_size_t to fix a warning.
34458
18f547ad 344592009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34460
34461 * commands/i386/pc/drivemap.c: New file - implement drivemap
34462 command.
34463 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34464 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34465
6f6a8b28 344662009-05-13 Pavel Roskin <proski@gnu.org>
34467
34468 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34469 embedding_area_exists.
34470
15fbf4c4 344712009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34472
34473 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34474 it easier to understand / work with.
59978c8a 34475 Improve warning messages for cases where there's no embedding area,
34476 or when it is too small (or core.img too large).
15fbf4c4 34477
238e871f 344782009-05-13 Pavel Roskin <proski@gnu.org>
34479
0ab3a9a4 34480 * loader/i386/pc/multiboot2.c: Add necessary includes for
34481 grub_multiboot2_real_boot().
34482
a2c8c5f8 34483 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34484 PX record is always little-endian. We only need the lower 2
34485 bytes of the mode.
34486
faec96af 34487 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34488 facilitate code reuse.
34489 (grub_cpio_mount): Use "struct head", not a char buffer. This
34490 fixes a warning reported by gcc 4.4.
34491
238e871f 34492 * kernel/disk.c (grub_disk_read): Use void pointer for the
34493 buffer.
34494 (grub_disk_write): Use const void pointer for the buffer.
34495 Adjust all callers. Remove unnecessary casts.
34496
901d2f0c 344972009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * util/i386/pc/grub-install.in: Update copyright year.
34500
18f547ad 345012009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34502
34503 gptsync
34504
34505 * commands/gptsync.c: new file
34506 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34507 (gptsync_mod_SOURCES): new variable
34508 (gptsync_mod_CFLAGS): likewise
34509 (gptsync_mod_LDFLAGS): likewise
18f547ad 34510 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34511 new definition
34512 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34514 * conf/i386-ieee1275.rmk: likewise
34515 * conf/i386-pc.rmk: likewise
34516 * conf/powerpc-ieee1275.rmk: likewise
34517
b4ba690a 345182009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34519
34520 Fixed grub-emu
34521
34522 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34523 (grub_dl_ref): likewise
34524
317e1a44 345252009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34526
34527 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34528 split in two functions (one for msdos and one for gpt).
34529
041b8094 345302009-05-08 Pavel Roskin <proski@gnu.org>
34531
752473c2 34532 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34533 not modified.
34534
041b8094 34535 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34536 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34537 Initialize them with -1. Add sanity check for bad1. Eliminate
34538 nerr variable.
34539
172800ce 345402009-05-08 David S. Miller <davem@davemloft.net>
34541
34542 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34543
29aa5e81 345442009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34545
34546 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34547 existence.
29aa5e81 34548
96613b62 345492009-05-05 Felix Zielcke <fzielcke@z-51.de>
34550
34551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34552 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34553
eef73c8a 345542009-05-05 David S. Miller <davem@davemloft.net>
34555
34556 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34557
119494b5 345582009-05-05 Pavel Roskin <proski@gnu.org>
34559
34560 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34561 of grub_dl_ref() and grub_dl_unref().
34562 * commands/parttool.c: Remove preprocessor conditionals around
34563 grub_dl_ref() and grub_dl_unref().
34564 * fs/affs.c: Likewise.
34565 * fs/afs.c: Likewise.
34566 * fs/cpio.c: Likewise.
34567 * fs/ext2.c: Likewise.
34568 * fs/fat.c: Likewise.
34569 * fs/hfs.c: Likewise.
34570 * fs/hfsplus.c: Likewise.
34571 * fs/iso9660.c: Likewise.
34572 * fs/jfs.c: Likewise.
34573 * fs/minix.c: Likewise.
34574 * fs/ntfs.c: Likewise.
34575 * fs/reiserfs.c: Likewise.
34576 * fs/sfs.c: Likewise.
34577 * fs/udf.c: Likewise.
34578 * fs/ufs.c: Likewise.
34579 * fs/xfs.c: Likewise.
34580 * include/grub/dl.h: Likewise.
34581 * loader/xnu.c: Likewise.
34582
de5fd76e 345832009-05-04 Pavel Roskin <proski@gnu.org>
34584
34585 * commands/acpi.c: Remove unused variable my_mod.
34586 * partmap/amiga.c: Likewise.
34587 * partmap/apple.c: Likewise.
34588 * partmap/gpt.c: Likewise.
34589 * partmap/pc.c: Likewise.
34590 * partmap/sun.c: Likewise.
34591 * term/gfxterm.c: Likewise.
34592 * term/i386/pc/vesafb.c: Likewise.
34593 * term/i386/pc/vga.c: Likewise.
34594
983598ad 345952009-05-04 David S. Miller <davem@davemloft.net>
34596
34597 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34598 pointer args to grub_ieee1275_get_property().
34599
8aadec43 34600 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34601
9554b15e 34602 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34603 devices, and do not traverse down under controller nodes.
34604
67e23c90 34605 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34606 (grub_ofdisk_open): Use it to un-escape "," characters.
34607 * kern/disk.c (find_part_sep): New.
34608 (grub_disk_open): Use it to find the first non-escaped ','
34609 character in the disk name.
34610 * util/ieee1275/devicemap.c (escape_of_path): New.
34611 (grub_util_emit_devicemap_entry): Use it.
34612 * util/sparc64/ieee1275/grub-install.in: Update script to
34613 strip partition specifiers properly by not triggering on
34614 '\' escaped ',' characters.
34615
74bfdd2f 346162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34617
34618 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34619 to 0x300.
34620 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34621 resolutions.
34622 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34623 on documentation from Wikipedia).
34624
4241d2b1 346252009-05-04 Pavel Roskin <proski@gnu.org>
34626
34627 * disk/ata.c: Spelling fixes.
34628 * disk/raid.c: Likewise.
34629 * disk/usbms.c: Likewise.
34630 * disk/dmraid_nvidia.c: Likewise.
34631 * kern/ieee1275/openfw.c: Likewise.
34632 * kern/ieee1275/init.c: Likewise.
34633 * kern/ieee1275/cmain.c: Likewise.
34634 * boot/i386/pc/cdboot.S: Likewise.
34635 * video/readers/png.c: Likewise.
34636 * video/i386/pc/vbe.c: Likewise.
34637 * fs/udf.c: Likewise.
34638 * fs/hfs.c: Likewise.
34639 * fs/reiserfs.c: Likewise.
34640 * efiemu/runtime/efiemu.c: Likewise.
34641 * efiemu/main.c: Likewise.
34642 * efiemu/mm.c: Likewise.
34643 * include/grub/elf.h: Likewise.
34644 * include/grub/xnu.h: Likewise.
34645 * include/grub/usbdesc.h: Likewise.
34646 * include/grub/usb.h: Likewise.
34647 * include/grub/script_sh.h: Likewise.
34648 * include/grub/lib/LzmaEnc.h: Likewise.
34649 * include/grub/efiemu/efiemu.h: Likewise.
34650 * include/grub/command.h: Likewise.
34651 * normal/menu.c: Likewise.
34652 * normal/main.c: Likewise.
34653 * normal/datetime.c: Likewise.
34654 * bus/usb/uhci.c: Likewise.
34655 * mmap/i386/uppermem.c: Likewise.
34656 * mmap/mmap.c: Likewise.
34657 * commands/acpi.c: Likewise.
34658 * commands/test.c: Likewise.
34659 * partmap/apple.c: Likewise.
34660 * font/font.c: Likewise.
34661 * loader/sparc64/ieee1275/linux.c: Likewise.
34662 * loader/macho.c: Likewise.
34663 * loader/i386/bsd_trampoline.S: Likewise.
34664 * loader/i386/bsd.c: Likewise.
34665 * loader/xnu.c: Likewise.
34666 * term/i386/pc/vesafb.c: Likewise.
34667 * term/usb_keyboard.c: Likewise.
34668 * util/resolve.c: Likewise.
34669 * util/getroot.c: Likewise.
34670
0cfc0083 346712009-05-04 Felix Zielcke <fzielcke@z-51.de>
34672
34673 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34674
7c1d00cd 346752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34676
34677 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34678 build error.
34679
b01f0548 346802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34681
34682 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34683 parameter only available on BIOS.
34684
ecc3eb22 346852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34686
34687 Removed wrong semicolon in declaration
34688
34689 * grub/misc.h (grub_dprintf): remove semicolon
34690
112972a9 346912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34692
34693 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34694 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34695 is done by grub_cmd_linux() now).
34696 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34697 restore video to text mode.
34698 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34699 indicates lack of "vga=" parameter. "vga=0" is mapped to
34700 `GRUB_LINUX_VID_MODE_NORMAL'.
34701
afd5c115 347022009-05-04 Felix Zielcke <fzielcke@z-51.de>
34703
34704 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34705 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34706 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34707 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34708 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34709 `grub_script.tab.c'.
34710
34711 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34712 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34714 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34715 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34716
faa517ce 34717 * Makefile.in: Remove duplicated 2008 in Copyright line.
34718
ae0c0bdc 347192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34720
473d1e45 34721 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34722 unconditionally.
34723 * include/grub/util/misc.h (grub_util_warn): New declaration.
34724
34725 * util/i386/pc/grub-install.in: Understand --force and pass it down
34726 to grub-setup.
34727
34728 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34729 down to setup().
34730 (setup): Improve error messages and add warnings when requested to
34731 install in odd layouts. Refuse to install using blocklists unless
34732 --force was set.
34733
18f547ad 347342009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34735
34736 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34737
6d260daa 347382009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34739
34740 Updated copyright year
34741
34742 * fs/hfsplus.c: updated copyright year
18f547ad 34743
69f853f8 347442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34745
34746 HFS+ UUID
34747
18f547ad 34748 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34749 in the space previously used by unused3
34750 (grub_hfsplus_uuid): new function
34751 (grub_hfsplus_fs): added uuid field
34752
4c402e73 347532009-05-03 Pavel Roskin <proski@gnu.org>
34754
34755 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34756 suppress warnings. It's no longer needed.
34757 * disk/host.c: Likewise.
34758 * disk/ata_pthru.c: Likewise.
34759 * disk/loopback.c: Likewise.
34760 * hook/datehook.c: Likewise.
34761 * parttool/pcpart.c: Likewise.
34762 * fs/i386/pc/pxe.c: Likewise.
34763 * fs/ntfscomp.c: Likewise.
34764 * efiemu/main.c: Likewise.
34765 * mmap/mmap.c: Likewise.
34766 * commands/crc.c: Likewise.
34767 * commands/hexdump.c: Likewise.
34768 * commands/hdparm.c: Likewise.
34769 * commands/acpi.c: Likewise.
34770 * commands/echo.c: Likewise.
34771 * commands/minicmd.c: Likewise.
34772 * commands/blocklist.c: Likewise.
34773 * commands/memrw.c: Likewise.
34774 * commands/loadenv.c: Likewise.
34775 * commands/usbtest.c: Likewise.
34776 * commands/lsmmap.c: Likewise.
34777 * commands/boot.c: Likewise.
34778 * commands/parttool.c: Likewise.
34779 * commands/configfile.c: Likewise.
34780 * commands/search.c: Likewise.
34781 * commands/ieee1275/suspend.c: Likewise.
34782 * commands/cat.c: Likewise.
34783 * commands/i386/pc/pxecmd.c: Likewise.
34784 * commands/i386/pc/play.c: Likewise.
34785 * commands/i386/pc/halt.c: Likewise.
34786 * commands/i386/pc/vbeinfo.c: Likewise.
34787 * commands/i386/pc/vbetest.c: Likewise.
34788 * commands/lspci.c: Likewise.
34789 * commands/date.c: Likewise.
34790 * commands/handler.c: Likewise.
34791 * commands/ls.c: Likewise.
34792 * commands/test.c: Likewise.
34793 * commands/cmp.c: Likewise.
34794 * commands/efi/loadbios.c: Likewise.
34795 * commands/efi/fixvideo.c: Likewise.
34796 * commands/halt.c: Likewise.
34797 * commands/help.c: Likewise.
34798 * commands/reboot.c: Likewise.
34799 * hello/hello.c: Likewise.
34800 * script/sh/main.c: Likewise.
34801 * loader/xnu.c: Likewise.
34802 * term/terminfo.c: Likewise.
34803 * term/i386/pc/serial.c: Likewise.
34804 * term/usb_keyboard.c: Likewise.
34805
515b5079 348062009-05-03 David S. Miller <davem@davemloft.net>
34807
34808 * normal/menu.c: Include grub/parser.h
34809
dfc31a22 348102009-05-03 Pavel Roskin <proski@gnu.org>
34811
2fee74f1 34812 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34813 not char*.
34814 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34815 Suggested by Javier Martín <lordhabbit@gmail.com>
34816
dfc31a22 34817 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34818 efiemu??.o doesn't exist.
34819 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34820 copying.
34821
18f547ad 348222009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34823
34824 FreeBSD 64-bit support
34825
18f547ad 34826 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34827 and loader/i386/bsd_trampoline.S
34828 (bsd_mod_ASFLAGS): new variable
34829 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34830 (FREEBSD_MODTYPE_KERNEL64): likewise
34831 (grub_bsd64_trampoline_start): likewise
34832 (grub_bsd64_trampoline_end): likewise
34833 (grub_bsd64_trampoline_selfjump): likewise
34834 (grub_bsd64_trampoline_gdt): likewise
34835 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34836 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34837 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34838 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34839 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34840 of "attrib" member
34841 * loader/i386/bsd_pagetable.c: new file
34842 * loader/i386/bsd_trampoline.S: likewise
34843 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34844 (ALIGN_VAR): likewise
34845 (entry_hi): new variable
34846 (kern_end_mdofs): likewise
34847 (is_64bit): likewise
34848 (grub_freebsd_add_meta): use ALIGN_VAR
34849 (grub_e820_mmap): new declaration
34850 (grub_freebsd_add_mmap): new function
34851 (grub_freebsd_add_meta_module): support 64 bit kernels
34852 (grub_freebsd_list_modules): use ALIGN_VAR
34853 (gdt_descriptor): new declaration
34854 (grub_freebsd_boot): support 64 bit kernels
34855 (grub_bsd_elf64_hook): new function
34856 (grub_bsd_load_elf): support elf64
34857
038c5720 348582009-05-03 Bean <bean123ch@gmail.com>
34859
34860 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34861 after we get the result of if statement.
34862
fc45fb58 348632009-05-03 Bean <bean123ch@gmail.com>
34864
34865 * Makefile.in (enable_efiemu): New variable.
34866
34867 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34868 set.
34869 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34870 path.
34871 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34872 path, add -mno-red-zone option.
34873 (efiemu64_s.o): Likewise.
34874 (efiemu64.o): Use macro $^ for source file.
34875
34876 * configure.ac (--enable-efiemu): New option.
34877
bbee0f2b 348782009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34879
34880 xnu support
34881
34882 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34883 (pkglib_MODULES): add xnu.mod
34884 (xnu_mod_SOURCES): new variable
34885 (xnu_mod_CFLAGS): likewise
34886 (xnu_mod_LDFLAGS): likewise
34887 (xnu_mod_ASFLAGS): likewise
34888 * conf/i386-pc.rmk: likewise
34889 * conf/x86_64-efi.rmk: likewise
7dd4a573 34890 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34891 new declaration
34892 * include/grub/i386/macho.h: new file
34893 * include/grub/i386/xnu.h: likewise
34894 * include/grub/macho.h: likewise
34895 * include/grub/machoload.h: likewise
34896 * include/grub/x86_64/macho.h: likewise
34897 * include/grub/x86_64/xnu.h: likewise
34898 * include/grub/xnu.h: likewise
34899 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34900 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34901 * loader/i386/efi/xnu.c: new file
34902 * loader/i386/pc/xnu.c: likewise
34903 * loader/i386/xnu.c: likewise
34904 * loader/i386/xnu_helper.S: likewise
34905 * loader/macho.c: likewise
34906 * loader/xnu.c: likewise
34907 * loader/xnu_resume.c: likewise
34908 * util/grub-dumpdevtree: likewise
34909 * include/grub/i386/pit.h: include grub/err.h
34910 (grub_pit_wait): export
34911 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34912
5caf964d 349132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34914
34915 Efiemu
7dd4a573 34916
5caf964d 34917 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34918 _linux_efi, linux_efi.
34919 new files in grub-emu
5caf964d 34920 new targets efiemu32.o and efiemu64.o
34921 * loader/linux_normal_efiemu.c: likewise
34922 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34923 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34924 files to copy
34925 * include/grub/autoefi.h: new file
7dd4a573 34926 * include/grub/i386/efiemu.h: likewise
5caf964d 34927 * include/grub/i386/pc/efiemu.h: likewise
34928 * include/grub/efi/api.h: add LL suffix when necessary
34929 new definitions relating to tables
34930 * include/grub/efiemu/efiemu.h: new file
34931 * include/grub/efiemu/runtime.h: likewise
34932 * efiemu/prepare.c: likewise
34933 * efiemu/loadcore_common.c: likewise
34934 * efiemu/loadcore64.c: likewise
34935 * efiemu/runtime/efiemu.sh: likewise
34936 * efiemu/runtime/efiemu.S: likewise
34937 * efiemu/runtime/efiemu.c: likewise
34938 * efiemu/runtime/config.h: likewise
34939 * efiemu/prepare32.c: likewise
34940 * efiemu/main.c: likewise
34941 * efiemu/modules/pnvram.c: likewise
34942 * efiemu/modules/i386: likewise
34943 * efiemu/modules/i386/pc: likewise
34944 * efiemu/modules/acpi.c: likewise
34945 * efiemu/i386/pc/cfgtables.c: likewise
34946 * efiemu/i386/loadcore64.c: likewise
34947 * efiemu/i386/loadcore32.c: likewise
34948 * efiemu/prepare64.c: likewise
34949 * efiemu/loadcore.c: likewise
34950 * efiemu/symbols.c: likewise
34951 * efiemu/mm.c: likewise
34952 * efiemu/loadcore32.c: likewise
7dd4a573 34953
349542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34955
34956 ACPI spoofing
34957
34958 * commands/acpi.c: new file
34959 * commands/i386/pc/acpi.c: likewise
34960 * commands/efi/acpi.c: likewise
34961 * include/grub/acpi.h: likewise
34962 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34963 (acpi_mod_SOURCES): new variable
34964 (acpi_mod_CFLAGS): likewise
34965 (acpi_mod_LDFLAGS): likewise
34966 * conf/i386-efi.rmk: likewise
34967 * conf/x86_64-efi.rmk: likewise
34968
7dd4a573 349692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34970
34971 Missing part from mmap patch
34972
34973 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34974 (grub_mmap_unregister)
34975 (grub_mmap_free_and_unregister): use grub_mmap_register
34976
7dd4a573 349772009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34978
34979 Mmap services
34980
34981 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34982 * loader/i386/linux.c (find_mmap_size): likewise
34983 (allocate_pages): likewise
34984 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34985 (grub_fill_multiboot_mmap): likewise
34986 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34987 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34988 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34989 (OPENBSD_MMAP_RESERVED): likewise
34990 * include/grub/i386/pc/memory.h: include grub/memory.h
34991 (grub_lower_mem): removed
34992 (grub_upper_mem): likewise
34993 (GRUB_MACHINE_MEMORY_ACPI): new definition
34994 (GRUB_MACHINE_MEMORY_NVS): likewise
34995 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34996 (GRUB_MACHINE_MEMORY_HOLE): likewise
34997 (grub_machine_mmap_register): likewise
34998 (grub_machine_mmap_unregister): likewise
34999 (grub_machine_get_upper): likewise
35000 (grub_machine_get_lower): likewise
35001 (grub_machine_get_post64): likewise
35002 * include/grub/i386/efi/memory.h: new file
35003 * include/grub/x86_64/efi/memory.h: likewise
35004 * include/grub/efi/memory.h: likewise
35005 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35006 (mmap_mod_SOURCES): new variable
35007 (mmap_mod_LDFLAGS): likewise
35008 (mmap_mod_ASFLAGS): likewise
35009 * conf/i386-coreboot.rmk: likewise
35010 * conf/i386-ieee1275.rmk: likewise
35011 * conf/i386-efi.rmk: likewise
35012 * conf/x86_64-efi.rmk: likewise
35013 * include/grub/types.h (UINT_TO_PTR): new macro
35014 (PTR_TO_UINT32): likewise
35015 (PTR_TO_UINT64): likewise
35016 * include/grub/memory.h: new file
35017 * mmap/i386/pc/mmap.c: likewise
35018 * mmap/i386/pc/mmap_helper.S: likewise
35019 * mmap/i386/uppermem.c: likewise
35020 * mmap/mmap.c: likewise
35021 * mmap/efi/mmap.c: likewise
7dd4a573 35022 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35023 grub_upper_mem
35024 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35025 (grub_upper_mem): likewise
35026 (grub_machine_init): don't use grub_upper_mem,
35027 make grub_lower_mem local
35028 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35029 grub_mmap_iterate and grub_mmap_get_upper
35030 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35031
d558e6b5 350322009-05-02 Bean <bean123ch@gmail.com>
35033
35034 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35035 script/sh/parser.y.
35036 (pkglib_MODULES): Add normal.mod and sh.mod.
35037 (normal_SOURCES): New variable.
35038 (normal_mod_CFLAGS): Likewise.
35039 (normal_mod_LDFLAGS): Likewise.
35040 (sh_mod_SOURCES): Likewise.
35041 (sh_mod_CFLAGS): Likewise.
35042 (sh_mod_LDFLAGS): Likewise.
35043
35044 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35045 script/sh/lexer.c_DEPENDENCIES.
35046 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35047 kern/rescue_reader.c and kern/rescue_parser.c.
35048 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35049 (grub_emu_SOURCES): Change source files.
35050 (pkglib_MODULES): Remove normal.mod.
35051 (normal_SOURCES): Removed.
35052 (normal_mod_CFLAGS): Likewise.
35053 (normal_mod_LDFLAGS): Likewise.
35054 * conf/i386-coreboot.rmk: Likewise.
35055 * conf/i386-efi.rmk: Likewise.
35056 * conf/i386-ieee1276.rmk: Likewise.
35057 * conf/powerpc-ieee1275.rmk: Likewise.
35058 * conf/sparc64-ieee1275.rmk: Likewise.
35059 * conf/x86_64-efi.rmk: Likewise.
35060
35061 * include/grub/command.h (grub_command_execute): New inline function.
35062
35063 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35064
35065 * include/grub/normal.h: Remove <grub/setjmp.h>.
35066 (grub_fs_module_list): Moved to normal/autofs.c.
35067 (grub_exit_env): Removed.
35068 (grub_command_execute): Likewise.
35069 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35070 parameter script.
35071 (read_command_list): New function declaration.
35072 (read_fs_list): Likewise.
35073
35074 * include/parser.h: Include <grub/reader.h>.
35075 (grub_parser_split_cmdline): Change type of getline parameter.
35076 (grub_parser): New structure.
35077 (grub_parser_class): New variable.
35078 (grub_parser_execute): New function declaration.
35079 (grub_register_rescue_parser): Likewise.
35080 (grub_parser_register): New inline function.
35081 (grub_parser_unregister): Likewise.
35082 (grub_parser_get_current): Likewise.
35083 (grub_parser_set_current): Likewise.
35084
35085 * include/grub/reader.h: New file.
35086 * kern/reader.c: Likewise.
35087 * kern/rescue_parser.c: Likewise.
35088 * kern/rescue_reader.c: Likewise.
35089 * normal/autofs.c: Likewise.
35090 * normal/dyncmd.c: Likewise.
35091
35092 * include/grub/rescue.h: Removed.
35093 * normal/command.h: Likewise.
35094
35095 * include/grub/script.h: Moved to ...
35096 * include/grub/script_sh.h: ... Moved here.
35097 * normal/execute.c: Moved to ...
35098 * script/sh/execute.c: ... Moved here.
35099 * normal/function.c: Moved to ...
35100 * script/sh/function.c: ... Moved here.
35101 * normal/lexer.c: Moved to ...
35102 * script/sh/lexer.c: ... Moved here.
35103 * normal/parser.y: Moved to ...
35104 * script/sh/parser.y: ... Moved here.
35105 * normal/script.c: Moved to ...
35106 * script/sh/script.c: ... Moved here.
35107
35108 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35109 <grub/reader.h>.
35110 (grub_exit_env): Removed.
35111 (fs_module_list): Moved to normal/autofs.c.
35112 (grub_file_getline): Don't handle comment here.
35113 (free_menu): Skip removed field entry->commands.
35114 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35115 script parameter.
35116 (read_config_file): Removed nested parameter, change getline function.
35117 (grub_enter_normal_mode): Removed.
35118 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35119 (read_command_list): Likewise.
35120 (autoload_fs_module): Moved to normal/autofs.c.
35121 (read_fs_list): Likewise.
35122 (reader_nested): New variable.
35123 (grub_normal_execute): Run parser.sh to switch to sh parser.
35124 (grub_cmd_rescue): Removed.
35125 (cmd_normal): Removed.
35126 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35127 rescue command.
35128 (grub_cmdline_run): New function.
35129 (grub_normal_reader_init): Likewise.
35130 (grub_normal_read_line): Likewise.
35131 (grub_env_write_pager): Likewise.
35132 (cmdline): New variable.
35133 (grub_normal_reader): Likewise.
35134 (GRUB_MOD_INIT): Register normal reader and set as current, register
35135 pager hook, register normal command with grub_register_command_prio,
35136 so that it won't show up in command.lst.
35137 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35138 grub_fs_autoload_hook.
35139
35140 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35141 (grub_menu_execute_entry): Replace grub_script_execute with
35142 grub_parser_execute, change parameter to grub_command_execute.
35143
35144 * normal/menu_text.c: Remove <grub/script.h>.
35145
35146 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35147 and <grub/parser.h>.
35148 (run): Change editor_getline to use new parser interface. Change
35149 parameter to grub_command_execute.
35150
35151 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35152 <grub/reader.h> and <grub/parser.h>.
35153 (grub_load_normal_mode): Execute normal command.
35154 (grub_main): Call grub_register_core_commands,
35155 grub_register_rescue_parser and grub_register_rescue_reader, use
35156 grub_reader_loop to enter input loop.
35157
7dd4a573 35158 * kern/parser.c (grub_parser_split_cmdline): Change type of
35159 getline parameter.
d558e6b5 35160 (grub_parser_class): New variable.
35161 (grub_parser_execute): New function.
35162
35163 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35164 * loader/multiboot2.c: Likewise.
35165 * loader/sparc64/ieee1275/linux.c: Likewise.
35166
35167 * util/grub-emu.c (read_command_list): New dummy function.
35168
18db813d 351692009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35170
35171 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35172 count to 16 for CCISS and IDA.
35173
6c67de15 351742009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35175
35176 * normal/menu_text.c (grub_wait_after_message): Print a newline
35177 after waiting for user input.
35178
35179 * loader/i386/linux.c: Include `<grub/normal.h>'.
35180 (grub_cmd_linux): Improve the error message about `ask' mode, by
35181 waiting for user input so it's not missed (we can do this, since
35182 user requested interaction).
35183
d9dc87b0 351842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35185
35186 Added missing lst to grub-mkrescue
35187
35188 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35189 and ${input_dir}/parttool.lst
35190
ac8a2baa 351912009-04-30 David S. Miller <davem@davemloft.net>
35192
ad22a610 35193 * util/hostdisk.c (device_is_wholedisk): New function.
35194 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35195 zero only if device_is_wholedisk() returns true.
35196
6966215d 35197 * util/hostdisk.c (convert_system_partition_to_system_disk):
35198 Handle virtual disk devices named /dev/vdiskX as found on sparc
35199 and powerpc.
35200
ac8a2baa 35201 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35202 lettered partition specifier is found, convert to numbered.
35203
979b4fb4 352042009-04-29 David S. Miller <davem@davemloft.net>
35205
e2bf39b2 35206 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35207 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35208
3c64e104 35209 * normal/command.c: Add missing newline at end of file.
35210
979b4fb4 35211 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35212 warnings.
35213 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35214 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35215 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35216 ihandles have a 32-bit type but need to be stored in a "void *".
35217
136d9f82 352182009-04-28 Pavel Roskin <proski@gnu.org>
35219
9459c306 35220 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35221 not disk. Adjust all dependencies.
2e08a26a 35222 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35223 grub_disk_close().
35224
136d9f82 35225 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35226 parent's partition, don't copy it by reference, as it gets freed
35227 on close.
35228
7dd4a573 352292009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35230
35231 Preboot hooks support
35232
35233 * commands/boot.c (struct grub_preboot_t): new declaration
35234 (preboots_head): new variable
35235 (preboots_tail): likewise
35236 (grub_loader_register_preboot_hook): new function
35237 (grub_loader_unregister_preboot_hook): likewise
35238 (grub_loader_set): launch preboot hooks
35239 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35240 (grub_loader_register_preboot_hook): new declaration
35241 (grub_loader_unregister_preboot_hook): likewise
35242
5af922b5 352432009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35244
35245 Warning fix
35246
7dd4a573 35247 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35248 calling grub_dprintf
35249
a5562c30 352502009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35251
35252 Bug and warning fixes
35253
7dd4a573 35254 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35255 declaration
35256 * commands/test.c (test_parse): fixed bug with file tests and corrected
35257 declaration of find_file
35258
4006f85c 352592009-04-26 Pavel Roskin <proski@gnu.org>
35260
35261 * Makefile.in: Don't install empty manual pages if help2man is
35262 missing. Use help2man option for output, not shell redirection.
35263
5c77c3de 352642009-04-26 David S. Miller <davem@davemloft.net>
35265
35266 * util/grub-mkdevicemap.c (make_device_map): Add missing
35267 NESTED_FUNC_ATTR to process_device().
35268
033b10a8 352692009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35270
35271 Test command
35272
35273 * commands/test.c: rewritten to use bash-like test
35274
e4343593 352752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35276
35277 Parttool autoloading and improvements
35278
7dd4a573 35279 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35280 (parttool.lst): new target
35281 * genmk.rb: generate parttool-*
35282 (CLEANFILES): add #{parttool}
35283 (PARTTOOLFILES): new variable
35284 * genparttoollist.sh: new file
7dd4a573 35285 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35286 (grub_pcpart_type): likewise
35287 * commands/parttool.c (helpmsg): new variable
35288 (grub_cmd_parttool): output help if not enough arguments are supplied
35289 autoload modules
35290 (GRUB_MOD_INIT(parttool)): use helpmsg
35291
0d312500 352922009-04-24 David S. Miller <davem@davemloft.net>
35293
7dd4a573 35294 Avoiding opening same device multiple times in device iterator.
0d312500 35295
35296 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35297 and use it to build a list of partitions in iterate_disk() and
0d312500 35298 iterate_partition().
35299
ac20caff 35300 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35301 on disk->data.
35302
0dcf7495 35303 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35304 grub_devalias_iterate() result instead of unconditional 0.
35305 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35306 Also, capture hook return value, either directly or via
35307 grub_children_iterate(), and propagate to caller.
35308 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35309 grub_children_iterate): Return value is now 'int' instead of
35310 'grub_err_t'.
35311 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35312 like a proper iterator, stopping when hooks return non-zero.
35313 (grub_devalias_iterate): Likewise.
35314
c8c08833 353152009-04-23 David S. Miller <davem@davemloft.net>
35316
35317 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35318
f01005a8 353192009-04-22 David S. Miller <davem@davemloft.net>
35320
35321 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35322 is larger than address_cells, use that value for address_cells too.
35323
4e8269da 35324 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35325 IEEE1275_MAX_PATH_LEN): Define.
35326 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35327 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35328 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35329 'devtype'. Explicitly NULL terminate devalias expansion.
35330
a1447506 35331 * util/sparc64/ieee1275/misc.c: New file.
35332 * util/sparc64/ieee1275/grub-setup.c: New file.
35333 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35334 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35335 * util/sparc64/ieee1275/grub-install.in: New file.
35336 * util/ieee1275/ofpath.c: New file.
35337 * util/ieee1275/devicemap.c: New file.
35338 * util/devicemap.c: New file.
35339 * util/deviceiter.c: New file.
35340 * kern/sparc64/ieee1275/init.c: New file.
35341 * include/grub/util/ofpath.h: New file.
35342 * include/grub/util/deviceiter.h: New file.
35343 * util/grub-mkdevicemap.c: Include deviceiter.h.
35344 Implement using grub_util_emit_devicemap_entry and
35345 grub_util_iterate_devices.
35346 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35347 util/devicemap.c into grub-mkdevicemap
35348 * conf/i386-efi.rmk: Likewise.
35349 * conf/i386-ieee1275.rmk: Likewise.
35350 * conf/i386-pc.rmk: Likewise.
35351 * conf/powerpc-ieee1275.rmk: Likewise.
35352 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35353 images and installation utilities. Build kernel as image
35354 instead of as elf binary. Use common rules as much as possible.
35355
7dd4a573 353562009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35357
35358 Correct GPT definition
35359
7dd4a573 35360 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35361 of "attrib" member
35362
c6c5219f 353632009-04-19 Felix Zielcke <fzielcke@z-51.de>
35364
35365 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35366
0552ff9f 353672009-04-19 David S. Miller <davem@davemloft.net>
35368
35369 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35370 (grub_rescue_cmd_linux): Rename to...
35371 (grub_cmd_linux): and fix prototype.
35372 (grub_rescue_cmd_initrd): Rename to...
35373 (grub_cmd_initrd): and fix prototype.
35374 (cmd_linux, cmd_initrd): New.
35375 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35376 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35377
d1a282fc 353782009-04-17 Pavel Roskin <proski@gnu.org>
35379
07c5039f 35380 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35381 format.
35382 (grub_ohci_transfer): Likewise.
35383
b012002d 35384 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35385
1bc09c35 35386 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35387 return without a value. Fix inconsistent indentation.
35388
e0ff9126 35389 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35390 match struct grub_fs.
35391
d1a282fc 35392 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35393 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35394 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35395 * commands/lspci.c (grub_lspci_iter): Likewise.
35396
a96df3f2 353972009-04-16 Bean <bean123ch@gmail.com>
35398
35399 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35400 value.
35401
41bb0fe9 354022009-04-15 Pavel Roskin <proski@gnu.org>
35403
35404 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35405 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35406 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35407 definitions.
35408
596c6970 354092009-04-15 Felix Zielcke <fzielcke@z-51.de>
35410
35411 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35412 that no multiple data or metadata areas are supported and `Unknown
596c6970 35413 metadata header'.
35414
7dd4a573 354152009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35416
35417 Move loader out of the kernel
35418
35419 * kern/loader.c: moved to ...
35420 * commands/boot.c: ... moved here
35421 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35422 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35423 * include/grub/kernel.h (grub_machine_fini): export
35424 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35425 (grub_loader_set): likewise
35426 (grub_loader_unset): likewise
35427 (grub_loader_boot): likewise
35428 * conf/common.rmk: new module boot.mod
35429 (pkglib_MODULES): add boot.mod
35430 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35431 (grub_emu_SOURCES): likewise
35432 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35433 (grub_emu_SOURCES): likewise
35434 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35435 (grub_emu_SOURCES): likewise
35436 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35437 (grub_emu_SOURCES): likewise
35438 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35439 (grub_emu_SOURCES): likewise
7dd4a573 35440 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35441 (grub_emu_SOURCES): likewise
0d5d5653 35442 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35443 (grub_emu_SOURCES): likewise
0d5d5653 35444
7dd4a573 354452009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35446
35447 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35448
5999d619 35449 * kern/misc.c (grub_itoa): Removed function
35450 (grub_ltoa): likewise
35451 (grub_vsprintf): use grub_lltoa
35452
7dd4a573 354532009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35454
35455 Restore grub-emu
35456
35457 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35458 * conf/i386-coreboot.rmk: likewise
35459 * conf/i386-ieee1275.rmk: likewise
35460 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35461
20318222 354622009-04-15 Felix Zielcke <fzielcke@z-51.de>
35463
35464 * INSTALL: Add that `./autogen.sh' needs to be run before
35465 `./configure.'.
35466
d05f0df3 354672009-04-14 Bean <bean123ch@gmail.com>
35468
35469 * Makefile.in (pkglib_DATA): Add handler.lst.
35470 (handler.lst): New rule.
35471
35472 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35473 * conf/i386-coreboot.rmk: Likewise.
35474 * conf/i386-ieee1275.rmk: Likewise.
35475 * conf/i386-efi.rmk: Likewise.
35476 * conf/x86_64-efi.rmk: Likewise.
35477 * conf/powerpc-ieee1275.rmk: Likewise.
35478 * conf/sparc64-ieee1275.rmk: Likewise.
35479
35480 * genhandlerlist.sh: New file.
35481
35482 * genmk.rb: Add rules to generate handler.lst.
35483
35484 * include/grub/normal.h (grub_file_getline): New function definition.
35485 (read_handler_list): Likewise.
35486 (free_handler_list): Likewise.
35487
35488 * include/grub/term.h (grub_term_register_input): Add name parameter
35489 for auto generation of handler.lst.
35490 (grub_term_register_output): Likewise.
35491
35492 * normal/handler.c: New file.
35493
35494 * normal/main.c (get_line): Renamed to grub_file_getline.
35495 (read_config_file): Use the newly renamed grub_file_getline.
35496 (read_command_list): Likewise.
35497 (read_fs_list): Likewise.
35498 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35499 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35500
35501 * term/efi/console.c (grub_console_init): Add name parameter for auto
35502 generation of handler.lst.
35503 * term/gfxterm.c: Likewise.
35504 * term/i386/pc/at_keyboard.c: Likewise.
35505 * term/i386/pc/console.c: Likewise.
35506 * term/i386/pc/serial.c: Likewise.
35507 * term/i386/pc/vesafb.c: Likewise.
35508 * term/i386/pc/vga.c: Likewise.
35509 * term/i386/pc/vga_text.c: Likewise.
35510 * term/ieee1275/ofconsole.c: Likewise.
35511 * term/usb_keyboard.c: Likewise.
35512
33c846be 355132009-04-14 Bean <bean123ch@gmail.com>
35514
35515 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35516 properly with null character.
35517
4484e01e 355182009-04-14 Felix Zielcke <fzielcke@z-51.de>
35519
35520 * configure: Remove.
35521 * config.h.in: Likewise.
f93d668e 35522 * stamp-h.in: Likewise.
4484e01e 35523 * DISTLIST: Likewise.
35524 * conf/common.mk: Likewise.
35525 * conf/i386-coreboot.mk: Likewise.
35526 * conf/i386-efi.mk: Likewise.
35527 * conf/i386-ieee1275.mk: Likewise.
35528 * conf/i386.mk: Likewise.
35529 * conf/i386-pc.mk: Likewise.
35530 * conf/powerpc-ieee1275.mk: Likewise.
35531 * conf/sparc64-ieee1275.mk: Likewise.
35532 * conf/x86_64-efi.mk: Likewise.
35533
35534 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35535 develop on GRUB.
35536
7dd4a573 355372009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35538 David S. Miller <davem@davemloft.net>
35539
35540 * util/hostdisk.c (make_device_name): Fix buffer length
35541 calculations.
35542
e25b5a8c 355432009-04-14 Felix Zielcke <fzielcke@z-51.de>
35544
35545 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35546 <sys/param.h> and <sys/sysctl.h>.
35547 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35548 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35549 opening the device and reset them afterwards.
35550
1f1f580c 355512009-04-13 Pavel Roskin <proski@gnu.org>
35552
35553 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35554 Reported by John Stanley <jpsinthemix@verizon.net>
35555
7ebc2d6b 355562009-04-13 Robert Millan <rmh@aybabtu.com>
35557
35558 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35559 that name for menuentries when appropriate.
7ebc2d6b 35560
d8ba3667 355612009-04-13 Felix Zielcke <fzielcke@z-51.de>
35562
35563 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35564
cba416eb 355652009-04-13 Robert Millan <rmh@aybabtu.com>
35566
35567 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35568 to Linux, simply abort telling the user it's no longer supported.
35569
a547a745 355702009-04-13 Felix Zielcke <fzielcke@z-51.de>
35571
35572 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35573 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35574 `freebsd_loadenv' only when devices.hints exist.
35575
232a769c 355762009-04-13 Pavel Roskin <proski@gnu.org>
35577
35578 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35579
c3012039 355802009-04-13 Felix Zielcke <fzielcke@z-51.de>
35581
35582 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35583 partition number.
35584 (grub_drive): Likewise.
35585
234022fe 355862009-04-13 David S. Miller <davem@davemloft.net>
35587
35588 * kern/sparc64/ieee1275/ieee1275.c: New file.
35589 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35590 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35591 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35592 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35593 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35594 grub_ieee1275_alloc_physmem): Declare new exported functions.
35595
d8e1836c 35596 * include/grub/sparc64/ieee1275/loader.h: New file.
35597 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35598 * include/grub/sparc64/kernel.h: Likewise.
35599 * loader/sparc64/ieee1275/linux.c: Likewise.
35600
96bd81ec 35601 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35602 (grub_fstest_SOURCES): Likewise.
35603
6a4737e5 35604 * util/hostdisk.c (make_device_name): Do not make any assumptions
35605 about the length of drive names.
35606
1d7a72fd 35607 * kern/dl.c (grub_dl_load_file): Close file immediately when
35608 we are done using it.
35609
56bc2471 356102009-04-12 David S. Miller <davem@davemloft.net>
35611
35612 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35613 values. Noticed by Pavel Roskin.
35614
df38d0bb 35615 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35616 target compiler.
7dd4a573 35617
e382e93a 35618 * genmk.rb: Add more flexible image type specification, also
35619 pass --strip-unneeded to objcopy.
35620 * conf/i386-pc.rmk: Use *_FORMAT.
35621 * conf/i386-pc.mk: Rebuilt.
35622
f5dbbca9 35623 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35624 (OFDISK_HASH_SZ): Define.
35625 (ofdisk_hash): New hash table.
35626 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35627 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35628 instead of device phandle which is not unique.
35629
91c88b12 35630 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35631 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35632 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35633 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35634 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35635 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35636 GRUB_KERNEL_MACHINE_DATA_END): Define.
35637 (grub_kernel_image_size, grub_total_module_size): Declare.
35638
5b5d4aa5 356392009-04-12 Pavel Roskin <proski@gnu.org>
35640
7dd4a573 35641 * configure.ac: Change the logic when we check for target tools.
35642 Do it when the target is specified and it's different from the
35643 specified value of the host.
5b5d4aa5 35644
c91e1793 356452009-04-11 Felix Zielcke <fzielcke@z-51.de>
35646
35647 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35648 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35649 GNU/kFreeBSD. Check if a device is a character device. Use
35650 DIOCGMEDIASIZE to get the size.
35651 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35652 support for GNU/kFreeBSD.
35653 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35654 is a character device instead of a block device. Add support for
35655 FreeBSD device names.
35656
35657 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35658 is a character device instead of a block device.
35659
35660 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35661 is a character device instead of a block device.
35662
b1ac8644 356632009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35664
35665 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35666 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35667 FreeBSD. Check if a device is a character device. Use
35668 DIOCGMEDIASIZE to get the size.
35669 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35670 support for FreeBSD.
35671 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35672 is a character device instead of a block device. Add support for
35673 FreeBSD device names.
35674
35675 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35676 a character device instead of a block device.
35677 (grub_util_check_char_device): New function.
35678
35679 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35680 a character device instead of a block device.
35681
35682 * include/grub/util/getroot.h (grub_util_check_char_device): New
35683 prototype.
35684
a3f7515a 356852009-04-11 David S. Miller <davem@davemloft.net>
35686
35687 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35688 static libgcc.
35689 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35690 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35691 function, if present.
35692 (__bswapdi2): Likewise.
35693
0d44993d 35694 * include/grub/sparc64/ieee1275/boot.h: New file.
35695 * boot/sparc64/ieee1275/boot.S: Likewise.
35696 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35697
ed3d2bc2 35698 * kern/misc.c (grub_ltoa): New function.
35699 (grub_vsprintf): Use it to format 'long' integers.
35700
d3bfb59c 357012009-04-10 David S. Miller <davem@davemloft.net>
35702
35703 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35704 slots are of type grub_ieee1275_cell_t.
35705 (grub_nand_read): Likewise.
35706 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35707 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35708 macros are used to compare values in arg/ret block of the call.
35709 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35710 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35711 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35712 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35713 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35714 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35715 grub_ieee1275_close, grub_ieee1275_set_property,
35716 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35717 grub_ieee1275_cell_t.
35718 * kern/ieee1275/openfw.c (grub_map): Likewise.
35719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35720 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35721
450e2238 35722 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35723 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35724 (grub_devalias_iterate): Likewise.
35725
7dd4a573 357262009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35727
35728 UFS improvements
35729
35730 * fs/ufs.c (INODE_NBLOCKS): new definition
35731 (struct grub_ufs_dirent): added fields for non-BSD dirents
35732 (grub_ufs_get_file_block): fixed double indirect handling
35733 (grub_ufs_lookup_symlink): use more robust way to determine whether
35734 symlink is inline
35735 (grub_ufs_find_file): support for non-BSD dirents
35736 (grub_ufs_dir): support for non-BSD dirents
35737
e7e6862a 357382009-04-10 Bean <bean123ch@gnail.com>
35739
35740 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35741 attribute, otherwise the size would be wrong for i386 platform.
35742
35743 * include/grub/pci.h (grub_pci_read_word): New inline function.
35744 (grub_pci_read_byte): Likewise.
35745 (grub_pci_write): Likewise.
35746 (grub_pci_write_word): Likewise.
35747 (grub_pci_write_byte): Likewise.
35748
35749 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35750
35751 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35752 (find_framebuf): Scan pci to locate the frame buffer address.
35753
35754 * commands/efi/fixvideo.c: New file.
35755
35756 * commands/efi/loadbios.c: Likewise.
35757
35758 * commands/memrw.c: Likewise.
35759
35760 * util/grub-dumpbios.in: Likewise.
35761
35762 * conf/common.rmk (grub-dumpbios): New utility.
35763 (pkglib_MODULES): New module memrw.mod.
35764 (memrw_mod_SOURCE): New macro.
35765 (memrw_mod_CFLAGS): Likewise.
35766 (memrw_mod_LDFLAGS): Likewise.
35767
7dd4a573 35768 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35769 fixvideo.mod.
35770 (loadbios_mod_SOURCE): New macro.
35771 (loadbios_mod_CFLAGS): Likewise.
35772 (loadbios_mod_LDFLAGS): Likewise.
35773 (fixvideo_mod_SOURCE): Likewise.
35774 (fixvideo_mod_CFLAGS): Likewise.
35775 (fixvideo_mod_LDFLAGS): Likewise.
35776
7dd4a573 35777 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35778 fixvideo.mod.
35779 (loadbios_mod_SOURCE): New macro.
35780 (loadbios_mod_CFLAGS): Likewise.
35781 (loadbios_mod_LDFLAGS): Likewise.
35782 (fixvideo_mod_SOURCE): Likewise.
35783 (fixvideo_mod_CFLAGS): Likewise.
35784 (fixvideo_mod_LDFLAGS): Likewise.
35785
af63ada2 357862009-04-08 Felix Zielcke <fzielcke@z-51.de>
35787
35788 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35789
c2cdde70 357902009-04-07 David S. Miller <davem@davemloft.net>
35791
35792 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35793 support for R_SPARC_OLO10 relocations. Fix compile warning for
35794 R_SPARC_WDISP30 case.
ea3f72cf 35795 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35796
761319cf 357972009-04-06 Pavel Roskin <proski@gnu.org>
35798
1007d1f5 35799 * include/grub/misc.h (ARRAY_SIZE): New macro.
35800 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35801 New macro.
35802 * loader/i386/linux.c (allocate_pages): Use free_pages().
35803 (grub_linux_unload): Don't use free_pages().
35804 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35805 wrong index. Treat all other modes as text modes.
35806 (grub_cmd_linux): Initialize vid_mode unconditionally to
35807 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35808
761319cf 35809 * commands/help.c (print_command_help): Use cmd->prio, not
35810 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35811
ea761d40 358122009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35813
ea761d40 35814 Parttool
35815
35816 * parttool/pcpart.c: new file
35817 * commands/parttool.c: likewise
35818 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35819 (parttool_mod_SOURCES): new variable
35820 (parttool_mod_CFLAGS): likewise
35821 (parttool_mod_LDFLAGS): likewise
35822 (pcpart_mod_SOURCES): likewise
35823 (pcpart_mod_CFLAGS): likewise
35824 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35825 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35826 and parttool/pcpart.c
35827 * conf/i386-efi.rmk: likewise
35828 * conf/i386-ieee1275.rmk: likewise
35829 * conf/i386-pc.rmk: likewise
35830 * conf/powerpc-ieee1275.rmk: likewise
35831 * conf/sparc64-ieee1275.rmk: likewise
35832 * conf/x86_64-ieee1275.rmk: likewise
35833
05aaebfb 358342009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35835
35836 Support for mtime and further expandability of dir command
35837
35838 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35839 * include/grub/datetime.h: ... moved here and added
05aaebfb 35840 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35841 * include/grub/fs.h: new syntax for dir and mtime functions in
35842 struct grub_fs
05aaebfb 35843 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35844 and GRUB_FSHELP_FLAGS_MASK
35845 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35846 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35847 (grub_ext2_mtime): new function
35848 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35849 (grub_hfsplus_mtime): new function
35850 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35851 (GRUB_UFS_ATTR_FILE): likewise
35852 (GRUB_UFS_ATTR_LNK): likewise
35853 (struct grub_ufs_sblock): new fields mtime
35854 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35855 all users updated
35856 (grub_ufs_dir): mtime support
35857 (grub_ufs_mtime): new function
35858 * fs/affs.c (grub_affs_dir): use new dir syntax
35859 * fs/afs.c (grub_afs_dir): likewise
35860 * fs/cpio.c (grub_cpio_dir): likewise
35861 * fs/fat.c (grub_fat_find_dir): likewise
35862 * fs/hfs.c (grub_hfs_dir): likewise
35863 * fs/iso9660.c (grub_iso9660_dir): likewise
35864 * fs/jfs.c (grub_jfs_dir): likewise
35865 * fs/minix.c (grub_minix_dir): likewise
35866 * fs/ntfs.c (grub_ntfs_dir): likewise
35867 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35868 * fs/sfs.c (grub_sfs_dir): likewise
35869 * fs/xfs.c (grub_xfs_dir): likewise
35870 * util/hostfs.c (grub_hostfs_dir): likewise
35871 * lib/datetime.c: moved to ...
35872 * normal/datetime.c: ... moved here
35873 (grub_unixtime2datetime): new function
35874 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35875 * normal/completion.c (iterate_dir): use new dir syntax
35876 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35877 last modification time of a volume
7dd4a573 35878 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35879 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35880 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35881 (normal_mod_SOURCES): likewise
35882 (datetime_mod_SOURCES): Removed lib/datetime.c
35883 * conf/i386-efi.rmk: likewise
7dd4a573 35884 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35885 * conf/i386-pc.rmk: likewise
35886 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35887 * conf/sparc64-ieee1275.rmk: likewise
35888 * conf/x86_64-efi.rmk: likewise
05aaebfb 35889
8a7e1a14 358902009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35891
35892 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35893
35894 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35895 on grub_fat_find_dir
35896 (grub_fat_find_dir): use grub_fat_iterate_dir
35897 (grub_fat_label): likewise
35898
04186a9c 358992009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35900
7dd4a573 35901 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35902 and command.h
35903 remove extraneous kernel_elf_HEADERS
35904
da4c0bb6 359052009-04-04 Bean <bean123ch@gnail.com>
35906
35907 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35908
35909 * util/misc.c: Likewise.
35910
54ad9555 359112009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35912
35913 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35914 instead of grub_printf.
35915
7a6bf9f2 359162009-04-03 Robert Millan <rmh@aybabtu.com>
35917
35918 * loader/i386/linux.c (grub_linux_setup_video): Fill
35919 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35920 values from `mode info' structure instead of hardcoded
35921 values.
35922
3fcc2083 359232009-04-01 Pavel Roskin <proski@gnu.org>
35924
35925 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35926 unused now.
35927 * genmk.rb: Likewise.
35928 * configure.ac: Likewise.
35929
5ec9740b 359302009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35931
35932 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35933 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35934
5270cec8 359352009-04-01 David S. Miller <davem@davemloft.net>
35936
35937 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35938 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35939 (grub_setjmp): Mark with 'returns_twice' attribute.
35940 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35941 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35942 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35943
9c3dd854 359442009-04-01 Robert Millan <rmh@aybabtu.com>
35945
35946 Reapply fix from 2008-07-28 which was accidentally reverted; also
35947 perform the same fix to a similar check in same function.
35948
35949 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35950 with the same number are found, just use issue a warning with
35951 grub_dprintf(), as this error has been reported to be non-fatal.
35952
0d818b7e 359532009-03-31 Pavel Roskin <proski@gnu.org>
35954
35955 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35956 for cross-compilation.
35957
95646d92 359582009-03-30 Robert Millan <rmh@aybabtu.com>
35959
35960 Fix i386-ieee1275 build.
35961
35962 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35963 Remove declaration.
35964
6a003ed1 359652009-03-30 Pavel Roskin <proski@gnu.org>
35966
35967 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35968 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35969 zero-terminated, rely only on the strlen value. Fix comparison
35970 of strings differing in length.
35971
92f33540 359722009-03-30 Robert Millan <rmh@aybabtu.com>
35973
35974 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35975 checking for abi version. Improve error messages on BIOS to notify
35976 user about `linux16' command.
35977
a8c48fd5 359782009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35979
f968172e 35980 Leak fixes
a8c48fd5 35981
f968172e 35982 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35983 in case of collision
35984 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35985
9c323f09 359862009-03-29 Robert Millan <rmh@aybabtu.com>
35987
35988 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35989 set `vid_mode' accordingly.
35990 (grub_linux_boot): Process `vid_mode' and set video mode.
35991
ae68f423 359922009-03-29 Robert Millan <rmh@aybabtu.com>
35993
35994 * util/grub.d/10_linux.in (linux_entry): New function.
35995 Factorize generation of Linux boot entries.
35996
5709cfc4 359972009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35998
35999 Make the format of Environment Block plain text. The boot loader
36000 part is not tested well yet.
7dd4a573 36001
5709cfc4 36002 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36003 (buffer): Removed.
36004 (envblk): Likewise.
36005 (usage): Remove "info" and "clear". Add "unset". Update the
36006 description of "set", as this does not delete variables any
36007 longer.
36008 (create_envblk_file): Complete rewrite.
36009 (open_envblk_file): Likewise.
36010 (cmd_info): Removed.
36011 (cmd_list): Likewise.
36012 (cmd_set): Likewise.
36013 (cmd_clear): Likewise.
36014 (list_variables): New function.
36015 (write_envblk): Likewise.
36016 (set_variables): Likewise.
36017 (unset_variables): Likewise.
36018 (main): Complete rewrite.
36019
36020 * commands/loadenv.c (buffer): Removed.
36021 (envblk): Likewise.
36022 (open_envblk_file): New function.
36023 (read_envblk_file): Complete rewrite.
36024 (grub_cmd_load_env): Likewise.
36025 (grub_cmd_list_env): Likewise.
36026 (struct blocklist): New struct.
36027 (free_blocklists): New function.
36028 (check_blocklists): Likewise.
36029 (write_blocklists): Likewise.
36030 (grub_cmd_save_env): Complete rewrite.
36031
36032 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36033 a plain text signature.
36034 (GRUB_ENVBLK_MAXLEN): Removed.
36035 (struct grub_envblk): Complete rewrite.
36036 (grub_envblk_find): Removed.
36037 (grub_envblk_insert): Likewise.
36038 (grub_envblk_open): New prototype.
36039 (grub_envblk_set): Likewise.
36040 (grub_envblk_delete): Put const to VALUE.
36041 (grub_envblk_iterate): Put const to NAME and VALUE.
36042 (grub_envblk_close): New prototype.
36043 (grub_envblk_buffer): New inline function.
36044 (grub_envblk_size): Likewise.
36045
36046 * lib/envblk.c: Include grub/mm.h.
36047 (grub_env_find): Removed.
36048 (grub_envblk_open): New function.
36049 (grub_envblk_close): Likewise.
36050 (escaped_value_len): Likewise.
36051 (find_next_line): Likewise.
36052 (grub_envblk_insert): Removed.
36053 (grub_envblk_set): New function.
36054 (grub_envblk_delete): Complete rewrite.
36055 (grub_envblk_iterate): Likewise.
36056
a9368fd3 360572009-03-28 Robert Millan <rmh@aybabtu.com>
36058
36059 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36060 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36061 variables. Use 16-bit loader.
36062 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36063 loader.
36064 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36065 (grub_linux16_boot): ... this. Update all users.
36066 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36067 (grub_linux_boot): ... this. Update all users.
36068
36069 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36070 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36071 commands to `linux16' and `initrd16'.
36072 (GRUB_MOD_FINI(linux)): Rename to ...
36073 (GRUB_MOD_FINI(linux16)): ... this.
36074
e4dd5a7e 360752009-03-24 Pavel Roskin <proski@gnu.org>
36076
36077 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36078 not just for compilation.
36079
c04d6e05 360802009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36081
36082 Move multiboot helper out of kernel
36083
36084 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36085 `loader/i386/multiboot_helper.S'.
36086 * conf/i386-coreboot.rmk: Likewise
36087 * conf/i386-ieee1275.rmk: Likewise
36088
36089 * kern/i386/loader.S: Move multiboot helpers from here...
36090 * loader/i386/multiboot_helper.S: ...moved here
36091 * include/grub/i386/loader.h: Move declarations of multiboot
36092 helpers from here...
36093 * include/grub/i386/multiboot.h: ...moved here
36094 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36095
42a5b3fc 360962009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36097
36098 * kern/env.c (grub_env_context_open): Added an argument to specify
36099 whether a new context inherits exported variables from current
36100 one. This is useful when making a sandbox to interpret a config
36101 file.
36102 All callers updated.
36103
36104 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36105
b28bbc4e 361062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36107
36108 * kern/env.c (grub_env_context_close): Fix memory leaks.
36109
f04f02e4 361102009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36111
36112 * normal/main.c (grub_normal_execute): Added an argument
36113 BATCH to specify if an interactive interface should be provided
36114 after reading a config file.
36115 All callers updated.
36116 (read_command_list): Prevent being executed twice.
36117 (read_fs_list): Likewise.
36118
42a5b3fc 36119 * include/grub/normal.h (grub_normal_execute): Updated the
36120 prototype.
f04f02e4 36121
41473ac2 361222009-03-22 Pavel Roskin <proski@gno.org>
36123
fbc00b0c 36124 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36125 _start.
36126 * kern/i386/pc/startup.S: Likewise.
36127 * kern/i386/efi/startup.S: Likewise.
36128 * kern/i386/ieee1275/startup.S: Likewise.
36129 * kern/i386/coreboot/startup.S: Likewise.
36130 * kern/x86_64/efi/startup.S: Likewise.
36131
41473ac2 36132 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36133 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36134 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36135
2274cc8f 361362009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36137
36138 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36139
36140 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36141 limit detection.
36142 Use vaddr of correct segment for entry_point.
36143
b1b797cb 361442009-03-21 Bean <bean123ch@gmail.com>
36145
36146 * commands/blocklist.c: Add include file <grub/command.h>, remove
36147 <grub/normal.h> and <grub/arg.h>.
36148 (grub_cmd_blocklist): Use the new command interface.
36149 (GRUB_MOD_INIT): Likewise.
36150 (GRUB_MOD_FINI): Likewise.
36151 * commands/boot.c: Likewise.
36152 * commands/cat.c: Likewise.
36153 * commands/cmp.c: Likewise.
36154 * commands/configfile.c: Likewise.
36155 * commands/crc.c: Likewise.
36156 * commands/echo.c: Likewise.
36157 * commands/halt.c: Likewise.
36158 * commands/handler.c: Likewise.
36159 * commands/hdparm.c: Likewise.
36160 * commands/help.c: Likewise.
36161 * commands/hexdump.c: Likewise.
36162 * commands/loadenv.c: Likewise.
36163 * commands/ls.c: Likewise.
36164 * commands/lsmmap.c: Likewise.
36165 * commands/lspci.c: Likewise.
36166 * commands/loadenv.c: Likewise.
36167 * commands/read.c: Likewise.
36168 * commands/reboot.c: Likewise.
36169 * commands/search.c: Likewise.
36170 * commands/sleep.c: Likewise.
36171 * commands/test.c: Likewise.
36172 * commands/usbtest.c: Likewise.
36173 * commands/videotest.c: Likewise.
36174 * commands/i386/cpuid.c: Likewise.
36175 * commands/i386/pc/halt.c: Likewise.
36176 * commands/i386/pc/play.c: Likewise.
36177 * commands/i386/pc/pxecmd.c: Likewise.
36178 * commands/i386/pc/vbeinfo.c: Likewise.
36179 * commands/i386/pc/vbetest.c: Likewise.
36180 * commands/ieee1275/suspend.c: Likewise.
36181 * disk/loopback.c: Likewise.
36182 * font/font_cmd.c: Likewise.
36183 * hello/hello.c: Likewise.
36184 * loader/efi/appleloader.c: Likewise.
36185 * loader/efi/chainloader.c: Likewise.
36186 * loader/i386/bsd.c: Likewise.
36187 * loader/i386/efi/linux.c: Likewise.
36188 * loader/i386/ieee1275/linux.c: Likewise.
36189 * loader/i386/linux.c: Likewise.
36190 * loader/i386/pc/chainloader.c: Likewise.
36191 * loader/i386/pc/linux.c: Likewise.
36192 * loader/powerpc/ieee1275/linux.c: Likewise.
36193 * loader/multiboot_loader.c: Likewise.
36194 * term/gfxterm.c: Likewise.
36195 * term/i386/pc/serial.c: Likewise.
36196 * term/terminfo.c: Likewise.
36197
36198 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36199 * term/i386/pc/vga.c: Likewise.
36200 * video/readers/jpeg.c: Likewise.
36201 * video/readers/png.c: Likewise.
36202 * video/readers/tga.c: Likewise.
36203
36204 * util/grub-fstest (cmd_loopback): Removed.
36205 (cmd_blocklist): Likewise.
36206 (cmd_ls): Likewise.
36207 (grub_register_command): Likewise.
36208 (grub_unregister_command): Likewise.
36209 (execute_command): Use grub_command_find to locate command and execute
36210 it.
36211
36212 * include/grub/efi/chainloader.h: Removed.
36213 * loader/efi/chainloader_normal.c: Likewise.
36214 * loader/i386/bsd_normal.c: Likewise.
36215 * loader/i386/pc/chainloader_normal.c: Likewise.
36216 * loader/i386/pc/multiboot_normal.c: Likewise.
36217 * loader/linux_normal.c: Likewise.
36218 * loader/multiboot_loader_normal.c: Likewise.
36219 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36220
36221 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36222 and grub_register_command_p1.
36223
36224 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36225 kern/command.c, lib/arg.c and commands/extcmd.c.
36226 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36227 (minicmd_mod_SOURCES): New variable.
36228 (minicmd_mod_CFLAGS): Likewise.
36229 (minicmd_mod_LDFLAGS): Likewise.
36230 (extcmd_mod_SOURCES): Likewise.
36231 (extcmd_mod_CFLAGS): Likewise.
36232 (extcmd_mod_LDFLAGS): Likewise.
36233 (boot_mod_SOURCES): Removed.
36234 (boot_mod_CFLAGS): Likewise.
36235 (boot_mod_LDFLAGS): Likewise.
36236
36237 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36238 kern/corecmd.c.
36239 (kernel_img_HEADERS): Add command.h.
36240 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36241 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36242 and lib/arg.c.
36243 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36244 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36245 remove the corresponding normal mode command.
36246 (normal_mod_SOURCES): Remove normal/arg.c.
36247 * conf/i386-coreboot.rmk: Likewise.
36248 * conf/i386-efi.rmk: Likewise.
36249 * conf/i386-ieee1275.rmk: Likewise.
36250 * conf/powerpc-ieee1275.rmk: Likewise.
36251 * conf/x86_64-efi.rmk: Likewise.
36252
36253 * include/grub/arg.h: Move from here ...
36254 * include/grub/lib/arg.h: ... to here.
36255
36256 * normal/arg.c: Move from here ...
36257 * lib/arg.c: ... to here.
36258
36259 * commands/extcmd.c: New file.
36260 * commands/minicmd.c: Likewise.
36261 * include/grub/command.h: Likewise.
36262 * include/grub/extcmd.h: Likewise.
36263 * kern/command.c: Likewise.
36264 * kern/corecmd.c: Likewise.
36265
36266 * kern/list.c (grub_list_iterate): Return int instead of void.
36267 (grub_list_insert): New function.
36268 (grub_prio_list_insert): Likewise.
36269
36270 * kern/rescue.c (grub_rescue_command): Removed.
36271 (grub_rescue_command_list): Likewise.
36272 (grub_rescue_register_command): Likewise.
36273 (grub_rescue_unregister_command): Likewise.
36274 (grub_rescue_cmd_boot): Move to minicmd.c
36275 (grub_rescue_cmd_help): Likewise.
36276 (grub_rescue_cmd_info): Likewise.
36277 (grub_rescue_cmd_boot): Likewise.
36278 (grub_rescue_cmd_testload): Likewise.
36279 (grub_rescue_cmd_dump): Likewise.
36280 (grub_rescue_cmd_rmmod): Likewise.
36281 (grub_rescue_cmd_lsmod): Likewise.
36282 (grub_rescue_cmd_exit): Likewise.
36283 (grub_rescue_print_devices): Moved to corecmd.c.
36284 (grub_rescue_print_files): Likewise.
36285 (grub_rescue_cmd_ls): Likewise.
36286 (grub_rescue_cmd_insmod): Likewise.
36287 (grub_rescue_cmd_set): Likewise.
36288 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36289 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36290 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36291 commands, remove grub_rescue_register_command calls.
b1b797cb 36292
7d074e3c 36293 * normal/command.c (grub_register_command): Removed.
b1b797cb 36294 (grub_unregister_command): Likewise.
36295 (grub_command_find): Likewise.
36296 (grub_iterate_commands): Likewise.
36297 (rescue_command): Likewise.
36298 (export_command): Moved to corecmd.c.
36299 (set_command): Removed.
36300 (unset_command): Likewise.
36301 (insmod_command): Likewise.
36302 (rmmod_command): Likewise.
36303 (lsmod_command): Likewise.
36304 (grub_command_init): Likewise.
36305
36306 * normal/completion.c (iterate_command): Use cmd->prio to check for
36307 active command.
36308 (complete_arguments): Use grub_extcmd_t structure to find options.
36309 (grub_normal_do_completion): Change function grub_iterate_commands to
36310 grub_command_iterate.
36311
36312 * normal/execute.c (grub_script_execute_cmd): No need to parse
36313 argument here.
36314
36315 * normal/main.c (grub_dyncmd_dispatcher): New function.
36316 (read_command_list): Register unload commands as dyncmd.
36317 (grub_cmd_normal): Use new command interface, register rescue,
36318 unregister normal at entry, register normal, unregister rescue at exit.
36319
36320 * include/grub/list.h (grub_list_test_t): New type.
36321 (grub_list_iterate): Return int instead of void.
36322 (grub_list_insert): New function.
36323 (GRUB_AS_NAMED_LIST_P): New macro.
36324 (GRUB_AS_PRIO_LIST): Likewise.
36325 (GRUB_AS_PRIO_LIST_P): Likewise.
36326 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36327 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36328 (grub_prio_list): New structure.
36329 (grub_prio_list_insert): New function.
36330 (grub_prio_list_remove): New inline function.
36331
36332 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36333 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36334 (GRUB_COMMAND_FLAG_MENU): Likewise.
36335 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36336 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36337 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36338 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36339 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36340 (grub_command): Likewise.
36341 (grub_register_command): Likewise.
36342 (grub_command_find): Likewise.
36343 (grub_iterate_commands): Likewise.
36344 (grub_command_init): Likewise.
36345 (grub_arg_parse): Likewise.
36346 (grub_arg_show_help): Likewise.
36347
36348 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36349 (grub_rescue_unregister_command): Likewise.
36350
36351 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36352 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36353 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36354
36355 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36356 grub_rescue_cmd_initrd.
36357 * include/grub/i386/loader.h: Likewise.
36358 * include/grub/x86_64/loader.h: Likewise.
36359
36360 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36361
1f4147aa 363622009-03-21 Bean <bean123ch@gmail.com>
36363
36364 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36365 instead of stat in mingw environment.
36366
36367 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36368
36369 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36370
36371 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36372 AC_CONFIG_LINKS.
36373
2156d5ba 363742009-03-21 Bean <bean123ch@gmail.com>
36375
36376 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36377 out of range error.
36378
177b82ca 363792009-03-18 Michel Dänzer <michel@daenzer.net>
36380
36381 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36382 checking inode flags for EXT4_EXTENTS_FLAG.
36383
14aad807 363842009-03-18 Robert Millan <rmh@aybabtu.com>
36385
36386 * loader/i386/linux.c: Include `<grub/video.h>' and
36387 `<grub/i386/pc/vbe.h>'..
36388 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36389 (grub_linux32_boot): Attempt to configure video settings with
36390 grub_linux_setup_video().
36391 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36392 to avoid grub_console_fini() which would step out of graphical mode
36393 unconditionally.
36394
8cf83a27 363952009-03-14 Robert Millan <rmh@aybabtu.com>
36396
36397 Fix build on powerpc.
36398 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36399
40164e75 364002009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36401
36402 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36403 background image command.
36404
c58bc32a 364052009-03-12 Colin D Bennett <colin@gibibit.com>
36406
36407 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36408 (grub_gfxterm_putchar): Extract pairs of identical calls to
36409 draw_cursor out of conditional blocks.
36410
5415144a 364112009-03-11 Pavel Roskin <proski@gnu.org>
36412
36413 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36414 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36415
6394042e 364162009-03-11 Robert Millan <rmh@aybabtu.com>
36417
36418 * loader/i386/multiboot_elfxx.c
36419 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36420
b7b50e5f 364212009-03-11 Felix Zielcke <fzielcke@z-51.de>
36422
36423 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36424 `kern/handler.c'.
36425
1ca7fc96 364262009-03-11 Robert Millan <rmh@aybabtu.com>
36427
36428 * loader/i386/multiboot.c (code_size): New variable.
36429 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36430 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36431 4-byte alignment to MBI and others by increasing
7d074e3c 36432 `boot_loader_name_length' appropriately.
1ca7fc96 36433
36434 * loader/i386/multiboot_elfxx.c
36435 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36436
a83ea1d2 364372009-03-09 Felix Zielcke <fzielcke@z-51.de>
36438
36439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36440 `fs/ext2.c'.
36441
aa9f3bff 364422009-03-08 Robert Millan <rmh@aybabtu.com>
36443
36444 Make loader/i386/linux.c usable on i386-pc again.
36445
36446 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36447 memory to heap.
36448 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36449 `#error' stanza.
36450
d8b3b60e 364512009-03-07 Bean <bean123ch@gmail.com>
36452
36453 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36454 allocation.
36455
b362c9e9 364562009-03-06 Robert Millan <rmh@aybabtu.com>
36457
36458 Fix display issue on terminals with screen size other than 80x25
36459 (e.g. gfxterm with resolution higher than 640x480).
36460
36461 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36462 position relative to the center of the terminal instead of relying
b362c9e9 36463 on a hardcoded offset.
36464
9304eef1 364652009-03-04 Robert Millan <rmh@aybabtu.com>
36466
36467 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36468 installed.
36469
36470 * Makefile.in (host_kernel): New variable.
36471 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36472 scripts instead of just the windows one.
36473 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36474
eabc95fb 364752009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36476
36477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36478 `kern/handler.c'.
36479 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36480 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36483 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36484 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36485
ceb1223c 364862009-03-04 Felix Zielcke <fzielcke@z-51.de>
36487
36488 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36489 or if there's no space for the disk label and print the partition number on a
36490 invalid magic.
36491
4910684a 364922009-03-04 Felix Zielcke <fzielcke@z-51.de>
36493
36494 * util/misc.c: Include <time.h>.
36495 (grub_millisleep): New function.
36496
7e9ca17a 364972009-03-04 Bean <bean123ch@gmail.com>
36498
36499 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36500 another option -mno-red-zone.
36501
36502 * commands/handler.c: Change module description.
36503
36504 * kern/handler.c: Add missing space at the end of description line.
36505
36506 * kern/list.c: Likewise.
36507
f501677c 365082009-03-03 Robert Millan <rmh@aybabtu.com>
36509
36510 Move more components to the relocation area, and fix mbi pointer
36511 handling to use the destination rather than the origin (thanks to
36512 Vladimir Serbinenko for spotting).
36513
36514 * loader/i386/multiboot.c (mbi_dest): New variable.
36515 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36516 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36517 relocation area.
36518
9902d047 365192009-03-01 Bean <bean123ch@gmail.com>
36520
50fb7002 36521 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36522 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36523 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36524 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36525
36526 * loader/i386/efi/linux.c (acpi_guid): New variable.
36527 (acpi_guid): Likewise.
36528 (EBDA_SEG_ADDR): New constant.
36529 (LOW_MEM_ADDR): Likewise.
36530 (FAKE_EBDA_SEG): Likewise.
36531 (fake_bios_data): New function.
36532 (grub_linux_boot): Call fake_bios_data.
36533
71b9f361 365342009-03-01 Bean <bean123ch@gmail.com>
36535
36536 * commands/terminal.c: Removed.
36537
36538 * commands/handler.c: New file.
36539
36540 * include/grub/list.h: Likewise.
36541
36542 * include/grub/handler.h: Likewise.
36543
36544 * kern/list.c: Likewise.
36545
36546 * kern/handler.c: Likewise.
36547
36548 * kern/term.h: Include header file <grub/handler.h>.
36549 (grub_term_input): Move next field to the beginning.
36550 (grub_term_output): Likewise.
36551 (grub_term_input_class): New variable.
36552 (grub_term_output_class): Likewise.
36553 (grub_term_register_input): Changed to inline function.
36554 (grub_term_register_output): Likewise.
36555 (grub_term_unregister_input): Likewise.
36556 (grub_term_unregister_output): Likewise.
36557 (grub_term_set_current_input): Likewise.
36558 (grub_term_set_current_output): Likewise.
36559 (grub_term_get_current_input): Likewise.
36560 (grub_term_get_current_output): Likewise.
36561 (grub_term_iterate_input): Removed.
36562 (grub_term_iterate_output): Likewise.
36563
36564 * kern/term.c (grub_term_list_input): Removed.
36565 (grub_term_list_output): Likewise.
36566 (grub_term_input_class): New variable.
36567 (grub_term_output_class): Likewise.
50fb7002 36568 (grub_cur_term_input): Change variable as macro.
71b9f361 36569 (grub_cur_term_output): Likewise.
36570 (grub_term_register_input): Removed.
36571 (grub_term_register_output): Likewise.
36572 (grub_term_unregister_input): Likewise.
36573 (grub_term_unregister_output): Likewise.
36574 (grub_term_set_current_input): Likewise.
36575 (grub_term_set_current_output): Likewise.
36576 (grub_term_iterate_input): Likewise.
36577 (grub_term_iterate_output): Likewise.
36578 (grub_term_get_current_input): Likewise.
36579 (grub_term_get_current_output): Likewise.
36580
36581 * util/grub-editenv.c: Include header file <grub/handler.h>.
36582 (grub_term_get_current_input): Removed.
36583 (grub_term_get_current_output): Likewise.
36584 (grub_term_input_class): New variable.
50fb7002 36585 (grub_term_output_class): Likewise.
71b9f361 36586
36587 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36588 (grub_term_get_current_output): Likewise.
36589 (grub_term_input_class): New variable.
50fb7002 36590 (grub_term_output_class): Likewise.
71b9f361 36591
36592 * util/grub-probe.c (grub_term_get_current_input): Removed.
36593 (grub_term_get_current_output): Likewise.
36594 (grub_term_input_class): New variable.
50fb7002 36595 (grub_term_output_class): Likewise.
71b9f361 36596
36597 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36598 (grub_term_get_current_output): Likewise.
36599 (grub_term_input_class): New variable.
50fb7002 36600 (grub_term_output_class): Likewise.
71b9f361 36601
36602 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36603 (terminal_mod_SOURCES): Likewise.
36604 (terminal_mod_CFLAGS): Likewise.
36605 (terminal_mod_LDFLAGS): Likewise.
36606
36607 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36608 handler.c.
36609 (kernel_img_SOURCES): Add list.c and handler.c.
36610 (kernel_img_HEADERS): Add list.h and handler.h.
36611
36612 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36613 handler.c.
36614 (kernel_mod_SOURCES): Add list.c and handler.c.
36615 (kernel_mod_HEADERS): Add list.h and handler.h.
36616
36617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36618 handler.c.
36619 (kernel_elf_SOURCES): Add list.c and handler.c.
36620 (kernel_elf_HEADERS): Add list.h and handler.h.
36621
36622 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36623 handler.c.
36624 (kernel_elf_SOURCES): Add list.c and handler.c.
36625 (kernel_elf_HEADERS): Add list.h and handler.h.
36626
36627 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36628 handler.c.
36629 (kernel_mod_SOURCES): Add list.c and handler.c.
36630 (kernel_mod_HEADERS): Add list.h and handler.h.
36631
36632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36633 handler.c.
36634 (kernel_elf_SOURCES): Add list.c and handler.c.
36635 (kernel_elf_HEADERS): Add list.h and handler.h.
36636
8a31787f 366372009-02-27 Robert Millan <rmh@aybabtu.com>
36638
36639 Factorize elf32 / elf64 code in Multiboot loader. This will
36640 prevent it from getting out of sync again.
36641
36642 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36643 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36644 grub_multiboot_load_elf64): Move from here ...
36645 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36646 grub_multiboot_load_elf): ... to here (new file).
36647
51cd3dfc 366482009-02-27 Robert Millan <rmh@aybabtu.com>
36649
36650 * util/grub.d/10_linux.in: Rename "single-user mode" to
36651 "recovery mode".
36652
6e8c9c3a 366532009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36654
36655 Don't leak in SCSI code.
36656 * disk/scsi.c (grub_scsi_close): free `scsi'.
36657
4b6bf4f9 366582009-02-27 Robert Millan <rmh@aybabtu.com>
36659
36660 * loader/i386/pc/multiboot.c: Move from here ...
36661 * loader/i386/multiboot.c: ... to here. Update all users.
36662
b9413424 366632009-02-27 Robert Millan <rmh@aybabtu.com>
36664
36665 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36666 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36667
50fb7002 366682009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36669
36670 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36671 b-tree.
36672
8cc50345 366732009-02-27 Robert Millan <rmh@aybabtu.com>
36674
36675 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36676 `0x' qualifier as 0 when base is specified as parameter).
36677
6e09b8b7 366782009-02-24 Bean <bean123ch@gmail.com>
36679
36680 * configure.ac: Check for -mcmodel=large in x86_64 target.
36681
36682 * include/grub/efi/api.h (efi_call_10): New macro.
36683 (efi_wrap_10): New function.
36684
36685 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36686 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36687 (GRUB_PE32_REL_BASED_LOW): Likewise.
36688 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36689 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36690 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36691 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36692 (GRUB_PE32_REL_BASED_REL): Likewise.
36693 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36694 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36695 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36696
36697 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36698 issue.
36699
36700 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36701 (efi_wrap_10): New function.
36702
36703 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36704
36705 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36706 MB/MBP model (NV chipset).
36707 (devdata_devs): Add devpath_5 to the list.
36708
36709 * load/i386/efi/linux.c (video_base): Remove variable.
36710 (RGB_MASK): New macro.
36711 (RGB_MAGIC): Likewise.
36712 (LINE_MIN): Likewise.
36713 (LINE_MAX): Likewise.
36714 (FBTEST_STEP): Likewise.
36715 (FBTEST_COUNT): Likewise.
36716 (fb_list): New variable.
36717 (grub_find_video_card): Remove function.
36718 (find_framebuf): New function.
36719 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36720 line length.
36721
36722 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36723 problem for x86_64.
36724
74b21bee 367252009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36726
36727 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36728
36729 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36730 coding tool name.
36731
a455f472 367322009-02-22 Robert Millan <rmh@aybabtu.com>
36733
36734 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36735 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36736 in our relocation, instead of using it directly from heap. Also
36737 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36738
6374daf3 367392009-02-21 Robert Millan <rmh@aybabtu.com>
36740
36741 Implement USB keyboard support (based on patch by Marco Gerards)
36742
36743 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36744 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36745 (usb_keyboard_mod_LDFLAGS): New variables.
36746
36747 * term/usb_keyboard.c: New file.
36748
8fa4ea70 367492009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36750
36751 Corrected wrong declaration
36752
36753 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36754
353976ac 367552009-02-14 Christian Franke <franke@computer.org>
36756
36757 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36758 (grub_lspci_iter): Print class code and programming interface byte.
36759
6aa1169b 367602009-02-14 Christian Franke <franke@computer.org>
36761
36762 * gendistlist.sh: Ignore `.svn' directories.
36763
265372ca 367642009-02-14 Felix Zielcke <fzielcke@z-51.de>
36765
36766 * fs/fat.c: Add 2009 to Copyright line.
36767
9ff516f3 367682009-02-14 Christian Franke <franke@computer.org>
36769
36770 * commands/hdparm.c: New file. Provides `hdparm' command
36771 which sends ATA commands via grub_disk_ata_pass_through ().
36772
36773 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36774
36775 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36776 and <grub/cpu/io.h> to include/grub/ata.h.
36777 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36778 (GRUB_CDROM_SECTOR_SIZE): Remove.
36779 (GRUB_ATA_*): Move to include/grub/ata.h.
36780 (GRUB_ATAPI_*): Likewise.
36781 (enum grub_ata_commands): Likewise.
36782 (enum grub_ata_timeout_milliseconds): Likewise.
36783 (struct grub_ata_device): Likewise.
36784 (grub_ata_regset): Likewise.
36785 (grub_ata_regget): Likewise.
36786 (grub_ata_regset2): Likewise.
36787 (grub_ata_regget2): Likewise.
36788 (grub_ata_check_ready): Likewise.
36789 (grub_ata_wait_not_busy): Remove static, exported in
36790 include/grub/ata.h.
36791 (grub_ata_wait_drq): Likewise.
36792 (grub_ata_pio_read): Likewise.
36793
36794 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36795 function for hdparm.mod.
36796
36797 * include/grub/ata.h: New file, contains declarations from
36798 disk/ata.c.
36799 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36800
36801 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36802 (grub_disk_ata_pass_through): New exported variable.
36803
36804 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36805
772e23da 368062009-02-13 Colin D Bennett <colin@gibibit.com>
36807
36808 Support multiple fallback entries, and provide an API to support
36809 executing default+fallback menu entries. Renamed the `terminal' menu
36810 viewer to `text'.
36811
36812 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36813 variable declaration.
36814 (grub_menu_execute_callback): New structure declaration.
36815 (grub_menu_execute_callback_t): New typedef.
36816 (grub_menu_execute_with_fallback): New function declaration.
36817 (grub_menu_get_entry): Likewise.
36818 (grub_menu_get_timeout): Likewise.
36819 (grub_menu_set_timeout): Likewise.
36820
36821 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36822
36823 * normal/menu.c (grub_wait_after_message): Moved to
36824 `normal/menu_text.c'.
36825 (draw_border): Likewise.
36826 (print_message): Likewise.
36827 (print_entry): Likewise.
36828 (print_entries): Likewise.
36829 (grub_menu_init_page): Likewise.
36830 (get_entry_number): Likewise.
36831 (print_timeout): Likewise.
36832 (run_menu): Likewise.
36833 (grub_menu_execute_entry): Likewise.
36834 (show_text_menu): Likewise.
36835 (get_and_remove_first_entry_number): New function.
36836 (grub_menu_execute_with_fallback): Likewise.
36837 (get_entry): Renamed to ...
36838 (grub_menu_get_entry): .. this and made it global.
36839 (get_timeout): Renamed to ...
36840 (grub_menu_get_timeout): ... this and made it global.
36841 (set_timeout): Renamed to ...
36842 (grub_menu_set_timeout): ... this and made it global.
36843 (grub_normal_terminal_menu_viewer): Renamed to ...
36844 (grub_normal_text_menu_viewer): ... this.
36845
36846 * normal/menu_text.c: New file. Extracted text-menu-specific code
36847 from normal/menu.c.
36848
36849 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36850 (normal_mod_SOURCES): Likewise.
36851
36852 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36853 (normal_mod_SOURCES): Likewise.
36854
36855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36856 (normal_mod_SOURCES): Likewise.
36857
36858 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36859 (normal_mod_SOURCES): Likewise.
36860
36861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36862 (normal_mod_SOURCES): Likewise.
36863
36864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36865 (normal_mod_SOURCES): Likewise.
36866
36867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36868 (normal_mod_SOURCES): Likewise.
36869
16ac430e 368702009-02-11 Robert Millan <rmh@aybabtu.com>
36871
36872 * util/grub.d/00_header.in: Update old reference to `font' command.
36873
06ff20fc 368742009-02-10 Felix Zielcke <fzielcke@z-51.de>
36875
36876 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36877
36878 Based on patch from Javier Martín.
36879
96da9407 368802009-02-09 Felix Zielcke <fzielcke@z-51.de>
36881
36882 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36883 to avoid false positives with FAT.
96da9407 36884 (grub_fstest_SOURCES): Likewise.
36885 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36888 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36889 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36890 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36891
6dca6fe4 368922009-02-09 Felix Zielcke <fzielcke@z-51.de>
36893
06ff20fc 36894 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36895 bpb.version_specific.fat12_or_fat16.fstype and
36896 bpb.version_specific.fat32.fstype.
36897
2550c62f 368982009-02-08 Robert Millan <rmh@aybabtu.com>
36899
be110b30 36900 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36901
56978920 369022009-02-08 Robert Millan <rmh@aybabtu.com>
36903
36904 * Makefile.in (host_os, host_cpu): New variables.
36905 (target_os): Remove. Update all users.
36906
d64399b5 369072009-02-08 Marco Gerards <marco@gnu.org>
36908
36909 * Makefile.in (enable_grub_emu_usb): New variable.
36910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36911 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36912 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36913 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36914 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36915 `usbtest.mod' and `usbms.mod'.
36916 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36917 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36918 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36919 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36920 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36921 variables.
36922
36923 * disk/usbms.c: New file.
36924
36925 * include/grub/usb.h: Likewise.
36926
36927 * include/grub/usbtrans.h: Likewise.
36928
36929 * include/grub/usbdesc.h: Likewise.
36930
36931 * bus/usb/usbtrans.c: Likewise.
36932
36933 * bus/usb/ohci.c: Likewise.
36934
36935 * bus/usb/uhci.c: Likewise.
36936
36937 * bus/usb/usbhub.c: Likewise.
36938
36939 * bus/usb/usb.c: Likewise.
36940
36941 * commands/usbtest.c: Likewise.
36942
36943 * util/usb.c: Likewise.
50fb7002 36944
d64399b5 36945 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36946
36947 * configure.ac: Test for libusb presence.
50fb7002 36948
d64399b5 36949 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36950
2b40d6bb 369512009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36952
36953 * kern/mm.c: Add more comments.
36954
73a4ce81 369552009-02-08 Robert Millan <rmh@aybabtu.com>
36956
36957 Patch from Javier Martín.
36958 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36959 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36960
f821ce59 369612009-02-08 Robert Millan <rmh@aybabtu.com>
36962
36963 * fs/cpio.c: Split tar functionality to ...
36964 * fs/tar.c: ... here (new file). Update all users.
36965
aebfc4b0 369662009-02-07 Robert Millan <rmh@aybabtu.com>
36967
36968 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36969 backward-incompatible features.
36970
36971 Based on patch from Javier Martín, with some adjustments.
36972
50fb7002 369732009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36974
36975 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36976
0bb5115e 369772009-02-07 Robert Millan <rmh@aybabtu.com>
36978
36979 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36980 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36981 after the RAID stuff.
36982
38a0f8e7 369832009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36984
50fb7002 36985 Fixes problem when running vbetest command as reported by
38a0f8e7 36986 Vladimir Serbinenko <phcoder@gmail.com>.
36987
36988 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36989
3143cc1c 369902009-02-04 Felix Zielcke <fzielcke@z-51.de>
36991
36992 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36993 /dev/md/NpN style mdraid devices.
36994
9cba6fce 369952009-02-03 Felix Zielcke <fzielcke@z-51.de>
36996
36997 * util/unifont2pff.rb: Remove.
36998
e507a2c1 369992009-02-03 Felix Zielcke <fzielcke@z-51.de>
37000
37001 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37002 `#'.
37003
d2c2b4cd 370042009-02-03 Felix Zielcke <fzielcke@z-51.de>
37005
37006 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37007 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37008 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37011 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37013
b4315fb0 370142009-02-02 Christian Franke <franke@computer.org>
37015
37016 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37017
de3aa260 370182009-02-01 Felix Zielcke <fzielcke@z-51.de>
37019
7c3ff286 37020 * INSTALL: Note that we now require at least autoconf 2.59 and
37021 that LZO is optional.
de3aa260 37022
825a182b 370232009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37024
37025 Base on patch on bug #24154 created by Tomas Tintera
37026 <trosos@seznam.cz>.
37027
37028 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37029
a69ef770 370302009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37031
7c3ff286 37032 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37033 <bero@arklinux.org>.
37034
37035 * normal/parser.y (script_init): Add missing semicolon.
37036
6fa42fa6 370372009-01-31 Colin D Bennett <colin@gibibit.com>
37038
7c3ff286 37039 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37040 (free_menu_entry_classes): Added.
37041 (grub_normal_menu_addentry): Added class property handling.
37042 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37043 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37044
37045 * normal/menu_viewer.c: New file.
37046
37047 * normal/menu.c (run_menu_entry): Renamed to ...
37048 (grub_menu_execute_entry): ... this and made it as global.
37049 (grub_menu_run): Renamed to ...
37050 (show_text_menu): ... this and made it local.
37051 (show_text_menu): Adapt to new function names.
37052 (grub_normal_terminal_menu_viewer): New global variable.
37053
37054 * include/grub/menu.h: New file.
37055
37056 * include/grub/menu_viewer.h: New file.
37057
37058 * include/grub/normal.h: Added include to grub/menu.h.
37059 (grub_menu_entry): Moved to include/grub/menu.h.
37060 (grub_menu_entry_t): Likewise.
37061 (grub_menu): Likewise.
37062 (grub_menu_t): Likewise.
37063 (grub_normal_terminal_menu_viewer): Added.
37064 (grub_menu_execute_entry): Likewise.
37065 (grub_menu_run): Removed.
37066
37067 * DISTLIST: Added include/grub/menu.h.
37068 Added include/grub/menu_viewer.h.
37069 Added normal/menu_viewer.c.
37070
370712009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37072
37073 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37074 arglist for menutitle arguments.
37075
37076 * normal/main.c (grub_normal_menu_addentry): Likewise.
37077
37078 * normal/parser.y (menuentry): Likewise.
37079
37080 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37081
37082 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37083 (grub_script_create_cmdmenu): Likewise.
37084
37085 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37086
37087 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37088 changes.
37089
37090 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37091
37092 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37093
37094 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37095
37096 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37097
37098 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37099
37100 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37101
56192c23 371022009-01-30 Christian Franke <franke@computer.org>
37103
37104 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37105 in option help text.
37106
d72521b3 371072009-01-27 Pavel Roskin <proski@gnu.org>
37108
37109 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37110
994b5e84 371112009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37112
37113 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37114
37115 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37116
37117 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37118 unregister function.
37119
6a7eab2c 371202009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37121
37122 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37123
37124 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37125
37126 * util/grub-mkfont.c (usage): Fix typo.
37127
37128 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37129
1806b56e 371302009-01-26 Daniel Mierswa <impulze@impulze.org>
37131
3fb18f09 37132 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37133
336e1fb9 37134 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37135
1806b56e 37136 * kern/misc.c (grub_strcasecmp): New function.
37137 (grub_strcasecmp): Use grub_size_t instead of int for length.
37138 Fix return value.
37139 * include/grub/misc.h: Update function prototypes.
37140
580b2a0f 371412009-01-26 Robert Millan <rmh@aybabtu.com>
37142
37143 * configure.ac: Fix cross-compilation check.
ef257b36 37144
d31c24f1 371452009-01-22 Christian Franke <franke@computer.org>
37146
37147 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37148 (precision) digit string. Allow `.format2' without `format1' (width).
37149 Limit input chars for `%s' output to `format2' if specified. This is
37150 compatible with standard printf ().
37151
3138b44c 371522009-01-22 Christian Franke <franke@computer.org>
37153
37154 * disk/ata.c (grub_ata_wait_status): Replace by ...
37155 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37156 other status bits may be invalid while BSY is asserted.
37157 (grub_ata_check_ready): New function.
37158 (grub_ata_cmd): Removed.
37159 (grub_ata_wait_drq): New function.
37160 (grub_ata_strncpy): Remove inline.
37161 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37162 and error check now done by grub_ata_wait_drq ().
37163 (grub_ata_pio_write): Likewise.
37164 (grub_atapi_identify): Set DEV before check for !BSY. Use
37165 grub_ata_wait_drq () to wait for data.
37166 (grub_ata_device_initialize): Add status register check to
37167 detect missing SATA slave devices. Add debug messages.
37168 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37169 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37170 transfer loop by grub_ata_pio_write ().
37171 (grub_ata_identify): Set DEV before check for !BSY. Use
37172 grub_ata_wait_drq () to wait for data.
ef257b36 37173 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37174 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37175 read/write in one loop. Fix invalid command on write. Fix incomplete
37176 command on (size % batch) == 0. Add missing error check after write of
37177 last block. Add debug messages.
37178 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37179
59a64ef6 371802009-01-19 Christian Franke <franke@computer.org>
37181
37182 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37183 (GRUB_ATAPI_IREASON_*): Likewise.
37184 (grub_ata_pio_write): Fix timeout error return.
37185 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37186 (grub_atapi_wait_drq): New function.
37187 (grub_atapi_packet): New parameter `size'.
37188 Use grub_atapi_wait_drq () and direct write instead of
37189 grub_ata_pio_write ().
37190 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37191 reads the number of bytes requested by the device for each DRQ
37192 assertion.
37193 (grub_atapi_write): Remove old implementation, return not
37194 implemented instead.
37195
1cfe20b3 371962009-01-19 Christian Franke <franke@computer.org>
37197
37198 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37199 of 512 to calculate data size.
37200 (grub_scsi_read12): Likewise.
37201 (grub_scsi_write10): Likewise.
37202 (grub_scsi_write12): Likewise.
37203 (grub_scsi_read): Adjust size according to blocksize.
37204 Add checks for invalid blocksize and unaligned transfer.
37205
bee5fe5d 372062009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37207
37208 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37209
ef257b36 37210 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37211 width glyphs.
37212
3e643f8c 372132009-01-19 Robert Millan <rmh@aybabtu.com>
37214
37215 * config.guess: Update to latest version from config git.
37216 * config.sub: Likewise.
37217
4fa80998 372182009-01-17 Felix Zielcke <fzielcke@z-51.de>
37219
37220 * Makefile.in: Change font compilation to use new grub-mkfont instead
37221 of java version.
37222
37223 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37224 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37225 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37226 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37227 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37228 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37229 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37230 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37231 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37232
7086085b 372332009-01-16 Christian Franke <franke@computer.org>
37234
37235 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37236 (enum grub_ata_timeout_milliseconds): New enum.
37237 (grub_ata_wait_status): Add parameter milliseconds.
37238 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37239 recovery from timed-out commands.
37240 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37241 return grub_errno instead of REG_ERROR.
37242 (grub_ata_pio_write): Add parameter milliseconds.
37243 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37244 Pass milliseconds to grub_ata_wait_status () and
37245 grub_ata_pio_read ().
37246 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37247 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37248 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37249 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37250 It is not suitable for device detection, because DEV bit is ignored,
37251 the command may run too long, and not all devices set the signature
37252 properly.
37253 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37254 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37255 Fix device selection, DEV bit must be set first to address the registers
37256 of the correct device.
37257 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37258 grub_ata_pio_read/write ().
37259 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37260 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37261
4a412913 372622009-01-13 Carles Pina i Estany <carles@pina.cat>
37263
37264 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37265
7795c55e 372662009-01-13 Bean <bean123ch@gmail.com>
d913988c 37267
37268 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37269
7795c55e 372702009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37271
37272 * Makefile.in: (enable_grub_mkfont): New variable.
37273 (freetype_cflags): Likewise.
37274 (freetype_libs): Likewise.
37275
37276 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37277 (grub_mkfont_SOURCES): New variable.
37278 (grub_mkfont_CFLAGS): Likewise.
37279 (grub_mkfont_LDFLAGS): Likewise.
37280
37281 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37282 library if `--enable-grub-mkfont' is requested.
37283 (enable_grub_mkfont): New variable.
37284 (freetype_cflags): Likewise.
37285 (freetype_libs): Likewise.
37286
37287 * util/grub-mkfont.c: New file.
37288
093af1fe 372892009-01-12 Christian Franke <franke@computer.org>
37290
37291 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37292 mode check. Fix setting of compat_use[].
37293
f36cc108 372942009-01-10 Robert Millan <rmh@aybabtu.com>
37295
37296 Update a few copyright years which we forgot to do in 2008 (only for
37297 files whose changes made in 2008 were copyright-significant)
37298
37299 * Makefile.in: Add 2008 to Copyright line.
37300 * disk/ieee1275/ofdisk.c: Likewise.
37301 * disk/efi/efidisk.c: Likewise.
37302 * kern/dl.c: Likewise.
37303 * kern/sparc64/ieee1275/init.c: Likewise.
37304 * kern/mm.c: Likewise.
37305 * kern/efi/mm.c: Likewise.
37306 * boot/i386/pc/boot.S: Likewise.
37307 * genfslist.sh: Likewise.
37308 * fs/iso9660.c: Likewise.
37309 * fs/hfs.c: Likewise.
37310 * fs/jfs.c: Likewise.
37311 * fs/minix.c: Likewise.
37312 * fs/ufs.c: Likewise.
37313 * gensymlist.sh.in: Likewise.
37314 * genkernsyms.sh.in: Likewise.
37315 * include/grub/misc.h: Likewise.
37316 * include/grub/types.h: Likewise.
37317 * include/grub/symbol.h: Likewise.
37318 * include/grub/elf.h: Likewise.
37319 * include/grub/kernel.h: Likewise.
37320 * include/grub/disk.h: Likewise.
37321 * include/grub/dl.h: Likewise.
37322 * include/grub/i386/linux.h: Likewise.
37323 * include/grub/i386/pc/biosdisk.h: Likewise.
37324 * include/grub/efi/api.h: Likewise.
37325 * include/grub/efi/pe32.h: Likewise.
37326 * include/grub/util/misc.h: Likewise.
37327 * normal/execute.c: Likewise.
37328 * normal/arg.c: Likewise.
37329 * normal/completion.c: Likewise.
37330 * normal/lexer.c: Likewise.
37331 * normal/parser.y: Likewise.
37332 * normal/misc.c: Likewise.
37333 * commands/i386/pc/vbeinfo.c: Likewise.
37334 * commands/hexdump.c: Likewise.
37335 * commands/terminal.c: Likewise.
37336 * commands/ls.c: Likewise.
37337 * commands/help.c: Likewise.
37338 * partmap/pc.c: Likewise.
37339 * loader/efi/chainloader.c: Likewise.
37340 * loader/multiboot_loader.c: Likewise.
37341 * loader/i386/pc/multiboot2.c: Likewise.
37342 * term/efi/console.c: Likewise.
37343 * term/i386/pc/serial.c: Likewise.
37344 * util/lvm.c: Likewise.
37345 * util/console.c: Likewise.
37346 * util/i386/efi/grub-mkimage.c: Likewise.
37347 * util/raid.c: Likewise.
37348
7f02114b 373492009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37350
37351 * commands/videotest.c: Removed include to grub/machine/memory.h.
37352
37353 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37354 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37355 (video_mod_SOURCES): Removed.
37356 (video_mod_CFLAGS): Likewise.
37357 (video_mod_LDFLAGS): Likewise.
37358 (gfxterm_mod_SOURCES): Likewise.
37359 (gfxterm_mod_CFLAGS): Likewise.
37360 (gfxterm_mod_LDFLAGS): Likewise.
37361 (videotest_mod_SOURCES): Likewise.
37362 (videotest_mod_CFLAGS): Likewise.
37363 (videotest_mod_LDFLAGS): Likewise.
37364 (bitmap_mod_SOURCES): Likewise.
37365 (bitmap_mod_CFLAGS): Likewise.
37366 (bitmap_mod_LDFLAGS): Likewise.
37367 (tga_mod_SOURCES): Likewise.
37368 (tga_mod_CFLAGS): Likewise.
37369 (tga_mod_LDFLAGS): Likewise.
37370 (jpeg_mod_SOURCES): Likewise.
37371 (jpeg_mod_CFLAGS): Likewise.
37372 (jpeg_mod_LDFLAGS): Likewise.
37373 (png_mod_SOURCES): Likewise.
37374 (png_mod_CFLAGS): Likewise.
37375 (png_mod_LDFLAGS): Likewise.
37376
37377 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37378 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37379 (video_mod_SOURCES): Added.
37380 (video_mod_CFLAGS): Likewise.
37381 (video_mod_LDFLAGS): Likewise.
37382 (videotest_mod_SOURCES): Likewise.
37383 (videotest_mod_CFLAGS): Likewise.
37384 (videotest_mod_LDFLAGS): Likewise.
37385 (bitmap_mod_SOURCES): Likewise.
37386 (bitmap_mod_CFLAGS): Likewise.
37387 (bitmap_mod_LDFLAGS): Likewise.
37388 (tga_mod_SOURCES): Likewise.
37389 (tga_mod_CFLAGS): Likewise.
37390 (tga_mod_LDFLAGS): Likewise.
37391 (jpeg_mod_SOURCES): Likewise.
37392 (jpeg_mod_CFLAGS): Likewise.
37393 (jpeg_mod_LDFLAGS): Likewise.
37394 (png_mod_SOURCES): Likewise.
37395 (png_mod_CFLAGS): Likewise.
37396 (png_mod_LDFLAGS): Likewise.
37397 (gfxterm_mod_SOURCES): Likewise.
37398 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37399 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37400
37401 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37402 grub/machine/console.h.
37403
644fff97 374042009-01-04 Jerone Young <jerone@gmail.com>
37405
37406 Make on screen instructions clearer
37407
37408 Based on patch created by Jidanni <jidanni@jidanni.org>
37409
37410 * normal/menu.c: print clearer instructions on the screen
37411
1e901a75 374122009-01-02 Colin D Bennett <colin@gibibit.com>
37413
37414 New font engine.
34c44600 37415
1e901a75 37416 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37417 build system and fixed gfxterm.c to work with different sized fonts.
37418
37419 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37420
1e901a75 37421 * configure: Re-generated.
34c44600 37422
1e901a75 37423 * DISTLIST: Removed font/manager.c.
37424 Added font/font.c.
37425 Added font/font_cmd.c.
34c44600 37426
1e901a75 37427 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37428 compilation.
34c44600 37429
1e901a75 37430 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37431
37432 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37433
37434 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37435
1e901a75 37436 * normal/menu.c: Likewise.
34c44600 37437
1e901a75 37438 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37439 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37440
1e901a75 37441 * include/grub/font.h: Replaced with new file.
34c44600 37442
1e901a75 37443 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37444 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37445 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37446 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37447 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37448 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37449 fg_red, fg_green, fg_blue, fg_alpha.
37450 (grub_video_adapter): Removed blit_glyph.
34c44600 37451 (grub_video_blit_glyph): Removed.
37452
1e901a75 37453 * font/manager.c: Removed file.
34c44600 37454
37455 * font/font.c: New file.
37456
1e901a75 37457 * font/font_cmd.c: Likewise.
34c44600 37458
1e901a75 37459 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37460
1e901a75 37461 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37462 (grub_video_vbe_map_rgba): Likewise.
37463 (grub_video_vbe_unmap_color_int): Likewise.
37464 (grub_video_vbe_blit_glyph): Removed.
37465 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37466
1e901a75 37467 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37468 (get_pixel): Likewise.
34c44600 37469 (set_pixel): Likewise.
37470
1e901a75 37471 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37472
1e901a75 37473 * term/gfxterm.c: Adapted to new font engine.
34c44600 37474
1e901a75 37475 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37476
1e901a75 37477 * term/i386/pc/vga.c: Likewise.
34c44600 37478
1e901a75 37479 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37480
1e901a75 37481 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37482
1e901a75 37483 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37484
1e901a75 37485 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37486
1e901a75 37487 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37488
1e901a75 37489 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37490
1e901a75 37491 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37492
1e901a75 37493 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37494
1e901a75 37495 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37496
37497 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37498
1e901a75 37499 * util/grub-mkconfig_lib.in: Changed font extension.
37500
278922e8 375012008-12-28 Felix Zielcke <fzielcke@z-51.de>
37502
37503 * util/getroot.c (grub_util_get_grub_dev): Add support for
37504 /dev/md/dNNpNN style partitionable mdraid devices.
37505
3ced05cf 375062008-12-12 Alex Smith <alex@alex-smith.me.uk>
37507
37508 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37509 at a time limit of the PXE TFTP API correctly.
37510 (grub_pxefs_close): Likewise.
37511
7fd0ee30 375122008-11-29 Robert Millan <rmh@aybabtu.com>
37513
34c44600 37514 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37515 grub_ata_device_initialize() calls.
37516
34c44600 375172008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37518
37519 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37520 iteration failed.
37521 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37522
89313780 375232008-11-28 Robert Millan <rmh@aybabtu.com>
37524
37525 Fix build on powerpc-ieee1275. Based on patch created by
37526 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37527 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37528 `kern/ieee1275/mmap.c'.
37529 * include/grub/powerpc/ieee1275/memory.h: New file.
37530
15257703 37531 Provide grub-install on coreboot.
37532 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37533 (grub_install_SOURCES): New variable.
37534 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37535 usable on coreboot.
37536
9fc5388a 375372008-11-25 Felix Zielcke <fzielcke@z-51.de>
37538
37539 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37540 to `grub_term_input_t'.
37541 (grub_term_get_current_output): Change return type to
37542 `grub_term_output_t'.
37543
bc3a2f31 375442008-11-22 Robert Millan <rmh@aybabtu.com>
37545
34c44600 37546 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37547 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37548 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37549 grub_vga_text_cls().
37550
80fc88f2 37551 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37552 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37553
cbf36fd3 37554 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37555 to 0x200000 (avoids trouble with some OFW implementations, and matches
37556 with the one in Yaboot).
37557 Reported by Manoel Abranches
37558
73e8e268 375592008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37560
37561 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37562 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37563
73e8e268 37564 * util/grub-mkconfig_lib.in (grub_warn): New function.
37565 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37566 warnings, to obtain consistent formatting.
37567 * util/grub.d/00_header.in: Likewise.
37568 * util/update-grub_lib.in: Likewise.
37569
e94045a1 37570 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37571 Move comment text to `#error' stanza.
e94045a1 37572
79d29fd7 37573 Harmonize ieee1275's grub_available_iterate() with the generic
37574 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37575 build problem on i386-ieee1275):
37576 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37577 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37578 parameter `type'. Update all users of this function.
37579 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37580 `kern/ieee1275/mmap.c'.
37581 * kern/ieee1275/init.c
37582 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37583 with ...
37584 (grub_machine_mmap_iterate): ... this.
37585 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37586 return type to `grub_err_t'. Update all implementations of this
37587 function prototype.
37588 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37589 Likewise.
37590
60d6b16e 37591 Add `lsmmap' command (lists firmware-provided memory map):
37592 * commands/lsmmap.c: New file.
37593 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37594 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37595 variables.
37596 * conf/powerpc-ieee1275.rmk: Likewise.
37597 * conf/i386-coreboot.rmk: Likewise.
37598 * conf/i386-ieee1275.rmk: Likewise.
37599
ebaaf49b 376002008-11-19 Robert Millan <rmh@aybabtu.com>
37601
37602 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37603 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37604 constraints to initrd allocation (based on code from
37605 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37606 for Linux to find it.
ebaaf49b 37607
dfab719f 376082008-11-14 Robert Millan <rmh@aybabtu.com>
37609
37610 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37611 order to cope with duplicate slashes.
37612
10fc3eb9 376132008-11-14 Robert Millan <rmh@aybabtu.com>
37614
37615 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37616 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37617 don't want to mess with lower memory, because it is used in the Linux
37618 loader.
37619
37620 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37621 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37622 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37623 is in our heap (probably as a result of it being corrupted during
2f2a3442 37624 decompression). Add #error instance with comment to explain why this
37625 loader isn't currently usable on PC/BIOS.
10fc3eb9 37626
e2e07847 376272008-11-14 Robert Millan <rmh@aybabtu.com>
37628
37629 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37630 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37631
fe8e8d69 376322008-11-12 Robert Millan <rmh@aybabtu.com>
37633
37634 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37635
37636 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37637 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37638 from here ...
37639 * include/grub/i386/pc/memory.h: ... to here.
37640
976b07d0 376412008-11-12 Robert Millan <rmh@aybabtu.com>
37642
37643 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37644 split).
37645
37646 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37647 (grub_console_cur_color, grub_console_real_putchar)
37648 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37649 (grub_console_setcolorstate, grub_console_setcolor)
37650 (grub_console_getcolor): Move from here ...
37651 * include/grub/i386/vga_common.h: ... to here (new file).
37652
37653 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37654 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37655 `<grub/i386/io.h>'.
37656 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37657 `<grub/i386/vga_common.h>'.
37658
76679cd3 376592008-11-12 Robert Millan <rmh@aybabtu.com>
37660
37661 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37662 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37663 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37664 variables.
37665 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37666 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37667
37668 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37669 grub_console_init() with call to grub_vga_text_init().
37670 (grub_machine_fini): Replace call to
37671 grub_console_fini() with call to grub_vga_text_fini() and
37672 grub_at_keyboard_fini().
37673
37674 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37675 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37676 (grub_console_setcolorstate, grub_console_setcolor)
37677 (grub_console_getcolor): New function prototypes.
37678
37679 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37680 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37681 (grub_vga_text_setcursor): Static-ize.
37682 (grub_vga_text_term): New structure.
37683 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37684
37685 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37686 (grub_console_cur_color, grub_console_standard_color)
37687 (grub_console_normal_color, grub_console_highlight_color)
37688 (map_char, grub_console_putchar, grub_console_getcharwidth)
37689 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37690 (grub_console_getcolor): Move from here ...
37691 * term/i386/vga_common.c: ... to here (same function names).
37692
95b841d3 376932008-11-12 Robert Millan <rmh@aybabtu.com>
37694
37695 Use newly-added Multiboot support in coreboot.
37696
37697 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37698 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37699
37700 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37701 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37702 (codestart): Store the MBI in `startup_multiboot_info' when we're
37703 being loaded using Multiboot.
37704
37705 * kern/i386/coreboot/init.c (grub_machine_init): Move
37706 grub_at_keyboard_init() call to beginning of function (useful for
37707 debugging). Call grub_machine_mmap_init() before attempting to use
37708 grub_machine_mmap_iterate().
37709 (grub_lower_mem, grub_upper_mem): Move from here ...
37710 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37711 here (new file).
37712
37713 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37714 function prototype.
37715
761ca975 377162008-11-12 Robert Millan <rmh@aybabtu.com>
37717
37718 Fix a regression introduced by the at_keyboard.mod split. Because
37719 some terminals are default on some platforms and non-default on
37720 others, the first terminal being registered determines which is
37721 going to be default.
37722
37723 * kern/term.c (grub_term_register_input): If this is the first
37724 terminal being registered, set it as the current one.
37725 (grub_term_register_output): Likewise.
37726
37727 * term/efi/console.c (grub_console_init): Do not call
37728 grub_term_set_current_output() or grub_term_set_current_input().
37729 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37730 * term/i386/pc/console.c (grub_console_init): Likewise.
37731 (grub_console_fini): Do not call grub_term_set_current_input()
37732 (but leave grub_term_set_current_output() to restore text mode).
37733
6c529df7 377342008-11-10 Robert Millan <rmh@aybabtu.com>
37735
37736 * util/grub.d/00_header.in: Add backward compatibility check for
37737 versions of terminal.mod that don't understand `terminal_input' or
37738 `terminal_output'.
37739
132e4113 377402008-11-09 Robert Millan <rmh@aybabtu.com>
37741
37742 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37743 `terminal_input' / `terminal_output', not `terminal'.
37744
ac293d50 377452008-11-08 Robert Millan <rmh@aybabtu.com>
37746
37747 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37748 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37749
0025933a 377502008-11-08 Robert Millan <rmh@aybabtu.com>
37751
37752 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37753 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37754 members. Update all users.
37755 * util/console.c (grub_ncurses_term): Split in ...
37756 (grub_ncurses_term_input): ... this, and ...
37757 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37758 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37759
37c86336 377602008-11-08 Robert Millan <rmh@aybabtu.com>
37761
37762 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37763 (PKGDATA): Add $(pkgdata_SRCDIR).
37764 (pkglib_BUILDDIR): New variable.
37765 (pkgdata_SRCDIR): New variable.
37766 (build_env.mk): New target.
37767 (include_DATA): New variable.
37768 (install-local): Install $(include_DATA) files in $(includedir).
37769
b6c15a2d 377702008-11-07 Pavel Roskin <proski@gnu.org>
37771
d99d46f1 37772 * gendistlist.sh: Use C locale for sorting to ensure consistent
37773 output on all systems.
37774
b6c15a2d 37775 * util/grub.d/00_header.in: Remove incorrect space before
37776 "serial".
37777
c32ee8c9 377782008-11-07 Robert Millan <rmh@aybabtu.com>
37779
37780 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37781 per specification.
37782 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37783 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37784 (based on find_multi_boot1_header).
37785 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37786 using find_multi_boot2_header(), and abort if neither Multiboot or
37787 Multiboot headers were found.
37788
651c29b7 377892008-11-07 Robert Millan <rmh@aybabtu.com>
37790
37791 Modularize at_keyboard.mod:
37792
37793 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37794 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37795 (at_keyboard_mod_LDFLAGS): New variables.
37796
37797 Actual terminal split:
37798
37799 * include/grub/term.h (struct grub_term): Split in ...
37800 (struct grub_term_input): ... this, and ...
37801 (struct grub_term_output): ... this. Update all users.
37802 (grub_term_set_current): Split in ...
37803 (grub_term_set_current_input): ... this, and ...
37804 (grub_term_set_current_output): ... this.
37805 (grub_term_get_current): Split in ...
37806 (grub_term_get_current_input): ... this, and ...
37807 (grub_term_get_current_output): ... this.
37808 (grub_term_register): Split in ...
37809 (grub_term_register_input): ... this, and ...
37810 (grub_term_register_output): ... this.
37811 (grub_term_unregister): Split in ...
37812 (grub_term_unregister_input): ... this, and ...
37813 (grub_term_unregister_output): ... this.
37814 (grub_term_iterate): Split in ...
37815 (grub_term_iterate_input): ... this, and ...
37816 (grub_term_iterate_output): ... this.
37817
37818 * kern/term.c (grub_term_list): Split in ...
37819 (grub_term_list_input): ... this, and ...
37820 (grub_term_list_output): ... this. Update all users.
37821 (grub_cur_term): Split in ...
37822 (grub_cur_term_input): ... this, and ...
37823 (grub_cur_term_output): ... this. Update all users.
37824 (grub_term_set_current): Split in ...
37825 (grub_term_set_current_input): ... this, and ...
37826 (grub_term_set_current_output): ... this.
37827 (grub_term_get_current): Split in ...
37828 (grub_term_get_current_input): ... this, and ...
37829 (grub_term_get_current_output): ... this.
37830 (grub_term_register): Split in ...
37831 (grub_term_register_input): ... this, and ...
37832 (grub_term_register_output): ... this.
37833 (grub_term_unregister): Split in ...
37834 (grub_term_unregister_input): ... this, and ...
37835 (grub_term_unregister_output): ... this.
37836 (grub_term_iterate): Split in ...
37837 (grub_term_iterate_input): ... this, and ...
37838 (grub_term_iterate_output): ... this.
37839
37840 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37841 a check for input and one for output (and only attempt to get keys
37842 from user when input works).
37843
37844 * util/grub-probe.c (grub_term_get_current): Split in ...
37845 (grub_term_get_current_input): ... this, and ...
37846 (grub_term_get_current_output): ... this.
37847 * util/grub-fstest.c: Likewise.
37848 * util/i386/pc/grub-setup.c: Likewise.
37849 * util/grub-editenv.c: Likewise.
37850
37851 Portability adjustments:
37852
37853 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37854 `term/i386/pc/at_keyboard.c'.
37855 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37856 grub_keyboard_controller_init() (now handled by terminal .init).
37857 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37858 grub_at_keyboard_init().
37859 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37860 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37861 at_keyboard.mod via input terminal interface).
37862 * include/grub/i386/coreboot/console.h: Convert into a stub for
37863 `<grub/i386/pc/console.h>'.
37864
37865 Migrate full terminals to new API:
37866
37867 * term/efi/console.c (grub_console_term): Split into ...
37868 (grub_console_term_input): ... this, and ...
37869 (grub_console_term_output): ... this. Update all users.
37870 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37871 (grub_ofconsole_init): Split into ...
37872 (grub_ofconsole_init_input): ... this, and ...
37873 (grub_ofconsole_init_output): ... this.
37874 (grub_ofconsole_term): Split into ...
37875 (grub_ofconsole_term_input): ... this, and ...
37876 (grub_ofconsole_term_output): ... this. Update all users.
37877 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37878 (grub_serial_term_input): ... this, and ...
37879 (grub_serial_term_output): ... this. Update all users.
37880 * term/i386/pc/console.c (grub_console_term): Split into ...
37881 (grub_console_term_input): ... this, and ...
37882 (grub_console_term_output): ... this. Update all users.
37883 (grub_console_term_input): Only enable it on PC/BIOS platform.
37884 (grub_console_init): Remove grub_keyboard_controller_init() call.
37885
37886 Migrate input terminals to new API:
37887
37888 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37889 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37890 i386-specific anyway).
37891 (grub_console_checkkey): Rename to ...
37892 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37893 users.
37894 (grub_keyboard_controller_orig): New variable.
37895 (grub_console_getkey): Rename to ...
37896 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37897 users.
37898 (grub_keyboard_controller_init): Static-ize. Save original
37899 controller value so that it can be restored ...
37900 (grub_keyboard_controller_fini): ... here (new function).
37901 (grub_at_keyboard_term): New structure.
37902 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37903 functions.
37904
37905 Migrate output terminals to new API:
37906
37907 * term/i386/pc/vga.c (grub_vga_term): Change type to
37908 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37909 members. Update all users.
37910 * term/gfxterm.c (grub_video_term): Change type to
37911 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37912 members. Update all users.
37913 * include/grub/i386/pc/console.h (grub_console_checkkey)
37914 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37915 etc).
37916
37917 Migrate `terminal' command and userland tools to new API:
37918
37919 * commands/terminal.c (grub_cmd_terminal): Split into ...
37920 (grub_cmd_terminal_input): ... this, and ...
37921 (grub_cmd_terminal_output): ... this.
37922 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37923 `terminal_input' and `terminal_output'.
37924 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37925 `terminal_input' / `terminal_output' API.
37926 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37927 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37928 provided ${GRUB_TERMINAL}, convert it).
37929
96e5d876 379302008-11-04 Robert Millan <rmh@aybabtu.com>
37931
37932 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37933 for FreeBSD.
37934 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37935
556f3775 379362008-11-03 Bean <bean123ch@gmail.com>
37937
37938 * kern/elf.c (grub_elf32_load): Revert to previous code.
37939 (grub_elf64_load): Likewise.
37940
37941 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37942
926b9823 379432008-11-01 Robert Millan <rmh@aybabtu.com>
37944
37945 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37946 (TARGET_CPPFLAGS): Likewise.
37947 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37948
1432e958 379492008-11-01 Carles Pina i Estany <carles@pina.cat>
37950
37951 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37952
dba3f844 379532008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37954
37955 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37956 addition of objects until the code is not going to be able to fail.
37957
dba3f844 379582008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37959
37960 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37961 (add a missing NULL check, and correct them by moving the pointer
37962 operations after the actual check).
37963
7ab28c21 379642008-10-29 Robert Millan <rmh@aybabtu.com>
37965
37966 * util/i386/pc/grub-install.in: Handle empty string as output from
37967 make_system_path_relative_to_its_root().
37968
1b7748eb 379692008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37970
37971 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37972 circular metadata worst case scenario. If the metadata is circular
37973 then copy the wrap in place.
37974 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37975 project lib/format_text/layout.h
37976 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37977
c9618ab2 379782008-10-03 Felix Zielcke <fzielcke@z-51.de>
37979
7a36edca 37980 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37981
bf981c62 379822008-10-03 Felix Zielcke <fzielcke@z-51.de>
37983
37984 * util/update-grub_lib.in: Mention filename in warning message.
37985
6d994591 379862008-09-29 Felix Zielcke <fzielcke@z-51.de>
37987
37988 * NEWS: Update for rename of update-grub to grub-mkconfig.
37989
18ade780 379902008-09-29 Felix Zielcke <fzielcke@z-51.de>
37991
37992 * util/update-grub_lib.in: Copy to ...
37993 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37994 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37995 * util/update-grub.in: Rename to ...
37996 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37997 option. Add `--output' option to allow users to specify the generated
37998 configuration file. Default to stdout.
37999 (update_grub_dir): Rename to ...
38000 (grub_mkconfig_dir): ... this.
38001 (grub_cfg): Default to an empty string.
38002 * conf/common.rmk (update-grub): Rename to ...
38003 (grub-mkconfig): ... this.
38004 (update-grub_lib): Copy to ...
38005 (grub-mkconfig_lib): ... this.
38006 (update-grub_SCRIPTS): Copy to ...
38007 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38008 (update-grub_DATA): Rename to ...
38009 (grub-mkconfig_DATA): ... this.
38010
556ce6ac 380112008-09-28 Robert Millan <rmh@aybabtu.com>
38012
38013 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38014 to `modified'. Add the real `created' field.
38015 (grub_iso9660_uuid): Use `modified' rather than `created' for
38016 constructing the UUID.
38017
380182008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38019
38020 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38021 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38022
92274e85 380232008-09-28 Bean <bean123ch@gmail.com>
38024
38025 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38026 Thanks to Christian Franke for finding this bug.
38027
add6f17a 380282008-09-25 Robert Millan <rmh@aybabtu.com>
38029
38030 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38031 instances of grub_util_get_disk_name() (see previous commit).
38032
d2a367b8 380332008-09-25 Robert Millan <rmh@aybabtu.com>
38034
38035 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38036 `util/i386/get_disk_name.c'.
38037 * conf/i386-efi.rmk: Likewise.
38038 * conf/x86_64-efi.rmk: Likewise.
38039 * conf/i386-coreboot.rmk: Likewise.
38040 * conf/i386-ieee1275.rmk: Likewise.
38041 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38042 `util/ieee1275/get_disk_name.c'.
38043 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38044 * util/ieee1275/get_disk_name.c: Remove file.
38045 * util/i386/get_disk_name.c: Remove file.
38046 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38047 "hd%d" for device.map entries, rather than using
38048 grub_util_get_disk_name().
38049
81a06771 380502008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38051
38052 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38053 warning.
38054 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38055
5a004279 380562008-09-24 Carles Pina i Estany <carles@pina.cat>
38057
38058 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38059 Changed to 0x5100.
38060 (GRUB_TERM_PPAGE): Changed to 0x4900.
38061
397093d3 380622008-09-24 Robert Millan <rmh@aybabtu.com>
38063
38064 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38065 macros (they were i386-pc specific).
38066 * include/grub/sparc64/ieee1275/console.h: Likewise.
38067 * include/grub/efi/console.h: Likewise.
38068
a91b6c7c 380692008-09-22 Bean <bean123ch@gmail.com>
38070
38071 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38072 resident and in attribute list.
38073
38074 * include/grub/ntfs.h (BMP_LEN): Removed.
38075
c40fd116 380762008-09-22 Bean <bean123ch@gmail.com>
38077
81a06771 38078 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38079 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38080
38081 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38082 error occurs, as grub_disk_open will call grub_disk_close, which will
38083 call p->close (scsi).
38084
81a06771 380852008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38086
38087 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38088 (AC_PREREQ): Bumped to 2.59.
38089 (AC_TRY_COMPILE): Replace obsolete macro with ...
38090 (AC_COMPILE_IFELSE): ... this.
38091 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38092 (AC_LINK_IFELSE): ... this.
38093
5dc43410 380942008-09-21 Felix Zielcke <fzielcke@z-51.de>
38095
38096 * autogen.sh: Add a call to `gendistlist.sh'.
38097
9035dce4 380982008-09-19 Christian Franke <franke@computer.org>
38099
38100 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38101 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38102 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38103 Export __enable_execute_stack() to modules.
38104 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38105 New function.
38106
7fd75377 381072008-09-09 Felix Zielcke <fzielcke@z-51.de>
38108
040030b3 38109 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38110 Sort the list.
38111
381122008-09-09 Felix Zielcke <fzielcke@z-51.de>
38113
38114 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38115 #include <grub/util/hostdisk.h>.
38116
89d5ffcf 381172008-09-08 Robert Millan <rmh@aybabtu.com>
38118
38119 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38120 segments when their filesz is zero (grub_file_read() interprets
81a06771 38121 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38122 Use `lowest_segment' rather than 0 for calculating the current
38123 segment load address.
38124
40da438f 381252008-09-08 Robert Millan <rmh@aybabtu.com>
38126
38127 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38128 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38129 clobbered useful information.
38130
ddbf5556 381312008-09-08 Robert Millan <rmh@aybabtu.com>
38132
38133 * include/grub/util/biosdisk.h: Move to ...
38134 * include/grub/util/hostdisk.h: ... here. Update all users.
38135 * util/biosdisk.c: Move to ...
38136 * util/hostdisk.c: ... here. Update all users.
38137
783d0f48 381382008-09-07 Robert Millan <rmh@aybabtu.com>
38139
38140 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38141 variables.
38142 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38143 and length can be stored directly in the `mbi->mmap_addr' and
38144 `mbi->mmap_length' struct fields.
38145
548e2ea5 381462008-09-07 Robert Millan <rmh@aybabtu.com>
38147
38148 * conf/i386.rmk: New file. Provides declaration for building
38149 `cpuid.mod'.
38150 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38151 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38152 variables.
38153 Include `conf/i386.mk'.
38154 * conf/i386-efi.rmk: Likewise.
38155 * conf/x86_64-efi.rmk: Likewise.
38156 * conf/i386-coreboot.rmk: Likewise.
38157 * conf/i386-ieee1275.rmk: Likewise.
38158
0ea85a37 381592008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38160
38161 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38162 Adds optimization support for BGR based modes.
38163
38164 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38165 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38166 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38167 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38168 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38169 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38170 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38171 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38172 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38173 (grub_video_i386_vbeblit_index_index): Likewise.
38174 (grub_video_i386_vbeblit_replace_directN): Added.
38175 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38176 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38177 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38178 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38179 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38180 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38181 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38182 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38183 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38184 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38185 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38186 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38187 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38188
38189 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38190 (grub_video_i386_vbefill_R8G8B8): Likewise.
38191 (grub_video_i386_vbefill_index): Likewise.
38192 (grub_video_i386_vbefill_direct32): Added.
38193 (grub_video_i386_vbefill_direct24): Likewise.
38194 (grub_video_i386_vbefill_direct16): Likewise.
38195 (grub_video_i386_vbefill_direct8): Likewise.
38196
81a06771 38197 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38198 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38199 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38200 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38201 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38202 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38203
0ea85a37 38204 * video/video.c (grub_video_get_blit_format): Updated to use new
38205 blit formats. Added handling for 16 bit color modes.
81a06771 38206
38207 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38208 fillers.
38209 (common_blitter): Updated to use new blitters.
38210
38211 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38212 Removed.
38213 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38214 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38216 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38217 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38218 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38219 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38220 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38221 (grub_video_i386_vbeblit_index_index): Likewise.
38222 (grub_video_i386_vbeblit_replace_directN): Added.
38223 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38224 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38225 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38226 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38227 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38228 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38229 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38230 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38231 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38232 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38233 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38234 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38235 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38236
0ea85a37 38237 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38238 (grub_video_i386_vbefill_R8G8B8): Likewise.
38239 (grub_video_i386_vbefill_index): Likewise.
38240 (grub_video_i386_vbefill_direct32): Added.
38241 (grub_video_i386_vbefill_direct24): Likewise.
38242 (grub_video_i386_vbefill_direct16): Likewise.
38243 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38244
0ea85a37 38245 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38246 types.
81a06771 38247
0ea85a37 38248 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38249 types.
81a06771 38250
0ea85a37 38251 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38252 blitter types.
81a06771 38253
0ea85a37 38254 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38255 types.
38256
e8a83df6 382572008-09-06 Felix Zielcke <fzielcke@z-51.de>
38258
38259 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38260 RAID level 1.
38261
6bcd8ee5 382622008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38263
6bcd8ee5 38264 * fs/iso9660.c (grub_iso9660_date): New structure.
38265 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38266 (grub_iso9660_uuid): New function.
c375ae58 38267
59261157 382682008-09-05 Bean <bean123ch@gmail.com>
38269
38270 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38271
38272 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38273 insensitive bit for names in Win32 and Win32 & DOS namespace.
38274
38275 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38276
38277 * include/grub/types.h (LONG_MAX): Likewise.
38278
58b6645a 382792008-09-04 Felix Zielcke <fzielcke@z-51.de>
38280
4ee55921 38281 * util/getroot.c: Include <config.h>.
38282 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38283 add support for /dev/md/N devices and handle LVM double dash escaping.
38284
382852008-09-04 Felix Zielcke <fzielcke@z-51.de>
38286
38287 * config.guess: Update to latest version from config git.
38288 * config.sub: Likewise.
58b6645a 38289
9124f65d 382902008-09-03 Robert Millan <rmh@aybabtu.com>
38291
38292 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38293 `disk->total_sectors'.
38294
81a06771 382952008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38296
38297 * include/grub/normal.h: Fixed incorrect comment for
38298 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38299
81a06771 383002008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38301
38302 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38303 values with defines.
38304
38305 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38306 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38307 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38308 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38309 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38310 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38311 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38312 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38313 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38314 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38315 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38316 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38317 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38318 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38319 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38320 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38321 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38322 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38323 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38324
93d5cbf8 383252008-08-31 Robert Millan <rmh@aybabtu.com>
38326
38327 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38328 declaration.
38329 (grub_multiboot): Fix a few warnings.
38330
21751d50 383312008-08-31 Robert Millan <rmh@aybabtu.com>
38332
38333 * loader/i386/pc/multiboot.c: Update comment not to say that
38334 boot_device support is unimplemented.
38335
e27a75c5 383362008-08-31 Robert Millan <rmh@aybabtu.com>
38337
38338 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38339 or memory map support are unimplemented.
38340
81a06771 383412008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38342
38343 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38344
81a06771 383452008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38346
38347 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38348 total video memory in 'vbeinfo' output; show color format details for
38349 each video mode.
38350
7c5d8d95 383512008-08-30 Pavel Roskin <proski@gnu.org>
38352
38353 * util/genmoddep.c: Remove for real this time.
38354 * DISTLIST: Remove util/genmoddep.c.
38355
4cebd25a 383562008-08-30 Robert Millan <rmh@aybabtu.com>
38357
38358 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38359 as required by Multiboot spec (it was already 4-byte aligned, but
38360 only by chance).
38361
b497a269 383622008-08-29 Pavel Roskin <proski@gnu.org>
38363
e3925185 38364 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38365 * kern/powerpc/ieee1275/startup.S: ... this.
38366 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38367 * DISTLIST: Likewise.
38368
b497a269 38369 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38370 grub/cpu/kernel.h. Add start label for consistency with other
38371 platforms. Add grub_prefix immediately after start. Add jump
38372 to the code after grub_prefix.
38373 * include/grub/powerpc/kernel.h: Provide valid values for
38374 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38375
6e5a42fe 383762008-08-29 Bean <bean123ch@gmail.com>
38377
38378 * configure.ac: Change host_os to cygwin for mingw.
38379 (asprintf): New check for function.
38380
38381 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38382 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38383
38384 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38385 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38386 sync, sleep and grub_util_get_disk_size for mingw.
38387
38388 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38389 to get size in mingw.
38390 (open_device): Use flag O_BINARY if it's defined.
38391 (find_root_device): Add dummy code for mingw.
38392
38393 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38394 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38395 (get_scsi_disk_name): Return 0 for mingw.
38396
38397 * util/hostfs.c: #include <grub/util/misc.h>.
38398 (grub_hostfs_open): Use "rb" flag to open file, use
38399 grub_util_get_disk_size to get disk size for mingw.
38400
38401 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38402 (asprintf): New function if HAVE_ASPRINTF is not set.
38403 (sync): New function for mingw.
38404 (sleep): Likewise.
38405 (grub_util_get_disk_size): Likewise.
38406
ab3f2673 384072008-08-28 Pavel Roskin <proski@gnu.org>
38408
38409 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38410 kern/time.c.
38411
1c282483 384122008-08-28 Robert Millan <rmh@aybabtu.com>
38413
38414 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38415
678e849c 384162008-08-28 Robert Millan <rmh@aybabtu.com>
38417
38418 Change find_grub_drive() syntax so it doesn't prevent it from
38419 detecting NULL names as errors.
38420
38421 * util/biosdisk.c (find_grub_drive): Move free slot search code
38422 from here ...
38423 (find_free_slot): ... to here.
38424 (read_device_map): Use find_free_slot() to search for free slots.
38425
965c75ca 384262008-08-27 Marco Gerards <marco@gnu.org>
38427
38428 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38429 (scsi_mod_SOURCES): New variable.
38430 (scsi_mod_CFLAGS): Likewise
38431 (scsi_mod_LDFLAGS): Likewise.
38432
38433 * disk/scsi.c: New file.
38434
38435 * include/grub/scsi.h: Likewise.
38436
38437 * include/grub/scsicmd.h: Likewise.
38438
38439 * disk/ata.c: Include <grub/scsi.h>.
38440 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38441 instead.
38442 (grub_ata_iterate): Skip ATAPI devices.
38443 (grub_ata_open): Only handle ATAPI devices.
38444 (struct grub_atapi_read): Removed.
38445 (grub_atapi_readsector): Likewise.
38446 (grub_ata_read): No longer handle ATAPI devices.
38447 (grub_ata_write): Likewise.
38448 (grub_atapi_iterate): New function.
38449 (grub_atapi_read): Likewise.
38450 (grub_atapi_write): Likewise.
38451 (grub_atapi_open): Likewise.
38452 (grub_atapi_close): Likewise.
38453 (grub_atapi_dev): New variable.
38454 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38455 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38456
38457 * include/grub/disk.h (enum grub_disk_dev_id): Add
38458 `GRUB_DISK_DEVICE_SCSI_ID'.
38459
c07ae501 384602008-08-26 Robert Millan <rmh@aybabtu.com>
38461
38462 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38463 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38464 descriptive.
38465
5ed20adc 384662008-08-23 Bean <bean123ch@gmail.com>
38467
38468 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38469 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38470 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38471 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38472 dm_nv.mod.
38473 (raid5rec_mod_SOURCES): New macro.
38474 (raid5rec_mod_CFLAGS): Likewise.
38475 (raid5rec_mod_LDFLAGS): Likewise.
38476 (raid6rec_mod_SOURCES): Likewise.
38477 (raid6rec_mod_CFLAGS): Likewise.
38478 (raid6rec_mod_LDFLAGS): Likewise.
38479 (mdraid_mod_SOURCES): Likewise.
38480 (mdraid_mod_CFLAGS): Likewise.
38481 (mdraid_mod_LDFLAGS): Likewise.
38482 (dm_nv_mod_SOURCES): Likewise.
38483 (dm_nv_mod_CFLAGS): Likewise.
38484 (dm_nv_mod_LDFLAGS): Likewise.
38485
38486 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38487 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38488 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38489
38490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38491 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38492
38493 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38494
38495 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38496
38497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38498
38499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38500
38501 * disk/raid5_recover.c: New file.
38502
38503 * disk/raid6_recover.c: Likewise.
38504
38505 * disk/mdraid_linux.c: Likewise.
38506
38507 * disk/dmraid_nvidia.c: Likewise.
38508
38509 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38510 ULONG_MAX.
38511
38512 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38513 calculate the size of raid device.
38514 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38515 different layout of raid5.
38516 (grub_raid_scan_device): Remove code specific to mdraid.
38517 (grub_raid_list): New variable.
38518 (free_array): New function.
38519 (grub_raid_register): Likewise.
38520 (grub_raid_unregister): Likewise.
38521 (grub_raid_rescan): Likewise.
38522 (GRUB_MOD_INIT): Don't iterate device here.
38523 (GRUB_MOD_FINI): Use free_array to release resource.
38524
38525 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38526 (grub_raid5_recover_func_t): New function variable type.
38527 (grub_raid6_recover_func_t): Likewise.
38528 (grub_raid5_recover_func): New variable.
38529 (grub_raid6_recover_func): Likewise.
38530 (grub_raid_register): New function.
38531 (grub_raid_unregister): Likewise.
38532 (grub_raid_rescan): Likewise.
38533 (grub_raid_block_xor): Likewise.
38534
38535 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38536 (CMD_CRC): New macro.
38537 (part): Removed.
38538 (read_file): Handle device as well as file.
38539 (cmd_crc): New function.
38540 (fstest): Handle multiple disks.
38541 (options): Remove part, raw and long, add root and diskcount.
38542 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38543 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38544 add handling for the new options, support multiple disks.
38545
38546 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38547
29c18915 385482008-08-23 Bean <bean123ch@gmail.com>
38549
38550 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38551
38552 * genfslist.sh: Ignore kernel.mod.
38553
38554 * genpartmaplist.sh: Likewise.
38555
8415f261 385562008-08-23 Robert Millan <rmh@aybabtu.com>
38557
38558 * util/getroot.c (find_root_device): Skip anything that starts with
38559 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38560
d5a7dc5b 385612008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38562
d5a7dc5b 38563 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38564 * util/grub.d/00_header.in: Allow the administrator to change default
38565 gfxmode via ${GRUB_GFXMODE}.
38566
380cfbb4 385672008-08-21 Felix Zielcke <fzielcke@z-51.de>
38568
38569 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38570
c9baafe7 385712008-08-21 Robert Millan <rmh@aybabtu.com>
38572
38573 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38574 loader.
38575 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38576 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38577
e290bef2 385782008-08-20 Carles Pina i Estany <carles@pina.cat>
38579
38580 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38581 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38582
f9dbfc96 385832008-08-19 Robert Millan <rmh@aybabtu.com>
38584
38585 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38586 (struct grub_virtual_screen): Remove `cursor_color'.
38587 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38588 initialization.
38589 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38590
dd6bd6ab 385912008-08-18 Robert Millan <rmh@aybabtu.com>
38592
38593 Unify (identical) linux_normal.c files.
38594 * loader/i386/efi/linux_normal.c: Move from here ...
38595 * loader/linux_normal.c: ... to here. Update all users.
38596 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38597 * loader/i386/ieee1275/linux_normal.c: Likewise.
38598
7f42f83e 385992008-08-18 Robert Millan <rmh@aybabtu.com>
38600
38601 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38602 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38603 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38604 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38605 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38606 New macros.
38607 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38608 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38609 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38610 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38611 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38612 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38613 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38614 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38615 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38616 portably using grub_getxy().
38617 Replace `-EFI' with `-bzImage' in boot message.
38618
38487ddb 386192008-08-17 Robert Millan <rmh@aybabtu.com>
38620
38621 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38622
deceb3ec 386232008-08-17 Robert Millan <rmh@aybabtu.com>
38624
38625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38626
38627 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38628 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38629 (grub_machine_mmap_iterate): New function declaration.
38630 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38631 structure.
38632 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38633 macros.
38634
38635 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38636 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38637 Move e820 parsing from here ...
38638 * kern/i386/pc/mmap.c: New file.
38639 (grub_machine_mmap_iterate): ... to here.
38640
38641 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38642 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38643 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38644 (grub_available_iterate): Redeclare to return `void', and redeclare
38645 its hook to use grub_uint64_t as addr and size parameters, and rename
38646 to ...
38647 (grub_machine_mmap_iterate): ... this. Update all users.
38648
38649 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38650 to make it more readable. Rename to ...
38651 (grub_machine_mmap_iterate): ... this.
38652
38653 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38654 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38655 (grub_multiboot): Allocate an extra region after the payload, and fill
38656 it with a Multiboot memory map. Adjust a.out loader to calculate size
38657 with the extra space.
38658 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38659 with the extra space.
38660
f8aa0f43 386612008-08-17 Carles Pina i Estany <carles@pina.cat>
38662
9807deb9 38663 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38664
605f5bb6 386652008-08-17 Felix Zielcke <fzielcke@z-51.de>
38666
38667 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38668 mdate-sh to the list `find' searches for.
38669 * DISTLIST: Regenerated.
38670
210db6c6 386712008-08-16 Felix Zielcke <fzielcke@z-51.de>
38672
38673 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38674 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38675 genmoddep.awk, gensymlist.sh.in.
38676 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38677 * DISTLIST: Regenerated.
48cdbfd4 38678 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38679
1082b929 386802008-08-16 Robert Millan <rmh@aybabtu.com>
38681
38682 * disk/raid.c (grub_raid_init): Handle/report errors set by
38683 grub_device_iterate().
38684 * disk/lvm.c (grub_lvm_init): Likewise.
38685
42ce5170 386862008-08-15 Bean <bean123ch@gmail.com>
38687
38688 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38689 and datehook.mod.
38690 (datetime_mod_SOURCES): New macro.
38691 (datetime_mod_CFLAGS): Likewise.
38692 (datetime_mod_LDFLAGS): Likewise.
38693 (date_mod_SOURCES): Likewise.
38694 (date_mod_CFLAGS): Likewise.
38695 (date_mod_LDFLAGS): Likewise.
38696 (datehook_mod_SOURCES): Likewise.
38697 (datehook_mod_CFLAGS): Likewise.
38698 (datehook_mod_LDFLAGS): Likewise.
38699
38700 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38701 and datehook.mod.
38702 (datetime_mod_SOURCES): New macro.
38703 (datetime_mod_CFLAGS): Likewise.
38704 (datetime_mod_LDFLAGS): Likewise.
38705 (date_mod_SOURCES): Likewise.
38706 (date_mod_CFLAGS): Likewise.
38707 (date_mod_LDFLAGS): Likewise.
38708 (datehook_mod_SOURCES): Likewise.
38709 (datehook_mod_CFLAGS): Likewise.
38710 (datehook_mod_LDFLAGS): Likewise.
38711
38712 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38713 and datehook.mod.
38714 (datetime_mod_SOURCES): New macro.
38715 (datetime_mod_CFLAGS): Likewise.
38716 (datetime_mod_LDFLAGS): Likewise.
38717 (date_mod_SOURCES): Likewise.
38718 (date_mod_CFLAGS): Likewise.
38719 (date_mod_LDFLAGS): Likewise.
38720 (datehook_mod_SOURCES): Likewise.
38721 (datehook_mod_CFLAGS): Likewise.
38722 (datehook_mod_LDFLAGS): Likewise.
38723
38724 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38725 and datehook.mod.
38726 (datetime_mod_SOURCES): New macro.
38727 (datetime_mod_CFLAGS): Likewise.
38728 (datetime_mod_LDFLAGS): Likewise.
38729 (date_mod_SOURCES): Likewise.
38730 (date_mod_CFLAGS): Likewise.
38731 (date_mod_LDFLAGS): Likewise.
38732 (datehook_mod_SOURCES): Likewise.
38733 (datehook_mod_CFLAGS): Likewise.
38734 (datehook_mod_LDFLAGS): Likewise.
38735
38736 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38737 and datehook.mod.
38738 (datetime_mod_SOURCES): New macro.
38739 (datetime_mod_CFLAGS): Likewise.
38740 (datetime_mod_LDFLAGS): Likewise.
38741 (date_mod_SOURCES): Likewise.
38742 (date_mod_CFLAGS): Likewise.
38743 (date_mod_LDFLAGS): Likewise.
38744 (datehook_mod_SOURCES): Likewise.
38745 (datehook_mod_CFLAGS): Likewise.
38746 (datehook_mod_LDFLAGS): Likewise.
38747
38748 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38749
38750 * commands/date.c: New file.
38751
38752 * hook/datehook.c: Likewise.
38753
38754 * include/grub/lib/datetime.h: Likewise.
38755
38756 * include/grub/i386/cmos.h: Likewise.
38757
38758 * lib/datetime.c: Likewise.
38759
38760 * lib/i386/datetime.c: Likewise.
38761
38762 * lib/efi/datetime.c: Likewise.
38763
0e9242da 387642008-08-14 Robert Millan <rmh@aybabtu.com>
38765
38766 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38767 (grub_mkelfimage_SOURCES): New variable.
38768 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38769
38770 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38771 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38772 * conf/powerpc-ieee1275.rmk: Likewise.
38773 * conf/i386-ieee1275.rmk: Likewise.
38774
38775 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38776 * kern/i386/coreboot/init.c: Likewise.
38777
38778 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38779 with `<grub/cpu/kernel.h>'.
38780 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38781 to ...
38782 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38783 * kern/i386/coreboot/startup.S: Likewise.
38784
38785 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38786 (GRUB_MOD_GAP): Remove.
38787 * include/grub/powerpc/kernel.h: New file.
38788 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38789 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38790 * include/grub/i386/kernel.h: New file.
38791 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38792 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38793 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38794
38795 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38796 `grub-mkelfimage'.
38797 Use --directory when invoking grub_mkimage.
38798
38799 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38800 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38801 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38802 and GRUB_KERNEL_CPU_PREFIX.
38803
b86408f8 388042008-08-14 Felix Zielcke <fzielcke@z-51.de>
38805
d5e619ca 38806 * include/grub/err.h (grub_err_printf): New function prototype.
38807 * util/misc.c (grub_err_printf): New function.
38808 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38809 grub_printf.
38810 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38811
7161f0e0 388122008-08-13 Robert Millan <rmh@aybabtu.com>
38813
38814 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38815
a1967522 388162008-08-13 Robert Millan <rmh@aybabtu.com>
38817
38818 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38819 boot entry.
38820
371458b5 388212008-08-12 Robert Millan <rmh@aybabtu.com>
38822
38823 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38824 of the relocation code from here ...
38825 (grub_multiboot): ... to here.
38826 (forward_relocator, backward_relocator): Move from here ...
38827 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38828 (grub_multiboot_backward_relocator): ... to here.
38829 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38830 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38831 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38832 (grub_multiboot_forward_relocator_end)
38833 (grub_multiboot_backward_relocator)
38834 (grub_multiboot_backward_relocator_end): New variables.
38835
05f9452b 388362008-08-12 Bean <bean123ch@gmail.com>
38837
38838 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38839
20024ab0 388402008-08-11 Robert Millan <rmh@aybabtu.com>
38841
38842 * kern/i386/linuxbios/startup.S: Move from here ...
38843 * kern/i386/coreboot/startup.S: ... to here.
38844
38845 * kern/i386/linuxbios/init.c: Move from here ...
38846 * kern/i386/coreboot/init.c: ... to here.
38847
38848 * kern/i386/linuxbios/table.c: Move from here ...
38849 * kern/i386/coreboot/mmap.c: ... to here.
38850
38851 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38852
e352e9cd 388532008-08-11 Robert Millan <rmh@aybabtu.com>
38854
38855 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38856 errors. Leave it to the upper layer to handle them.
38857
2d05bc6a 388582008-08-09 Christian Franke <franke@computer.org>
38859
38860 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38861 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38862 Install `grub.d/10_windows' only on Cygwin.
38863 * configure.ac: Add subst of `target_os'.
38864 Check `target_os' also before setting TARGET_OBJ2ELF.
38865 Add `--enable-grub-pe2elf'.
38866
042bd419 388672008-08-08 Robert Millan <rmh@aybabtu.com>
38868
38869 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38870 (grub_last_time): Change type to grub_uint64_t.
38871 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38872 (grub_disk_close): Likewise.
38873
38874 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38875 (run_menu): Migrate code from to using grub_get_time_ms().
38876
38877 * util/misc.c (grub_get_time_ms): New function.
38878
7f280db5 388792008-08-08 Marco Gerards <marco@gnu.org>
38880
38881 * disk/ata.c (grub_ata_regget): Change return type to
38882 `grub_uint8_t'.
38883 (grub_ata_regget2): Likewise.
38884 (grub_ata_wait_status): New function.
38885 (grub_ata_wait_busy): Removed function, updated all users to use
38886 `grub_ata_wait_status'.
38887 (grub_ata_wait_drq): Likewise.
38888 (grub_ata_cmd): New function.
38889 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38890 error handling.
38891 (grub_ata_pio_write): Add error handling.
38892 (grub_atapi_identify): Likewise.
38893 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38894 handling.
38895 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38896 handling. Actually use the detected registers. Reorder the
38897 detection logic such that it is easier to read.
38898 (grub_ata_pciinit): Do not assign the same ID to each controller.
38899 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38900 handling.
38901 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38902
38903 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38904
1fbc5e66 389052008-08-08 Marco Gerards <marco@gnu.org>
38906
38907 * NEWS: Update.
38908
819ce6c0 389092008-08-07 Bean <bean123ch@gmail.com>
38910
38911 * include/grub/x86_64/pci.h: New file.
38912
5c41d44d 389132008-08-07 Christian Franke <franke@computer.org>
38914
38915 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38916 (TIMER2_GATE): Likewise.
38917 (grub_pit_wait): Add enable/disable of the timer2 gate
38918 bit of port 0x61. This fixes a possible infinite loop.
38919
5ebc275d 389202008-08-07 Bean <bean123ch@gmail.com>
38921
38922 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38923 kern/i386/tsc.c and kern/i386/pit.c.
38924
38925 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38926 x86_64 platform.
38927
38928 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38929 <grub/i386/tsc.h>.
38930
38931 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38932
e383b3d0 389332008-08-07 Bean <bean123ch@gmail.com>
38934
38935 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38936
38937 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38938
38939 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38940 multiple inclusion. Add #include <grub/types.h>.
38941
1cbb58ac 389422008-08-06 Christian Franke <franke@computer.org>
38943
38944 * conf/common.rmk: Build and install `10_windows'.
38945 * util/grub.d/10_windows.in: New script.
38946
337f5a1e 389472008-08-06 Pavel Roskin <proski@gnu.org>
38948
38949 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38950
057bc4ac 389512008-08-06 Robert Millan <rmh@aybabtu.com>
38952
38953 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38954 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38955
2b99f123 389562008-08-06 Bean <bean123ch@gmail.com>
38957
38958 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38959 (grub_pxefs_fs_int): Remove dummy definition.
38960 (grub_pxefs_open): Use data->block_size to store the current block
38961 size setting.
38962 (grub_pxefs_read): Use block size stored in data->block_size. As the
38963 value of grub_pxe_blksize can be changed after the file is opened.
38964
9f0234cb 389652008-08-06 Bean <bean123ch@gmail.com>
38966
38967 * fs/i386/pc/pxe.c (curr_file): new variable.
38968 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38969 require the dummy internal file system anymore.
38970 (grub_pxefs_read): Removed.
38971 (grub_pxefs_close): Likewise.
38972 (grub_pxefs_fs_int): Likewise.
38973 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38974 connection when we switch file.
38975 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38976
a55d42e0 389772008-08-06 Robert Millan <rmh@aybabtu.com>
38978
38979 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38980 `halt.mod'.
38981 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38982 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38983
38984 * kern/i386/halt.c: New file.
38985 * kern/i386/reboot.c: Likewise.
38986 * include/grub/i386/reboot.h: Likewise.
38987 * include/grub/i386/halt.h: Likewise.
38988
38989 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38990 Include `<grub/cpu/halt.h>'.
38991 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38992 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38993
38994 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38995 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38996 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38997 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38998 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38999 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39000 from here ...
39001 * include/grub/i386/at_keyboard.h: ... to here.
39002
24371d26 390032008-08-05 Robert Millan <rmh@aybabtu.com>
39004
39005 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39006 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39007 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39008 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39009 `kern/generic/millisleep.c'.
39010
39011 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39012 instead of grub_get_rtc().
39013 (grub_tsc_init): Initialize `tsc_boot_time'.
39014
39015 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39016 (grub_machine_init): Use grub_tsc_init() rather than
39017 installing an RTC-based handler via grub_install_get_time_ms().
39018
39019 * kern/i386/pit.c: New file.
39020 * include/grub/i386/pit.h: Likewise.
39021
9e7007b3 390222008-08-05 Bean <bean123ch@gmail.com>
39023
39024 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39025
39026 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39027 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39028 (pxe_mod_SOURCES): New macro.
39029 (pxe_mod_CFLAGS): Likewise.
39030 (pxe_mod_LDFLAGS): Likewise.
39031 (pxecmd_mod_SOURCES): Likewise.
39032 (pxecmd_mod_CFLAGS): Likewise.
39033 (pxecmd_mod_LDFLAGS): Likewise.
39034
39035 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39036 (grub_pxe_call): Likewise.
39037
39038 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39039
39040 * commands/i386/pc/pxecmd.c: New file.
39041
9f0234cb 39042 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39043
39044 * include/grub/i386/pc/pxe.h: Likewise.
39045
6977d49f 390462008-08-05 Bean <bean123ch@gmail.com>
39047
39048 * util/console.c (grub_console_cur_color): New variable.
39049 (grub_console_standard_color): Likewise.
39050 (grub_console_normal_color): Likewise.
39051 (grub_console_highlight_color): Likewise.
39052 (color_map): Likewise.
39053 (use_color): Likewise.
39054 (NUM_COLORS): New macro.
39055 (grub_ncurses_setcolorstate): Handle color properly.
39056 (grub_ncurses_setcolor): Don't change color here, just remember the
39057 settings, color will be set in grub_ncurses_setcolorstate.
39058 (grub_ncurses_getcolor): New function.
39059 (grub_ncurses_init): Initialize color pairs.
39060 (grub_ncurses_term): New member grub_ncurses_getcolor.
39061
9c2ff3ee 390622008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39063
9c2ff3ee 39064 High resolution timer support. Implemented for x86 CPUs using TSC.
39065 Extracted generic grub_millisleep() so it's linked in only as needed.
39066 This requires a Pentium compatible CPU; if the RDTSC instruction is
39067 not supported, then it falls back on the generic grub_get_time_ms()
39068 implementation that uses the machine's RTC.
39069
39070 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39071 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39072 `kern/generic/millisleep.c'.
39073
39074 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39075 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39076
39077 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39078 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39079
39080 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39081
39082 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39083 `kern/generic/millisleep.c'.
39084
39085 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39086
39087 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39088
39089 * kern/generic/rtc_get_time_ms.c: New file.
39090
39091 * kern/generic/millisleep.c: New file.
337f5a1e 39092
9c2ff3ee 39093 * kern/misc.c: Don't include
39094 <kern/time.h> anymore.
39095 (grub_millisleep_generic): Removed.
39096
39097 * commands/sleep.c (grub_interruptible_millisleep): Uses
39098 grub_get_time_ms() instead of grub_get_rtc().
39099
39100 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39101 function.
39102 (grub_cpu_is_cpuid_supported): New inline function.
39103 (grub_cpu_is_tsc_supported): New inline function.
39104 (grub_tsc_init): New function prototype.
39105 (grub_tsc_get_time_ms): New function prototype.
39106
39107 * kern/i386/tsc.c (grub_get_time_ms): New file.
39108
39109 * include/grub/time.h: Include <grub/types.h.
39110 (grub_millisleep_generic): Removed.
39111 (grub_get_time_ms): New prototype.
39112 (grub_install_get_time_ms): New prototype.
39113 (grub_rtc_get_time_ms): New prototype.
39114
39115 * kern/time.c (grub_get_time_ms): New function.
39116 (grub_install_get_time_ms): New function.
39117
39118 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39119 <grub/time.h> anymore.
39120 (grub_millisleep): Removed.
39121 (grub_machine_init): Call grub_tsc_init.
39122
39123 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39124 get_time_ms() implementation.
39125
39126 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39127 (ieee1275_get_time_ms): New function.
39128 (grub_machine_init): Install get_time_ms() implementation.
39129
39130 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39131 (grub_machine_init): Call grub_tsc_init().
39132 (grub_millisleep): Removed.
bf06a93f 39133
9c2ff3ee 39134 * kern/ieee1275/init.c (grub_millisleep): Removed.
39135 (grub_machine_init): Install ieee1275_get_time_ms()
39136 implementation.
39137 (ieee1275_get_time_ms): New function.
39138 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39139 real work.
39140
9ec92aaf 391412008-08-05 Marco Gerards <marco@gnu.org>
39142
39143 * disk/ata.c: Include <grub/pci.h>.
39144 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39145 (grub_ata_initialize): Rewritten.
39146 (grub_ata_device_initialize): New function.
39147
8d23f507 391482008-08-04 Pavel Roskin <proski@gnu.org>
39149
39150 * kern/main.c: Include grub/mm.h.
39151
5e15ee3d 391522008-08-04 Robert Millan <rmh@aybabtu.com>
39153
39154 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39155 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39156 corruption problem).
39157
a9053f8f 391582008-08-04 Robert Millan <rmh@aybabtu.com>
39159
39160 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39161 warnings introduced in my last commit.
39162
dd19c7d7 391632008-08-03 Robert Millan <rmh@aybabtu.com>
39164
39165 Make PCI available on all i386 architectures.
39166
39167 * include/grub/i386/pc/pci.h: Move from here ...
39168 * include/grub/i386/pci.h: ... to here.
39169
39170 * include/grub/i386/pc/pci.h: Remove.
39171 * include/grub/i386/efi/pci.h: Remove.
39172 * include/grub/x86_64/efi/pci.h: Remove.
39173
39174 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39175 `<grub/cpu/pci.h>'.
39176
39177 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39178 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39179 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39180
39181 * conf/i386-ieee1275.rmk: Likewise.
39182
e14a6184 391832008-08-03 Robert Millan <rmh@aybabtu.com>
39184
39185 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39186 (grub_console_setcursor): Make it possible to set cursor off.
39187
52768e37 391882008-08-03 Robert Millan <rmh@aybabtu.com>
39189
39190 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39191 of modules instead of assuming which platform provides what.
39192 * util/update-grub.in: Likewise.
39193
2d52f57f 391942008-08-03 Robert Millan <rmh@aybabtu.com>
39195
39196 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39197 instead of `grub_install_dos_part' to determine whether a drive needs
39198 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39199 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39200
2a5cd121 392012008-08-02 Robert Millan <rmh@aybabtu.com>
39202
39203 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39204
93808428 392052008-08-02 Robert Millan <rmh@aybabtu.com>
39206
39207 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39208 of informational grub_dprintf() calls.
39209
3bd0a12a 392102008-08-02 Robert Millan <rmh@aybabtu.com>
39211
39212 * disk/memdisk.c (memdisk_size): Don't initialize.
39213 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39214
39215 * include/grub/i386/pc/kernel.h
39216 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39217 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39218 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39219 (grub_arch_memdisk_size): Remove.
39220
39221 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39222 field (was only used to transfer a constant). Add `type' field to
39223 support multiple module types.
39224 (grub_module_iterate): New function.
39225
39226 * kern/device.c (grub_device_open): Do not hide error messages
39227 when grub_disk_open() fails. Use grub_print_error() instead.
39228
39229 * kern/i386/pc/init.c (grub_arch_modules_addr)
39230 (grub_arch_memdisk_size): Remove functions.
39231 (grub_arch_modules_addr): Return the module address in high memory
39232 (now that it isn't copied anymore).
39233
39234 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39235 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39236 decompression routine (grub_total_module_size already includes that
39237 now). Don't copy modules back to low memory.
39238
39239 * kern/main.c: Include `<grub/mm.h>'.
39240 (grub_load_modules): Split out (and use) ...
39241 (grub_module_iterate): ... this function, which iterates through
39242 module objects and runs a hook.
39243 Comment out grub_mm_init_region() call, as it would cause non-ELF
39244 modules to be overwritten.
39245
39246 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39247 the memdisk image in its own region, make it part of the module list.
39248 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39249 (main): Parse --memdisk|-m option, and pass user-provided path as
39250 parameter to generate_image().
39251 (add_segments): Pass `memdisk_path' down to load_modules().
39252 (load_modules): Embed memdisk image in module section when requested.
39253 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39254 `header.type' instead of `header.offset'.
39255
39256 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39257 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39258 (memdisk_mod_LDFLAGS): New variables.
39259 * conf/i386-coreboot.rmk: Likewise.
39260 * conf/i386-ieee1275.rmk: Likewise.
39261
a927cc73 392622008-08-02 Robert Millan <rmh@aybabtu.com>
39263
39264 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39265 (backward_relocator): New variables. Used to allocate and relocate
39266 the payload, respectively.
39267 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39268 address, install the appropriate relocator code in each bound of
a927cc73 39269 the payload, and set the entry point such that
39270 grub_multiboot_real_boot() will jump to one of them.
39271
39272 * kern/i386/loader.S (grub_multiboot_payload_size)
39273 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39274 (grub_multiboot_payload_entry_offset): New variables.
39275 (grub_multiboot_real_boot): Set cpu context to what the relocator
39276 expects, and jump to the relocator instead of the payload.
39277
39278 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39279 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39280 (grub_multiboot_payload_entry_offset): Export.
39281
b15d8a0c 392822008-08-01 Bean <bean123ch@gmail.com>
39283
39284 * normal/menu_entry.c (editor_getline): Don't return the original
39285 string as result, as it will be released by lexer once it has done
39286 using it.
39287
cdfb3d22 392882008-08-01 Robert Millan <rmh@aybabtu.com>
39289
39290 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39291 within menuentries, not before them.
39292 util/grub.d/10_hurd.in: Likewise.
39293
9175e93d 392942008-08-01 Bean <bean123ch@gmail.com>
39295
39296 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39297 (bufio_mod_SOURCES): New macro.
39298 (bufio_mod_CFLAGS): Likewise.
39299 (bufio_mod_LDFLAGS): Likewise.
39300
39301 * include/grub/bufio.h: New file.
39302
39303 * io/bufio.c: Likewise.
39304
39305 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39306 (grub_video_reader_png): Use grub_buffile_open to open file.
39307
39308 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39309 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39310
39311 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39312 (grub_video_reader_tga): Use grub_buffile_open to open file.
39313
39314 * font/manager.c: Include <grub/bufio.h>.
39315 (add_font): Use grub_buffile_open to open file.
39316
3d8383e7 393172008-07-31 Robert Millan <rmh@aybabtu.com>
39318
39319 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39320 ELF segments, use a macro for arbitrarily accessing any of them instead
39321 of preparing a pointer that allows access to one at a time.
39322 (grub_multiboot_load_elf64): Likewise.
39323
16e641b6 393242008-07-31 Bean <bean123ch@gmail.com>
39325
39326 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39327 GRUB_KERNEL_MACHINE_DATA_END.
39328
59198b72 393292008-07-30 Robert Millan <rmh@aybabtu.com>
39330
39331 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39332 Increase from 0x50 to 0x60.
39333 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39334 use UUIDs to identify the root drive for them. If that's not
39335 possible, abort.
39336 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39337 check, for cross-disk installs.
39338
ae88bca3 393392008-07-30 Robert Millan <rmh@aybabtu.com>
39340
39341 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39342 is non-empty, use it to set the `prefix' environment variable instead
39343 of the usual approach.
39344 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39345 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39346 environment variable instead of dummy make_install_device().
39347
39348 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39349 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39350 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39351
39352 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39353 New variable reference.
39354 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39355 New macro. Defines offset of `grub_prefix' within startup.S (relative
39356 to `start').
39357 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39358 section within startup.S (relative to `start').
39359 * include/grub/i386/coreboot/kernel.h: Likewise.
39360
39361 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39362 Overwrite grub_prefix with its contents, at the beginning of the
39363 first segment.
39364 (main): Understand -p|--prefix.
39365
14f41dd1 393662008-07-30 Robert Millan <rmh@aybabtu.com>
39367
39368 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39369
4ca049a3 393702008-07-30 Robert Millan <rmh@aybabtu.com>
39371
39372 * term/i386/pc/vga_text.c (grub_console_cls): Use
39373 grub_console_gotoxy() to go back to beginning of the screen.
39374 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39375
2921d337 393762008-07-29 Christian Franke <franke@computer.org>
39377
39378 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39379 Add conversion of emulated mount points on Cygwin.
39380
b609876d 393812008-07-29 Christian Franke <franke@computer.org>
39382
39383 * util/update-grub.in: Add a check for admin
39384 group on Cygwin.
39385 Remove old `grub.cfg.new' before creation.
39386 Add `-f' to `mv' to handle the different filesystem
39387 semantics of Windows.
39388
e93e4679 393892008-07-29 Bean <bean123ch@gmail.com>
39390
39391 * normal/main.c (get_line): Fix buffer overflow bug.
39392
41694fd0 393932008-07-28 Robert Millan <rmh@aybabtu.com>
39394
39395 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39396 (struct grub_apple_header): New struct. Describes the layout of
39397 the partmap header.
39398 (apple_partition_map_iterate): Check the header magic as well as the
39399 partition magic (which was already being checked).
39400
cfd0b4e6 394012008-07-28 Pavel Roskin <proski@gnu.org>
39402
39403 * genmk.rb: Add a warning to the beginning of the output that
39404 it's a generated file and should not be edited.
39405
93cce016 394062008-07-28 Robert Millan <rmh@aybabtu.com>
39407
39408 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39409 with the same number are found, just use issue a warning with
39410 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39411
cd1df915 394122008-07-27 Robert Millan <rmh@aybabtu.com>
39413
39414 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39415 information.
39416
b70a8427 394172008-07-27 Bean <bean123ch@gmail.com>
39418
39419 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39420 (grub_fat_find_dir): Ignore case when comparing filename.
39421
8f5e379f 394222008-07-27 Bean <bean123ch@gmail.com>
39423
39424 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39425 smallino, as it's more descriptive, and i8count can be confused with
39426 the other field count.
39427 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39428 inode type.
39429
a85cd5a0 394302008-07-27 Bean <bean123ch@gmail.com>
39431
39432 * commands/crc.c: New file.
39433
39434 * lib/crc.c: Likewise.
39435
39436 * include/grub/lib/crc.h: Likewise.
39437
39438 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39439
39440 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39441 (hexdump): Move this function to ...
39442
39443 * lib/hexdump.c: ... here.
39444
39445 * include/grub/hexdump.h: Renamed to ...
39446
39447 * include/grub/lib/hexdump.h: ... this.
39448
39449 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39450
39451 * util/grub-editenv.c: Likewise.
39452
39453 * include/envblk.h: Renamed to ...
39454
39455 * include/lib/envblk.h: ... this.
39456
39457 * util/envblk.c: Renamed to ...
39458
39459 * lib/envblk.c: ... this.
39460
39461 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39462 lib/hexdump.c.
39463 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39464 (pkglib_MODULES): Add crc.mod.
39465 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39466 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39467 (crc_mod_SOURCES): New macro.
39468 (crc_mod_CFLAGS): Likewise.
39469 (crc_mod_LDFLAGS): Likewise.
39470
39471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39472
39473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39474
39475 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39476
39477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39478
39479 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39480
c298def0 394812008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39482
39483 * commands/help.c: Include <grub/term.h>.
39484 (TERM_WIDTH): Removed. Updated all users.
39485
cc349fb3 394862008-07-27 Pavel Roskin <proski@gnu.org>
39487
39488 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39489 spurious warnings about a comment within a comment.
39490
9051607e 394912008-07-25 Robert Millan <rmh@aybabtu.com>
39492
39493 * util/getroot.c (find_root_device): Skip devices that match
39494 /dev/dm-[0-9]. This lets the real device be found for any type of
39495 abstraction (LVM, EVMS, RAID..).
39496 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39497 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39498 device is found first, find_root_device() will now skip it.
39499
01453bfc 395002008-07-24 Pavel Roskin <proski@gnu.org>
39501
39502 * include/grub/types.h: Use __builtin_bswap32() and
39503 __builtin_bswap64() with gcc 4.3 and newer.
39504
6af9849f 395052008-07-24 Christian Franke <franke@computer.org>
39506
3a0fa256 39507 * util/i386/pc/grub-install.in: If `--debug' is specified,
39508 pass `--verbose' to grub-setup.
39509 Abort script if make_system_path_relative_to_its_root() fails.
39510
7810e747 395112008-07-24 Bean <bean123ch@gmail.com>
39512
39513 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39514 variable `target_platform' should be `platform'.
39515
42290e17 395162008-07-24 Bean <bean123ch@gmail.com>
39517
51cc5193 39518 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39519 (grub_png_init_fixed_block): New function.
39520 (grub_png_decode_image_data): Handle fixed huffman code compression.
39521
2a8a80e4 395222008-07-24 Bean <bean123ch@gmail.com>
39523
39524 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39525 (grub_pe2elf_SOURCES): New macro.
39526 (CLEANFILES): Add grub-pe2elf.
39527
39528 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39529 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39530 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39531 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39532 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39533 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39534 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39535 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39536 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39537 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39538 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39539 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39540 (GRUB_PE32_DT_FUNCTION): Likewise.
39541 (GRUB_PE32_REL_I386_DIR32): Likewise.
39542 (GRUB_PE32_REL_I386_REL32): Likewise.
39543 (grub_pe32_symbol): New structure.
39544 (grub_pe32_reloc): Likewise.
39545
39546 * util/grub-pe2elf.c: New file.
39547
39548 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39549 start symbol in non pc platform.
39550
39551 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39552
39553 The following patches are from Christian Franke.
39554
39555 * include/grub/dl.h: Remove .previous, gas supports this only
39556 for ELF format.
39557
39558 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39559 Remove .type, gas supports this only for ELF format.
39560
39561 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39562 nullbytes in symbol table. This fixes an infinite loop if table is
39563 zero filled.
39564
39565 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39566 TARGET_IMG_LDFLAGS and EXEEXT.
39567
39568 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39569 TARGET_IMG_LDFLAGS_AC.
39570 (grub_CHECK_STACK_ARG_PROBE): New function.
39571
39572 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39573
39574 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39575
39576 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39577 to set TARGET_IMG_LD* accordingly.
39578 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39579 Add call to grub_CHECK_STACK_ARG_PROBE.
39580 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39581
39582 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39583
39584 * genmk.rb: Add EXEEXT to CLEANFILES.
39585
12ccdb75 395862008-07-23 Robert Millan <rmh@aybabtu.com>
39587
39588 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39589 define the codes for arrows and lines used for the menu).
39590 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39591 as well.
39592
39593 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39594 fonts, because the latter are too slow.
39595
18eeaf04 395962008-07-21 Bean <bean123ch@gmail.com>
39597
39598 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39599 a20. Run keyboard test last, as it will cause macbook to halt.
39600
b095e2ad 396012008-07-18 Pavel Roskin <proski@gnu.org>
39602
39603 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39604 load foreign architecture modules correctly anyway. Keep
39605 support for loading host architecture modules, whether we
39606 compile them or not.
39607
737feb35 396082008-07-17 Pavel Roskin <proski@gnu.org>
39609
3f4ce737 39610 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39611 change target_cpu. The compiler default can mismatch target_cpu
39612 in any case.
39613
4ad2d049 39614 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39615 * kern/efi/efi.c: Likewise.
39616
f6130a12 39617 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39618 target compiler is functional.
39619 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39620 are set up.
39621
58393a2d 39622 * configure.ac: Default to efi platform for x86_64-apple. Allow
39623 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39624 adjustments from the rest, only do them if target is not
39625 explicitly given. Merge other adjustments with the final sanity
39626 check. Remove an extraneous check for supported CPU. Be
39627 specific which CPU and which platform is not supported.
39628
737feb35 39629 * configure.ac: Default to pc platform for x86_64.
39630
546f966a 396312008-07-17 Robert Millan <rmh@aybabtu.com>
39632
39633 Partial LinuxBIOS -> Coreboot rename.
39634
39635 * conf/i386-linuxbios.rmk: Renamed to ...
39636 * conf/i386-coreboot.rmk: ... this.
39637 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39638 * configure.ac: Accept "coreboot" as input platform (but maintain
39639 compatibility with "linuxbios").
39640 * include/grub/i386/linuxbios: Renamed to ...
39641 * include/grub/i386/coreboot: ... this.
39642
20011694 396432008-07-17 Bean <bean123ch@gmail.com>
39644
39645 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39646 (appleldr_mod_SOURCE): New variable.
20011694 39647 (appleldr_mod_CFLAGS): Likewise.
39648 (appleldr_mod_LDFLAGS): Likewise.
39649 (pci_mod_SOURCES): Likewise.
39650 (pci_mod_CFLAGS): Likewise.
39651 (pci_mod_LDFLAGS): Likewise.
39652 (lspci_mod_SOURCES): Likewise.
39653 (lspci_mod_CFLAGS): Likewise.
39654 (lspci_mod_LDFLAGS): Likewise.
39655
39656 * conf/x86_64-efi.rmk: New file.
39657
39658 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39659 macro.
39660 (grub_efidisk_write): Likewise.
39661
39662 * include/efi/api.h (efi_call_0): New macro.
39663 (efi_call_1): Likewise.
39664 (efi_call_2): Likewise.
39665 (efi_call_3): Likewise.
39666 (efi_call_4): Likewise.
39667 (efi_call_5): Likewise.
39668 (efi_call_6): Likewise.
39669
39670 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39671 grub_rescue_cmd_chainloader.
39672
39673 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39674 (grub_pe32_optional_header): Change some fields based on i386 or
39675 x86_64 platform.
39676 (GRUB_PE32_PE32_MAGIC): Likewise.
39677
39678 * include/grub/efi/uga_draw.h: New file.
39679
39680 * include/grub/elf.h (STN_ABS): New constant.
39681 (R_X86_64_NONE): Relocation constant for x86_64.
39682 (R_X86_64_64): Likewise.
39683 (R_X86_64_PC32): Likewise.
39684 (R_X86_64_GOT32): Likewise.
39685 (R_X86_64_PLT32): Likewise.
39686 (R_X86_64_COPY): Likewise.
39687 (R_X86_64_GLOB_DAT): Likewise.
39688 (R_X86_64_JUMP_SLOT): Likewise.
39689 (R_X86_64_RELATIVE): Likewise.
39690 (R_X86_64_GOTPCREL): Likewise.
39691 (R_X86_64_32): Likewise.
39692 (R_X86_64_32S): Likewise.
39693 (R_X86_64_16): Likewise.
39694 (R_X86_64_PC16): Likewise.
39695 (R_X86_64_8): Likewise.
39696 (R_X86_64_PC8): Likewise.
39697
39698 * include/grub/i386/efi/pci.h: New file.
39699
39700 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39701 Change it value based on platform.
39702 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39703 (GRUB_E820_RAM): Likewise.
39704 (GRUB_E820_RESERVED): Likewise.
39705 (GRUB_E820_ACPI): Likewise.
39706 (GRUB_E820_NVS): Likewise.
39707 (GRUB_E820_EXEC_CODE): Likewise.
39708 (GRUB_E820_MAX_ENTRY): Likewise.
39709 (grub_e820_mmap): New structure.
39710 (linux_kernel_header): Change the efi field according to different
39711 kernel version, also field from linux_kernel_header.
39712
39713 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39714
39715 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39716 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39717 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39718 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39719 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39720 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39721 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39722 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39723 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39724 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39725
39726 * include/grub/x86_64/efi/kernel.h: New file.
39727
39728 * include/grub/x86_64/efi/loader.h: Likewise.
39729
39730 * include/grub/x86_64/efi/machine.h: Likewise.
39731
39732 * include/grub/x86_64/efi/pci.h: Likewise.
39733
39734 * include/grub/x86_64/efi/time.h: Likewise.
39735
39736 * include/grub/x86_64/linux.h: Likewise.
39737
39738 * include/grub/x86_64/setjmp.h: Likewise.
39739
39740 * include/grub/x86_64/time.h: Likewise.
39741
39742 * include/grub/x86_64/types.h: Likewise.
39743
39744 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39745 GRUB_TARGET_SIZEOF_VOID_P.
39746
39747 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39748 (grub_efi_locate_handle): Likewise.
39749 (grub_efi_open_protocol): Likewise.
39750 (grub_efi_set_text_mode): Likewise.
39751 (grub_efi_stall): Likewise.
39752 (grub_exit): Likewise.
39753 (grub_reboot): Likewise.
39754 (grub_halt): Likewise.
39755 (grub_efi_exit_boot_services): Likewise.
39756 (grub_get_rtc): Likewise.
39757
39758 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39759 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39760 (grub_efi_allocate_pages): Wrap efi calls.
39761 (grub_efi_free_pages): Wrap efi calls.
39762 (grub_efi_get_memory_map): Wrap efi calls.
39763
39764 * kern/x86_64/dl.c: New file.
39765
39766 * kern/x86_64/efi/callwrap.S: Likewise.
39767
39768 * kern/x86_64/efi/startup.S: Likewise.
39769
39770 * loader/efi/appleloader.c: Likewise.
39771
39772 * loader/efi/chainloader.c (cmdline): New variable.
39773 (grub_chainloader_unload): Wrap efi calls.
39774 (grub_chainloader_boot): Likewise.
39775 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39776 command line.
39777
39778 * loader/efi/chainloader_normal.c (chainloader_command):
39779 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39780 command line.
39781
39782 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39783 method.
39784 (grub_e820_add_region): New function.
39785 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39786 booting.
39787 (grub_find_video_card): New function.
39788 (grub_linux_setup_video): New function.
39789 (grub_rescue_cmd_linux): Probe for video information.
39790
39791 * normal/x86_64/setjmp.S: New file.
39792
39793 * term/efi/console.c (map_char): New function.
39794 (grub_console_putchar): Map unicode char.
39795 (grub_console_checkkey): Wrap efi calls.
39796 (grub_console_getkey): Likewise.
39797 (grub_console_getwh): Likewise.
39798 (grub_console_gotoxy): Likewise.
39799 (grub_console_cls): Likewise.
39800 (grub_console_setcolorstate): Likewise.
39801 (grub_console_setcursor): Likewise.
39802
39803 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39804
59652a20 398052008-07-16 Pavel Roskin <proski@gnu.org>
39806
ef294055 39807 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39808 format strings.
39809
59652a20 39810 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39811 pointer, not an integer. This fixes a warning and prevents
39812 precision loss on 64-bit systems.
39813 (relocate_addresses): Remove unneeded cast.
39814
afc3b5d7 398152008-07-15 Pavel Roskin <proski@gnu.org>
39816
506b2b3e 39817 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39818
62ead89c 39819 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39820
c4cd51d7 39821 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39822 Fix comparison between signed and unsigned.
39823
0d3d8f28 39824 * include/grub/i386/ieee1275/console.h: Declare
39825 grub_console_init() and grub_console_fini().
39826
8804b286 39827 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39828 It's empty and unused.
39829
ee01cf35 39830 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39831 beginning to avoid warnings with some compilers.
39832
afc3b5d7 39833 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39834 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39835
e4e8eaa5 398362008-07-14 Pavel Roskin <proski@gnu.org>
39837
407aceb4 39838 * kern/env.c (grub_register_variable_hook): Don't copy empty
39839 string, it leaks memory. Pass "" to grub_env_set(), it should
39840 handle constant strings.
39841
e4e8eaa5 39842 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39843 * commands/cmp.c (grub_cmd_cmp): Likewise.
39844 * kern/dl.c (grub_dl_flush_cache): Likewise.
39845 (grub_dl_load_core): Likewise.
39846 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39847 (grub_elf64_load_phdrs): Likewise.
39848
d4e2dad3 398492008-07-13 Pavel Roskin <proski@gnu.org>
39850
39851 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39852 between signed and unsigned.
39853 (LzmaEnc_Finish): Fix warning about an unused parameter.
39854
aa24b516 398552008-07-13 Bean <bean123ch@gmail.com>
39856
39857 * Makefile.in (enable_lzo): New rule.
39858
39859 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39860
39861 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39862
39863 * boot/i386/pc/lnxboot.S: #include <config.h>.
39864
39865 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39866 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39867
39868 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39869 compression algorithm according to configure macro.
39870
39871 * kern/i386/pc/startup.S (codestart): Likewise.
39872
39873 * kern/i386/pc/lzma_decode.S: New file.
39874
39875 * include/grub/lib/LzFind.h: Likewise.
39876
39877 * include/grub/lib/LzHash.h: Likewise.
39878
39879 * include/grub/lib/LzmaDec.h: Likewise.
39880
39881 * include/grub/lib/LzmaEnc.h: Likewise.
39882
39883 * include/grub/lib/LzmaTypes.h: Likewise.
39884
39885 * lib/LzFind.c: Likewise.
39886
39887 * lib/LzmaDec.c: Likewise.
39888
39889 * lib/LzmaEnc.c: Likewise.
39890
4ae821ac 398912008-07-13 Bean <bean123ch@gmail.com>
39892
39893 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39894 (grub_ext4_extent_header): New structure.
39895 (grub_ext4_extent): Likewise.
39896 (grub_ext4_extent_idx): Likewise.
39897 (grub_ext4_find_leaf): New function.
39898 (grub_ext2_read_block): Handle extents.
39899
9a745147 399002008-07-12 Robert Millan <rmh@aybabtu.com>
39901
39902 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39903
d49a4cf6 399042008-07-11 Robert Millan <rmh@aybabtu.com>
39905
39906 * util/grub.d/40_custom.in: New file. Example on how to add custom
39907 entries to /etc/grub.d.
39908 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39909 40_custom (implicitly, by merging all the grub.d rules).
39910
947414b4 399112008-07-11 Pavel Roskin <proski@gnu.org>
39912
0059cf6f 39913 * commands/read.c (grub_getline): Fix invalid memory access.
39914 Don't add newline to the variable value.
39915
947414b4 39916 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39917 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39918 (serial_hw_get_port): Check validity of the port number.
39919 (grub_cmd_serial): Check return value of serial_hw_get_port().
39920
62a02d00 399212008-07-07 Pavel Roskin <proski@gnu.org>
39922
39923 * boot/i386/pc/diskboot.S (notification_string): Replace
39924 "Loading kernel" with just "loading". This is shorter, less
39925 confusing and saves a few bytes for possible future changes.
39926
3e5581b0 399272008-07-05 Pavel Roskin <proski@gnu.org>
39928
ea387a48 39929 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39930 size for ATAPI devices, they are undefined. Output sector
39931 number in decimal form.
39932
3e5581b0 39933 * disk/ata.c: Use named constants for status bits.
39934
fdecb8fd 399352008-07-04 Pavel Roskin <proski@gnu.org>
39936
bcd35b90 39937 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39938 grub_addr_t before casting it to the void pointer to fix a
39939 warning. Non-addressable regions are discarded earlier.
39940 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39941 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39942 (check_signature): Don't shadow table_header.
39943 (grub_linuxbios_table_iterate): Cast numeric constants to
39944 grub_linuxbios_table_header_t.
39945 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39946 grub_stop().
39947
af58ab3d 39948 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39949 prevent warnings.
39950
1759aa57 39951 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39952 pointer, which can cause warnings. Support 64-bit addresses.
39953
fdecb8fd 39954 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39955 of sizeof(long). This fixes PowerPC image generation on x86_64.
39956
8516d2a8 399572008-07-04 Robert Millan <rmh@aybabtu.com>
39958
39959 This fixes a performance issue when pc & gpt partmap iterators
39960 didn't abort iteration even after our hook found what it was
fe987087 39961 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39962
39963 Some callers relied on previous buggy behaviour, since they would
34c44600 39964 raise an error when their own hooks caused early abortion of its
8516d2a8 39965 iteration.
39966
39967 * kern/device.c (grub_device_open): Improve error message.
39968 * disk/lvm.c (grub_lvm_open): Likewise.
39969 * disk/raid.c (grub_raid_open): Likewise.
39970
39971 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39972 when hook requests it, independently of grub_errno.
39973 (pc_partition_map_probe): Do not fail when find_func() caused
39974 early abortion of pc_partition_map_iterate().
39975
39976 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39977 when hook requests it, independently of grub_errno.
39978 (gpt_partition_map_probe): Do not fail when find_func() caused
39979 early abortion of gpt_partition_map_iterate().
39980
39981 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39982 when hook requests it, independently of grub_errno. Do not fail when
39983 part_map_iterate_hook() caused early abortion of p->iterate().
39984
39985 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39986 when grub_partition_iterate() returned with non-zero.
39987
277d0de9 399882008-07-03 Pavel Roskin <proski@gnu.org>
39989
39990 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39991 like we do in grub_ata_pio_read().
39992 (grub_ata_readwrite): Always write individual sectors. Fix the
39993 sector count for the remainder.
39994 (grub_ata_write): Enable writing to ATA devices. Correctly
39995 report error for ATAPI devices.
39996
d4c9b428 399972008-07-02 Pavel Roskin <proski@gnu.org>
39998
e43fc690 39999 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40000 warning.
40001
f707af42 40002 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40003 for every read sector, we already increment it for the whole
40004 batch. This fixes reading more than 256 sectors at once.
40005
11e16b15 40006 * util/grub-editenv.c (cmd_info): Cast argument to long
40007 explicitly. ptrdiff_t reduces to int on i386.
40008
cbabfdd4 40009 * util/grub-editenv.c (main): Be specific which parameter is
40010 missing.
40011
b8fbce0a 40012 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40013 (memdisk): Make memdisk_orig_addr a pointer.
40014
c9c8e606 40015 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40016 for file offsets, use grub_off_t instead. Fix printf format
40017 warnings.
40018
ca62e598 40019 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40020 there. Real unexpected warnings should not drown in the noise
40021 about known problems.
40022
ce8d1766 40023 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40024 grub_disk_addr_t for memory addresses.
40025
00c7a56a 40026 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40027 explicitly to fix a warning.
40028
08d3ef09 40029 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40030
cb71ba20 40031 * Makefile.in (MODULE_LDFLAGS): New variable.
40032 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40033 the linker accepts --build-id=none.
40034 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40035 MODULE_LDFLAGS.
40036 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40037
d4c9b428 40038 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40039 those in Linux XFS code. Provide a way to access 64-bit parent
40040 inode.
40041 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40042 the end of struct grub_xfs_dir_header.
40043
d4156eee 400442008-07-02 Bean <bean123ch@gmail.com>
40045
40046 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40047 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40048 and GRUB_IEEE1275_FLAG_NO_ANSI.
40049
40050 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40051 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40052 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40053
40054 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40055 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40056
40057 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40058 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40059
40060 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40061 esc sequence on non ANSI terminal.
40062 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40063
40064 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40065 beginning of file.
40066
2270f77b 400672008-07-02 Bean <bean123ch@gmail.com>
40068
40069 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40070 (grub_editenv_SOURCES): New variable.
40071 (pkglib_MODULES): Add loadenv.mod.
40072 (loadenv_mod_SOURCES): New variable.
40073 (loadenv_mod_CFLAGS): Likewise.
40074 (loadenv_mod_LDFLAGS): Likewise.
40075
40076 * include/grub/envblk.h: New file.
40077
40078 * util/envblk.c: New file.
40079
40080 * util/grub-editenv.c: New file.
40081
40082 * commands/loadenv.c: New file.
40083
0e9e51ec 400842008-07-01 Pavel Roskin <proski@gnu.org>
40085
d89b7634 40086 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40087 not unsigned char. This fixes warnings and is consistent with
40088 other tags.
40089
bf1835b1 40090 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40091
8222a04b 40092 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40093
6a42d99d 40094 * term/tparm.c (analyze): Always set *popcount.
40095
10b159d1 40096 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40097 cast to fix a warning.
40098
b8789f6c 40099 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40100 cast to suppress a warning.
40101
29d7e38a 40102 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40103 grub_fshelp_read_file() expects.
40104
f341f669 40105 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40106 write uuid as a 32-bit value in CPU byte order, so declare and
40107 use it as such.
40108
0e9e51ec 40109 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40110 long if the format specifier expects it.
40111 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40112 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40113 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40114 long to fix a warning.
40115 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40116 grub_dprintf() arguments to fix warnings.
40117
3aefa857 401182008-06-30 Pavel Roskin <proski@gnu.org>
40119
56c7668b 40120 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40121 install_bsd_part immediately before core.img is embedded or
40122 modified on disk. This fixes core.img verification if core.img
40123 cannot be embedded.
40124
3aefa857 40125 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40126 core_path to calculate the blocklist.
40127 Patch from Javier Martín <lordhabbit@gmail.com>
40128
5444088d 401292008-06-29 Robert Millan <rmh@aybabtu.com>
40130
40131 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40132 block to disk block.
40133 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40134 Patch from Niels Böhm <bitbucket@arcor.de>
40135
674835c8 401362008-06-29 Robert Millan <rmh@aybabtu.com>
40137
40138 * util/update-grub_lib.in (font_path): Search for fonts in
40139 /boot/grub first, which is more likely to be readable (we aren't
40140 deciding where fonts live, just looking for them).
40141
f527dbc8 401422008-06-26 Pavel Roskin <proski@gnu.org>
40143
6c2d8df6 40144 * util/biosdisk.c (read_device_map): Don't leave dead map
40145 entries for devices failing stat() check.
40146
f527dbc8 40147 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40148 core_path_dev for the core.img path on the target device.
40149
aebe3d13 401502008-06-26 Robert Millan <rmh@aybabtu.com>
40151
40152 * disk/fs_uuid.c: New file.
40153 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40154 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40155 (fs_uuid_mod_LDFLAGS): New variables.
40156 * include/grub/disk.h (grub_disk_dev_id): Add
40157 `GRUB_DISK_DEVICE_UUID_ID'.
40158 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40159 implement iterate().
40160
37aaf354 401612008-06-26 Robert Millan <rmh@aybabtu.com>
40162
40163 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40164 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40165 Linux image includes no initrd.
40166
25ff262a 401672008-06-21 Javier Martín <lordhabbit@gmail.com>
40168
40169 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40170 call to resolve the core image location that effectively appended the
40171 name twice.
40172
76a2bd44 401732008-06-21 Robert Millan <rmh@aybabtu.com>
40174
40175 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40176 call from here ...
40177
40178 * util/grub.d/10_hurd.in: ... to here ...
40179 * util/grub.d/10_linux.in: ... and here.
40180
650e1c79 401812008-06-19 Robert Millan <rmh@aybabtu.com>
40182
fe987087 40183 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40184 after it has been set by grub_machine_set_prefix().
40185
6ce63911 401862008-06-19 Robert Millan <rmh@aybabtu.com>
40187
40188 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40189 search result when not saving to variable, not the other way around.
40190 When saving to variable, abort iteration as soon as a match is found.
40191
73940cec 401922008-06-19 Robert Millan <rmh@aybabtu.com>
40193
40194 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40195 check for partition that provides /boot/grub. Its logic is flawed,
40196 as it prevents prepare_grub_to_access_device() from being called
40197 multiple times.
40198
3c62a39d 401992008-06-19 Robert Millan <rmh@aybabtu.com>
40200
40201 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40202 "insmod" command directly when abstraction modules are needed,
fe987087 40203 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40204 since it had already been processed).
40205
47395a42 402062008-06-19 Pavel Roskin <proski@gnu.org>
40207
40208 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40209 changed. This is needed in case GRUB_LIBDIR changes.
40210 * conf/i386-ieee1275.rmk: Likewise.
40211 * conf/i386-linuxbios.rmk: Likewise.
40212 * conf/i386-pc.rmk: Likewise.
40213 * conf/powerpc-ieee1275.rmk: Likewise.
40214
a145ac2d 402152008-06-18 Pavel Roskin <proski@gnu.org>
40216
40217 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40218 kernel_elf_symlist.c to symlist.c for consistency with other
40219 architectures. Update all users.
40220 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40221
7847c51e 402222008-06-18 Robert Millan <rmh@aybabtu.com>
40223
40224 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40225 it in prefix.
40226
40227 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40228 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40229 a RAID device, run setup() for all members independently on whether
40230 LVM abstraction is being used.
40231 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40232 If grub-mkimage has set `*install_dos_part == -2', don't override this
40233 value.
40234 Perform *install_dos_part adjustments independently on whether
40235 we're embedding or not.
40236 Clarify error message when image is too big for embedding.
40237 Remove duplicate *install_dos_part stanza.
40238
b23e5644 402392008-06-17 Robert Millan <rmh@aybabtu.com>
40240
40241 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40242 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40243 variables.
40244 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40245 values in grub_ofconsole_normal_color and
40246 grub_ofconsole_highlight_color (they're not directly related to
40247 background and foreground).
40248 (grub_ofconsole_setcolorstate): Extract background and foreground
40249 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40250
0aac2f79 402512008-06-17 Robert Millan <rmh@aybabtu.com>
40252
40253 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40254 /boot/grub for the check in last commit, not /boot (they could be
40255 different partitions).
40256
3cca7ef3 402572008-06-16 Robert Millan <rmh@aybabtu.com>
40258
40259 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40260 asked to setup access for the same partition that provides /boot,
40261 don't bother using UUIDs since our root already has the value we
40262 want.
40263
347396d8 402642008-06-16 Robert Millan <rmh@aybabtu.com>
40265
40266 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40267 I2O devices.
40268 Patch from Sven Mueller <sven@debian.org>.
40269
991477f8 402702008-06-16 Robert Millan <rmh@aybabtu.com>
40271
40272 * util/update-grub.in: Check for $EUID instead of $UID.
40273 Reported by Vincent Zweije.
40274
d31a32a1 402752008-06-16 Bean <bean123ch@gmail.com>
40276
fe987087 40277 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40278 (grub_ext2_read_block): Likewise.
40279 (grub_ext2_read_inode): Likewise.
40280 (grub_ext2_mount): Likewise.
40281 (grub_ext2_close): Likewise.
40282 (grub_ext3_get_journal): Removed.
40283
fe987087 40284 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40285 (grub_reiserfs_read_symlink): Likewise.
40286 (grub_reiserfs_mount): Likewise.
40287 (grub_reiserfs_open): Likewise.
40288 (grub_reiserfs_read): Likewise.
40289 (grub_reiserfs_close): Likewise.
40290 (grub_reiserfs_get_journal): Removed.
40291
40292 * fs/fshelp.c (grub_fshelp_read): Removed.
40293 (grub_fshelp_map_block): Likewise.
40294
40295 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40296 (grub_fshelp_journal): Likewise.
40297 (grub_fshelp_read): Likewise.
40298 (grub_fshelp_map_block): Likewise.
40299
3540a760 403002008-06-16 Pavel Roskin <proski@gnu.org>
40301
40302 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40303 floating point anymore.
40304 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40305
95614c84 403062008-06-15 Pavel Roskin <proski@gnu.org>
40307
40308 * commands/ls.c (grub_ls_list_files): Use integer calculations
40309 for human readable format, avoid floating point use.
40310 * kern/misc.c (grub_ftoa): Remove.
40311 (grub_vsprintf): Remove floating point support.
40312
50465dd6 403132008-06-15 Robert Millan <rmh@aybabtu.com>
40314
fe6b695a 40315 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40316 devices.
40317 Reported by Max Vozeler.
40318
a9207284 403192008-06-15 Robert Millan <rmh@aybabtu.com>
40320
40321 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40322 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40323 skipped later.
40324 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40325 the beginning of the prefix.
40326
40327 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40328 It is assumed that if we have a memdisk, grub-mkimage has set
40329 grub_prefix to include the "(memdisk)" drive in it.
40330
a7cbd45a 403312008-06-15 Robert Millan <rmh@aybabtu.com>
40332
40333 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40334 Initialize keyboard controller after registering the terminal, so that
40335 grub_printf() can be called from grub_keyboard_controller_init().
40336
21cf716a 403372008-06-15 Robert Millan <rmh@aybabtu.com>
40338
40339 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40340 extent-btree which is written as big endian on disk.
40341 Reported by Alain Greppin <al@chilibi.org>.
40342
23a64d8e 403432008-06-14 Robert Millan <rmh@aybabtu.com>
40344
40345 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40346 * util/i386/pc/grub-install.in (modules): Likewise.
40347
d687651c 403482008-06-13 Pavel Roskin <proski@gnu.org>
40349
40350 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40351
dfe9ddd4 403522008-06-13 Bean <bean123ch@gmail.com>
40353
40354 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40355
40356 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40357
40358 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40359 to indicate sparse block.
40360
16ae7781 403612008-06-12 Pavel Roskin <proski@gnu.org>
40362
e6d1a308 40363 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40364 number, grub_fshelp_read() does it for us.
40365
16ae7781 40366 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40367 linear disk read with journal translation.
40368 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40369 * include/grub/fshelp.h: Declare grub_fshelp_read().
40370
40fd3a2b 403712008-06-09 Pavel Roskin <proski@gnu.org>
40372
40373 * fs/minix.c (grub_minix_mount): Handle error reading
40374 superblock.
40375
f5679726 403762008-06-08 Robert Millan <rmh@aybabtu.com>
40377
40378 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40379 don't append the RAID prefix afterwards.
40380 Reported by Clint Adams.
40381
ce525529 403822008-06-08 Robert Millan <rmh@aybabtu.com>
40383
40384 Based on description from Pavel:
40385 * kern/disk.c (grub_disk_check_range): Rename to ...
40386 (grub_disk_adjust_range): ... this. Add a comment explaining the
40387 tasks performed by this function.
40388
ad4936a0 403892008-06-08 Robert Millan <rmh@aybabtu.com>
40390
40391 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40392 `num_serial' (for consistency with other variables).
40393 (struct grub_ntfs_data): Add `uuid' member.
40394 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40395 (grub_ntfs_uuid): New function.
40396 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40397
dc20b0f9 403982008-06-07 Pavel Roskin <proski@gnu.org>
40399
40400 * util/biosdisk.c (open_device): Revert last change to the
40401 function, it broke installation. The sector needs to be
40402 different dependent on which device is opened.
40403
c5e3cfba 404042008-06-06 Robert Millan <rmh@aybabtu.com>
40405
40406 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40407 rest of GRUB, and breakage doesn't happen if its value were modified.
40408
40409 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40410 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40411 a constant (same value).
40412 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40413 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40414
26a1f8c4 404152008-06-06 Robert Millan <rmh@aybabtu.com>
40416
40417 * util/biosdisk.c (open_device): Do not modify sector offset when
40418 accessing a partition. kern/disk.c already handles this for us.
40419
25d6b327 404202008-06-06 Robert Millan <rmh@aybabtu.com>
40421
40422 * util/grub-emu.c (grub_machine_init): Move code in this function from
40423 here ...
40424 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40425 segfault in case grub_printf() is called).
40426
40427 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40428 grub_probe. Update all users not to explicitly add it again.
40429 (grub_device): New variable; contains corresponding device for grubdir.
40430 (fs_module, partmap_module, devabstraction_module): Pass
40431 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40432 every time.
40433
9ece62fb 404342008-06-05 Robert Millan <rmh@aybabtu.com>
40435
40436 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40437 is found, print it (same layout as with labels).
40438
1ad36d37 404392008-06-04 Robert Millan <rmh@aybabtu.com>
40440
40441 * util/biosdisk.c (get_drive): Rename to ...
40442 (find_grub_drive): ... this. Update all users.
40443
40444 (get_os_disk): Rename to ...
40445 (convert_system_partition_to_system_disk): ... this. Update all users.
40446
40447 (find_drive): Rename to ...
40448 (find_system_device): ... this. Update all users.
40449
e6a30859 404502008-06-04 Robert Millan <rmh@aybabtu.com>
40451
40452 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40453 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40454 (make_device_map): Likewise.
40455
00c108a4 404562008-06-01 Robert Millan <rmh@aybabtu.com>
40457
40458 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40459 before dereferencing it.
40460
40461 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40462 union with fat12/fat16-specific ones. Add some new fields, including
40463 `num_serial' for both versions.
40464 (struct grub_fat_data): Add `uuid' member.
40465 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40466 names. Initialize `data->uuid' using `num_serial'.
40467 (grub_fat_uuid): New function.
40468 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40469
40470 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40471 (grub_reiserfs_uuid): New function.
40472 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40473 member.
40474
40475 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40476 (grub_xfs_uuid): New function.
40477 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40478
1385c5bb 404792008-06-01 Robert Millan <rmh@aybabtu.com>
40480
40481 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40482 code that is backward compatible with pre-uuid search command.
40483
c682dfd7 404842008-05-31 Robert Millan <rmh@aybabtu.com>
40485
40486 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40487 floppies after everything else, to ensure floppy drive isn't accessed
40488 unnecessarily (patch from Bean).
40489
b7db5d47 404902008-05-31 Robert Millan <rmh@aybabtu.com>
40491
40492 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40493 not print device names when we were asked to set a variable.
40494
6e037aa9 404952008-05-31 Robert Millan <rmh@aybabtu.com>
40496
40497 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40498 using "cursor-on" and "cursor-off" commands (understood at least by
40499 the Open Firmware flavour on OLPC).
40500
41305bc8 405012008-05-31 Michael Gorven <michael@gorven.za.net>
40502
40503 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40504 on and off sequences.
40505
69ba137e 405062008-05-31 Robert Millan <rmh@aybabtu.com>
40507
40508 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40509 * util/update-grub.in: Likewise.
40510
520ae21b 405112008-05-30 Pavel Roskin <proski@gnu.org>
40512
40513 * util/biosdisk.c (linux_find_partition): Simplify logic and
40514 make the code more universal. Keep special processing for
40515 devfs, but use a simple rule for all other devices. If the
40516 device ends with a number, append 'p' and the partition number.
40517 Otherwise, append only the partition number.
40518
5786569b 405192008-05-30 Robert Millan <rmh@aybabtu.com>
40520
40521 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40522 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40523 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40524 the `root' parameter to Linux.
40525
51500452 405262008-05-30 Robert Millan <rmh@aybabtu.com>
40527
40528 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40529 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40530 --fs_uuid with --fs-uuid.
40531 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40532 all filesystems support them).
40533
811d3878 405342008-05-30 Robert Millan <rmh@aybabtu.com>
40535
40536 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40537 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40538
cab63c95 405392008-05-30 Robert Millan <rmh@aybabtu.com>
40540
40541 * util/grub.d/00_header.in: Remove obsolete comment referencing
40542 convert_system_path_to_grub_path().
40543 * util/update-grub.in: Likewise.
40544 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40545 (convert_system_path_to_grub_path): Add a warning message explaining
40546 that this function is deprecated. Rely on is_path_readable_by_grub()
40547 for the readability checks.
40548 (font_path): Use is_path_readable_by_grub() for the readability
40549 check rather than convert_system_path_to_grub_path().
40550
972e2f7a 405512008-05-30 Robert Millan <rmh@aybabtu.com>
40552
40553 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40554 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40555 converting it first.
40556 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40557 grub.cfg for access to font file, and afterwards call it again to set
40558 the root device.
40559
62191274 405602008-05-30 Robert Millan <rmh@aybabtu.com>
40561
40562 * commands/search.c (options): Add --fs_uuid option.
40563 (search_fs_uuid): New function.
40564 (grub_cmd_search): Fix --set argument passing.
40565 Use search_fs_uuid() when requested via --fs_uuid.
40566 (grub_search_init): Update help message.
40567 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40568 and redeclare it as an array of 16-bit words.
40569 (grub_ext2_uuid): New function.
40570 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40571 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40572 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40573 (GRUB_DEVICE_BOOT_UUID): New variables.
40574 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40575 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40576 whenever possible.
40577 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40578 just assume `root' variable has the right value.
40579 * util/grub.d/10_linux.in: Likewise.
40580 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40581 via PRINT_FS_UUID.
40582 (main): Recognise `-t fs_uuid' argument.
40583
01b73ec8 405842008-05-30 Robert Millan <rmh@aybabtu.com>
40585
40586 * util/biosdisk.c (map): Redefine structure to hold information
40587 about GRUB drive name.
fe6b695a 40588 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40589 drive names.
40590 (call_hook): Remove.
40591 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40592 member. Assume drive has partitions.
40593 (grub_util_biosdisk_open): Access device names via `.device' struct
40594 member.
40595 (open_device): Likewise.
40596 (find_drive): Likewise.
40597 (read_device_map): Adjust map[] usage to match the new struct
40598 definition. Don't check for duplicates (still possible, but not cheap
40599 anymore).
40600 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40601 (make_device_name): Remove assumption of BIOS-like drive names.
40602
22f16596 406032008-05-30 Pavel Roskin <proski@gnu.org>
40604
40605 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40606 compiling execute.c doesn't need grub_script.tab.h anymore.
40607 (normal/command.c_DEPENDENCIES): Likewise.
40608 (normal/function.c_DEPENDENCIES): Likewise.
40609 * conf/i386-ieee1275.rmk: Likewise.
40610 * conf/i386-linuxbios.rmk: Likewise.
40611 * conf/i386-pc.rmk: Likewise.
40612 * conf/powerpc-ieee1275.rmk: Likewise.
40613 * conf/sparc64-ieee1275.rmk: Likewise.
40614
528ad8f2 406152008-05-29 Pavel Roskin <proski@gnu.org>
40616
d1dff95d 40617 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40618 when scanning metadata for volume group name.
40619
528ad8f2 40620 * include/grub/script.h: Don't include grub_script.tab.h. It's
40621 a generated file, which may only be included from the files with
40622 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40623 use union YYSTYPE, as the later allows forward declaration.
40624 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40625
47248e08 406262008-05-29 Robert Millan <rmh@aybabtu.com>
40627
40628 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40629 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40630 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40631 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40632 scan codes.
40633
ee632529 406342008-05-29 Robert Millan <rmh@aybabtu.com>
40635
40636 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40637 control key combinations.
40638
eee96e08 406392008-05-29 Robert Millan <rmh@aybabtu.com>
40640
40641 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40642 * util/ieee1275/grub-install.in: ... to here.
40643 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40644 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40645 (grub_install_SOURCES): Likewise.
40646
da9a6a94 406472008-05-29 Robert Millan <rmh@aybabtu.com>
40648
40649 * fs/affs.c: Update copyright year.
40650 * fs/ext2.c: Likewise.
40651 * fs/fshelp.c: Likewise.
40652 * fs/hfsplus.c: Likewise.
40653 * fs/ntfs.c: Likewise.
40654 * fs/xfs.c: Likewise.
40655 * include/grub/fshelp.h: Likewise.
40656 * util/grub-mkdevicemap.c: Likewise.
40657
12e65f3a 406582008-05-28 Robert Millan <rmh@aybabtu.com>
40659
40660 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40661 might need to be fatfs to support some firmware implementations
40662 (e.g. OFW or EFI).
40663
23023641 406642008-05-28 Robert Millan <rmh@aybabtu.com>
40665
40666 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40667 devices.
40668 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40669 (make_device_map): Likewise.
40670
887d2619 406712008-05-20 Bean <bean123ch@gmail.com>
40672
40673 * fs/fshelp.c (grub_fshelp_map_block): New function.
40674 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40675 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40676
40677 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40678 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40679 (grub_fshelp_journal): New structure.
40680 (grub_fshelp_map_block): New function prototype.
40681 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40682 (grub_fshelp_map_block): Likewise.
40683
40684 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40685 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40686 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40687 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40688 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40689 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40690 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40691 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40692 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40693 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40694 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40695 (grub_ext2_sblock): New members for journal support.
40696 (grub_ext3_journal_header): New structure.
40697 (grub_ext3_journal_revoke_header): Likewise.
40698 (grub_ext3_journal_block_tag): Likewise.
40699 (grub_ext3_journal_sblock): Likewise.
40700 (grub_fshelp_node): New members logfile and journal.
40701 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40702 grub_fshelp_map_block to get real block number.
40703 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40704 number.
40705 (grub_ext2_read_inode): Likewise.
40706 (grub_ext3_get_journal): New function.
40707 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40708 (grub_ext2_close): Release memory used by journal.
40709
40710 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40711 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40712 (grub_reiserfs_transaction_header): Renamed to
40713 grub_reiserfs_description_block, replace field data with real_blocks.
40714 (grub_reiserfs_commit_block): New structure.
40715 (grub_reiserfs_data): New member journal.
40716 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40717 number.
40718 (grub_reiserfs_read_symlink): Likewise.
40719 (grub_reiserfs_iterate_dir): Likewise.
40720 (grub_reiserfs_open): Likewise.
40721 (grub_reiserfs_read): Likewise.
40722 (grub_reiserfs_get_journal): New function.
40723 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40724 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40725 using grub_reiserfs_get_journal.
40726 (grub_reiserfs_close): Release memory used by journal.
40727
40728 * fs/affs.c (grub_affs_read_block): Change block type to
40729 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40730
40731 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40732
40733 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40734
40735 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40736
40737 * fs/udf.c (grub_udf_read_block): Change block type to
40738 grub_disk_addr_t. Use type cast to avoid warning.
40739
40740 * fs/xfs.c (grub_xfs_read_block): Likewise.
40741
b7c6bed5 407422008-05-16 Christian Franke <franke@computer.org>
40743
40744 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40745 to ensure that break with ESC will always work.
40746 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40747 Remove ESC from keyboard queue.
40748
eedf167f 407492008-05-16 Christian Franke <franke@computer.org>
40750
40751 * util/biosdisk.c: [__CYGWIN__] Add includes.
40752 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40753 (get_os_disk): Move variable declarations to OS specific
40754 parts to avoid warning.
40755 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40756 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40757 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40758 Cygwin.
40759 * util/getroot.c: [__CYGWIN__] Add includes.
40760 (strip_extra_slashes): Fix "/" case.
40761 [__CYGWIN__] (get_win32_path): New function.
40762 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40763 [__CYGWIN__] (find_root_device): Disable.
40764 [__CYGWIN__] (get_bootsec_serial): New function.
40765 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40766 [__linux__] (grub_guess_root_device): Add early returns to simplify
40767 structure.
40768 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40769 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40770 check for Linux only.
40771
a079699e 407722008-05-15 Bean <bean123ch@gmail.com>
40773
40774 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40775 keyboard hang problem in apple's intel mac.
40776
1cf4059a 407772008-05-09 Robert Millan <rmh@aybabtu.com>
40778
40779 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40780 devices.
40781 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40782 (make_device_map): Likewise.
40783 Reported by Aurelien Jarno <aurel32@debian.org>
40784
ed759390 407852008-05-07 Ian Campbell <ijc@hellion.org.uk>
40786
40787 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40788 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40789 (make_device_map): Output entries for xvd type disks.
40790
b56c4eaa 407912008-05-07 Robert Millan <rmh@aybabtu.com>
40792
40793 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40794 devices.
40795 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40796 (make_device_map): Likewise.
40797 Reported by Roland Dreier <rdreier@cisco.com>
40798
7f8866ed 407992008-05-07 Robert Millan <rmh@aybabtu.com>
40800
40801 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40802 grub_strstr() call. Correct a few mistakes in failure path handling.
40803
b0346e0f 408042008-05-06 Robert Millan <rmh@aybabtu.com>
40805
40806 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40807 Do not print a trailing slash (therefore, the root directory is an
40808 empty string).
40809 (convert_system_path_to_grub_path): Do not remove trailing slash
40810 from make_system_path_relative_to_its_root() output.
40811
40812 * util/i386/pc/grub-install.in: Add trailing slash to output from
40813 make_system_path_relative_to_its_root().
40814
6cf12cbd 408152008-05-06 Robert Millan <rmh@aybabtu.com>
40816
40817 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40818 ensures that output lines aren't intermangled with those sent to
40819 stderr (via grub_util_info()).
40820 * util/grub-probe.c (grub_refresh): Likewise.
40821 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40822
0fbb3117 408232008-05-05 Christian Franke <franke@computer.org>
40824
40825 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40826 Add Cygwin device names.
40827 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40828 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40829 (check_device): Return error instead of success on empty name.
40830 (make_device_map): Move label inside linux specific code to
40831 prevent compiler warning.
40832
8124cdb7 408332008-04-30 Robert Millan <rmh@aybabtu.com>
40834
40835 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40836 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40837 first boot option.
40838 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40839
094c01d0 408402008-04-29 Robert Millan <rmh@aybabtu.com>
40841
40842 * docs/grub.cfg: New file (example GRUB configuration).
40843
f4b1fc02 408442008-04-26 Robert Millan <rmh@aybabtu.com>
40845
329ce2a5 40846 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40847 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40848 and `disk/ieee1275/nand.c'.
f4b1fc02 40849
25f16ec1 408502008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40851
25f16ec1 40852 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40853 i386-linuxbios.
40854
40855 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40856 change the buffer size to 4096 for cdrom device.
40857
40858 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40859 and nand.mod.
40860 (_linux_mod_SOURCES): New variable.
40861 (_linux_mod_CFLAGS): Likewise.
40862 (_linux_mod_LDFLAGS): Likewise.
40863 (linux_mod_SOURCES): Likewise.
40864 (linux_mod_CFLAGS): Likewise.
40865 (linux_mod_LDFLAGS): Likewise.
40866 (nand_mod_SOURCES): Likewise.
40867 (nand_mod_CFLAGS): Likewise.
40868 (nand_mod_LDFLAGS): Likewise.
40869
40870 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40871 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40872 type property. (nand device in olpc don't have this property)
40873
40874 * include/grub/disk.h (grub_disk_dev_id): New macro
40875 GRUB_DISK_DEVICE_NAND_ID.
40876
40877 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40878 function prototype.
40879 (grub_rescue_cmd_initrd): Likewise.
40880
40881 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40882 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40883 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40884
25f16ec1 40885 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40886 GRUB_MACHINE_IEEE1275 is defined.
40887
40888 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40889 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40890
40891 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40892 on nested function heap_init.
40893 (grub_upper_mem): New variable for i386-ieee1275.
40894 (grub_get_extended_memory): New function for i386-ieee1275.
40895 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40896
40897 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40898 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40899 property.
f19dbdb7 40900
25f16ec1 40901 * loader/i386/ieee1275/linux.c: New file.
40902
40903 * loader/i386/ieee1275/linux_normal.c: New file.
40904
40905 * disk/ieee1275/nand.c: New file.
40906
e89d61e9 409072008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40908
40909 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40910 value.
40911 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40912
602566f6 409132008-04-18 Robert Millan <rmh@aybabtu.com>
40914
40915 Restructures early code path on ieee1275 to unify grub_main() as
40916 the first C function that is executed in every platform.
40917
40918 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40919 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40920 cmain().
40921 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40922 * kern/ieee1275/cmain.c (cmain): Rename to ...
40923 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40924 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40925 at the beginning.
40926
57490c2b 409272008-04-18 Robert Millan <rmh@aybabtu.com>
40928
40929 * util/update-grub.in: Fix syntax error when setting
40930 `GRUB_PRELOAD_MODULES'.
40931 Reported by Stephane Chazelas <stephane@artesyncp.com>
40932
1977517d 409332008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40934
40935 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40936 section into account, newer toolchains generate unique build ids
40937 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40938 we want build ids to be preserved
1977517d 40939 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40940 far from other sections don't cause the raw binary images grow
40941 size
40942
bfb1f1a2 409432008-04-15 Robert Millan <rmh@aybabtu.com>
40944
40945 * disk/lvm.c: Update copyright year.
40946 * kern/misc.c: Likewise.
40947
01979850 409482008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40949
40950 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40951 there is no memory left for physical volume name.
01979850 40952
0a1150e2 409532008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40954
40955 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40956 volume name mapping to support bigger than 9 character names properly.
40957
82ead3fe 409582008-04-13 Robert Millan <rmh@aybabtu.com>
40959
40960 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40961 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40962
e54a72f5 409632008-04-13 Christian Franke <franke@computer.org>
40964
40965 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40966 to create a floppy emulation boot CD when non emulation mode
40967 does not work.
40968 Enable Joliet CD filesystem extension.
40969
9fe86034 409702008-04-13 Robert Millan <rmh@aybabtu.com>
40971
40972 * kern/misc.c (grub_strncat): Fix off-by-one error.
40973 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40974
40975 * kern/env.c (grub_env_context_close): Clear current context, not
40976 previous one.
40977 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40978
40979 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40980
7ceeee39 409812008-04-13 Robert Millan <rmh@aybabtu.com>
40982
40983 Improve robustness when handling LVM.
40984
40985 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40986 (and leave `*p' unmodified).
7ceeee39 40987 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40988 through it.
40989 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40990 iterating through it.
40991 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40992 through it.
fe6b695a 40993 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40994 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40995 Don't assume `vg->pvs != NULL' when iterating through it.
40996
58cd3d85 409972008-04-13 Robert Millan <rmh@aybabtu.com>
40998
40999 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41000 * genmk.rb (partmap): New variable.
41001 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41002 (#{partmap}): New target rule.
41003 * genpartmaplist.sh: New file.
41004 * Makefile.in (pkglib_DATA): Add partmap.lst.
41005 (partmap.lst): New target rule.
41006 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41007 modules (including all partition maps), instead of preloading them.
41008
78b51059 410092007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41010
41011 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41012 `linux-boot-prober' (if installed) to detect other operating
41013 systems which are installed on the computer and add them to
41014 the boot menu.
41015 * conf/common.rmk: Build and install 30_os-prober.
41016
a91627b4 410172008-04-12 Robert Millan <rmh@aybabtu.com>
41018
41019 * kern/powerpc/ieee1275/init.c: Move from here ...
41020 * kern/ieee1275/init.c: ... to here. Update all users.
41021
41022 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41023 * kern/ieee1275/cmain.c: ... to here. Update all users.
41024
41025 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41026 * kern/ieee1275/openfw.c: ... to here. Update all users.
41027
41028 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41029 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41030
322562ea 410312008-04-10 Pavel Roskin <proski@gnu.org>
41032
41033 * configure.ac: Always use "_cv_" in cache variables for
41034 compatibility with Autoconf 2.62.
41035
a02a73c5 410362008-04-07 Robert Millan <rmh@aybabtu.com>
41037
41038 Revert grub/machine/init.h addition by Pavel (since it breaks on
41039 i386-ieee1275 and others):
41040 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41041 * util/powerpc/ieee1275/misc.c: Likewise.
41042
25c024b1 410432008-04-07 Robert Millan <rmh@aybabtu.com>
41044
41045 * util/grub-probe.c (probe): Improve error message.
41046
3cbd2f98 410472008-04-07 Robert Millan <rmh@aybabtu.com>
41048
41049 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41050 (this prevents the presence of a bogus entry from ruining the whole
41051 thing).
41052
87a297bf 410532008-04-06 Pavel Roskin <proski@gnu.org>
41054
36747a62 41055 * util/biosdisk.c: Include grub/util/biosdisk.h.
41056 * util/grub-fstest.c (execute_command): Make static.
41057 * util/grub-mkdevicemap.c (check_device): Likewise.
41058 * util/i386/pc/misc.c: Include grub/machine/init.h.
41059 * util/powerpc/ieee1275/misc.c: Likewise.
41060 * util/lvm.c: Include grub/util/lvm.h.
41061 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41062 grub/cache.h.
41063 * util/raid.c: Include grub/util/raid.h.
41064 (grub_util_getdiskname): Make static.
41065
87a297bf 41066 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41067 grub_hostfs_fini(), as they are called from grub_init_all() and
41068 grub_fini_all() respectively. This fixes an infinite loop in
41069 grub-fstest due to double registration of hostfs.
41070 Reported by Christian Franke <Christian.Franke@t-online.de>
41071
f6ce7629 410722008-04-05 Pavel Roskin <proski@gnu.org>
41073
41074 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41075 all 8 functions. Otherwise, probe function 0 only.
41076
070e49e4 410772008-04-04 Pavel Roskin <proski@gnu.org>
41078
8b088a4c 41079 * commands/lspci.c (grub_lspci_iter): Print the bus number
41080 correctly.
41081
4f657021 41082 * commands/lspci.c (grub_pci_classes): Fix typos.
41083 (grub_lspci_iter): Don't print func twice. Print vendor ID
41084 before device ID, as it's normally done.
41085
070e49e4 41086 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41087 Fix signedness warnings.
41088 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41089 Likewise.
41090 * util/ieee1275/get_disk_name.c: Include config.h so that
41091 _GNU_SOURCE is defined and getline() is declared. Mark an
41092 unused argument as such. Fix a signedness warning.
41093
ba7328dc 410942008-04-02 Pavel Roskin <proski@gnu.org>
41095
26887f22 41096 * genkernsyms.sh.in: Use more robust assignments for CC and
41097 srcdir. Quote srcdir.
41098 * gensymlist.sh.in: Likewise. Assert at the compile time that
41099 the symbol table is not empty.
41100
ba7328dc 41101 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41102 * fs/cpio.c (grub_cpio_read): Likewise.
41103
0f582c6b 411042008-04-01 Pavel Roskin <proski@gnu.org>
41105
4b6e1995 41106 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41107 * disk/host.c (grub_host_open): Likewise.
41108 * disk/loopback.c (grub_loopback_open): Likewise.
41109 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41110 disk->id as in disk/host.c, not a multi-character constant.
41111
828a2768 41112 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41113 later is obsolete, potentially dangerous and sets a bad example.
41114 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41115 * util/misc.c (grub_util_get_image_size): Likewise.
41116
2bb4fb47 41117 * disk/loopback.c (options): Improve help for "--partitions".
41118
0f582c6b 41119 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41120 options to align them with the short options, e.g. "echo -e".
41121
a33224e0 411222008-03-31 Bean <bean123ch@gmail.com>
41123
41124 * video/reader/png.c (grub_png_data): New member is_16bit and
41125 image_data.
41126 (grub_png_decode_image_header): Detect 16 bit png image.
41127 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41128 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41129 (grub_video_reader_png): Release memory occupied by image_data.
41130
41131 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41132 4096 bytes.
41133 (grub_nfs_mount): Skip the test for sector per cluster.
41134
41135 * include/grub/ntfs.h (MAX_SPC): Removed.
41136
86cb4f54 411372008-03-31 Bean <bean123ch@gmail.com>
41138
41139 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41140 (grub_probe_SOURCES): Add fs/afs.c.
41141 (grub_fstest_SOURCES): Likewise.
41142 (afs_mod_SOURCES): New variable.
41143 (afs_mod_CFLAGS): Likewise.
41144 (afs_mod_LDFLAGS): Likewise.
41145
41146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41147 (grub_emu_SOURCES): Likewise.
41148
41149 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41150
41151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41152
41153 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41154
41155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41156
41157 * fs/afs.c: New file.
41158
17c74c21 411592008-03-30 Pavel Roskin <proski@gnu.org>
41160
4cb68e89 41161 * disk/host.c: Include grub/misc.h to fix a warning.
41162 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41163 warnings about implicit declarations.
41164
8790bb04 41165 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41166 variable.
41167 * include/grub/i386/loader.h: Change declaration of
41168 grub_linux_boot() to match what grub_loader_set() expects.
41169 * util/getroot.c (grub_guess_root_device): Return const char* to
41170 fix a warning.
41171 * util/grub-probe.c (probe): Fix a warning about uninitialized
41172 abstraction_name variable.
41173 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41174 second argument as unused to fix a warning.
41175
9a3f3296 41176 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41177 missing grub_error() call.
41178
0ecef90d 41179 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41180 2.60 and newer uses it to define datadir.
41181
0bf6d401 41182 * commands/sleep.c: Fix warning about implicit declaration.
41183 * disk/memdisk.c: Likewise.
41184 * loader/aout.c: Likewise.
41185 * loader/i386/bsd_normal.c: Likewise.
41186 * util/grub-probe.c: Likewise.
41187
7cdacf97 41188 * commands/i386/cpuid.c (has_longmode): Make static.
41189 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41190 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41191
17c74c21 41192 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41193 GDT. This is more robust, as %ds can change.
41194 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41195 calling real_to_prot().
41196 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41197
80a3e68b 411982008-03-28 Pavel Roskin <proski@gnu.org>
41199
41200 * kern/i386/pc/startup.S: Assert that uncompressed functions
41201 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41202 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41203 code, as they push parts of the code (error handlers) beyond
41204 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41205 code as correctness and size.
41206
77bcd272 412072008-03-28 Pavel Roskin <proski@gnu.org>
41208
41209 * kern/i386/pc/startup.S
41210 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41211 data block address to the real mode, keep offset minimal. This
41212 works around a bug in AWARD BIOS on old Athlon systems, which
41213 makes CD detection hang.
41214
c5dfd43b 412152008-03-26 Pavel Roskin <proski@gnu.org>
41216
41217 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41218 const.
41219 * include/grub/normal.h: Add grub_parse_color_name_pair()
41220 declaration.
41221
bf962df2 412222008-03-24 Bean <bean123ch@gmail.com>
41223
41224 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41225 (cd_count): Removed.
41226 (cd_drive): New variable.
41227 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41228 (grub_biosdisk_call_hook): Likewise.
41229 (grub_biosdisk_iterate): Change cdrom detection method.
41230 (grub_biosdisk_open): Replace cd_start with cd_drive.
41231 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41232 detect cdrom device.
41233
41234 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41235 Removed.
41236 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41237 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41238 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41239 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41240 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41241 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41242 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41243 (grub_biosdisk_cdrp): New structure.
41244 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41245
41246 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41247
41248 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41249 device.
41250
41251 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41252 New function.
41253
68e7fc7a 412542008-03-20 Robert Millan <rmh@aybabtu.com>
41255
41256 Remove 2 TiB limit in ata.mod.
41257 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41258 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41259 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41260 grub_uint64_t instead of grub_uint32_t.
41261
38ad2cf5 412622008-03-05 Bean <bean123ch@gmail.com>
41263
41264 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41265 (grub_multiboot): Set boot device.
41266
41267 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41268
2b89344e 412692008-03-02 Bean <bean123ch@gmail.com>
41270
41271 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41272 symlink_buffer.
41273
87a95d1f 412742008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41275
41276 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41277 texinfo.tex.
41278
41279 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41280 modified.
41281
41282 * docs/fdl.texi: New file.
f19dbdb7 41283
87a95d1f 41284 * docs/mdate-sh: New file. Copied from gnulib.
41285 * docs/texinfo.tex: Likewise.
41286
41287 * config.guess: Updated from gnulib.
41288 * install-sh: Likewise.
41289
7dc15d8e 412902008-02-28 Robert Millan <rmh@aybabtu.com>
41291
41292 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41293 (aout_mod_SOURCES): New variable.
41294 (aout_mod_CFLAGS): Likewise.
41295 (aout_mod_LDFLAGS): Likewise.
41296
41297 * conf/i386-ieee1275.rmk: Likewise.
41298
b00ab696 412992008-02-28 Robert Millan <rmh@aybabtu.com>
41300
41301 * util/update-grub.in: Reorganise terminal validity check. Accept
41302 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41303 Based on suggestion by Franklin PIAT.
41304
79ca2d78 413052008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41306
41307 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41308 function.
41309 * util/getroot.c (grub_util_check_block_device): New function that
41310 returns the given argument if it is a block device and returns NULL else.
41311 * util/grub-probe.c (argument_is_device): New variable.
41312 (probe): Promote device_name from a variable to an argument. Receive
41313 device_name from grub_util_check_block_device() if path is NULL and from
41314 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41315 (options): Introduce new parameter '-d, --device'.
79ca2d78 41316 (main): Add description of the new parameter to the help screen.
41317 Rename path variable to argument. Set argument_is_device if the '-d'
41318 option is given. Pass argument to probe() depending on
41319 argument_is_device.
41320
0d16e571 413212008-02-24 Bean <bean123ch@gmail.com>
41322
41323 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41324 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41325 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41326 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41327 (GRUB_ISO9660_VOLDESC_END): Likewise.
41328 (grub_iso9660_primary_voldesc): New member escape.
41329 (grub_iso9660_data): New member joliet.
41330 (grub_iso9660_convert_string): New function.
41331 (grub_iso9660_mount): Detect joliet extension.
41332 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41333 (grub_iso9660_iso9660_label): Likewise.
41334
41335 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41336 (grub_setup_SOURCES): Add fs/udf.c.
41337 (grub_fstest_SOURCES): Likewise.
41338 (udf_mod_SOURCES): New variable.
41339 (udf_mod_CFLAGS): Likewise.
41340 (udf_mod_LDFLAGS): Likewise.
41341
41342 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41343 (grub_emu_SOURCES): Likewise.
41344
41345 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41346
41347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41348
41349 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41350
41351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41352
41353 * fs/udf.c: New file.
41354
8a594a17 413552008-02-24 Robert Millan <rmh@aybabtu.com>
41356
41357 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41358 (normal/lexer.c_DEPENDENCIES): New variables.
41359 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41360 (normal/lexer.c_DEPENDENCIES): Likewise.
41361 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41362 (normal/lexer.c_DEPENDENCIES): Likewise.
41363 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41364 (normal/lexer.c_DEPENDENCIES): Likewise.
41365 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41366 (normal/lexer.c_DEPENDENCIES): Likewise.
41367 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41368 (normal/lexer.c_DEPENDENCIES): Likewise.
41369
2dc33c03 413702008-02-23 Robert Millan <rmh@aybabtu.com>
41371
41372 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41373 since they were intended to be in hex. This didn't break previously
41374 because of a bug in gpt_partition_map_iterate() (see below).
41375
41376 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41377 when checking the validity of GPT header.
41378 Remove `partno', since it always provides the same information as `i'.
41379
f6f4cfb0 413802008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41381
41382 * include/grub/efi/time.h: Fix a wrong comment.
41383
79ff665f 413842008-02-19 Pavel Roskin <proski@gnu.org>
41385
41386 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41387 message.
41388
d38e24c2 413892008-02-19 Bean <bean123ch@gmail.com>
41390
41391 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41392 (aout_mod_SOURCES): New variable.
41393 (aout_mod_CFLAGS): Likewise.
41394 (aout_mod_LDFLAGS): Likewise.
41395 (_bsd_mod_SOURCES): New variable.
41396 (_bsd_mod_CFLAGS): Likewise.
41397 (_bsd_mod_LDFLAGS): Likewise.
41398 (bsd_mod_SOURCES): New variable.
41399 (bsd_mod_CFLAGS): Likewise.
41400 (bsd_mod_LDFLAGS): Likewise.
41401
41402 * include/grub/aout.h: New file.
41403
41404 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41405
41406 * include/grub/i386/bsd.h: New file.
41407
41408 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41409 to make it public.
41410
41411 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41412 function is called, so that it's possible to change it inside the hook.
41413 (grub_elf64_load): Likewise.
41414 (grub_elf_file): Don't close the file if elf header is not found.
41415 (grub_elf_close): Close the file if grub_elf_file fails (The new
41416 grub_elf_file won't close it).
41417 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41418 (grub_elf64_size): Likewise.
41419
41420 * kern/i386/loader.S (grub_unix_real_boot): New function.
41421
41422 * loader/aout.c: New file.
41423
41424 * loader/i386/bsd.c: New file.
41425
41426 * loader/i386/bsd_normal.c: New file.
41427
41428 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41429
41430 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41431 can test other formats.
d38e24c2 41432
b93bdb0f 414332008-02-19 Robert Millan <rmh@aybabtu.com>
41434
41435 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41436 (grub_gpt_partition_type_empty): Redefine with macro from
41437 `<grub/gpt_partition.h>'.
41438 (gpt_partition_map_iterate): Adjust partition type comparison.
41439
41440 Export `entry' as partmap-specific `part.data' struct.
41441 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41442
41443 * include/grub/gpt_partition.h (grub_gpt_header)
41444 (grub_gpt_partentry): ... to here (new file).
41445
41446 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41447
41448 (grub_gpt_partition_type_bios_boot): New const variable, defined
41449 with macro from `<grub/gpt_partition.h>'.
41450
41451 (setup): Replace `first_start' with `embed_region', which keeps
41452 track of the embed region (and is partmap-agnostic).
41453
41454 Replace find_first_partition_start() with find_usable_region(),
41455 which finds a usable region for embedding using partmap-specific
41456 knowledge (supports PC/MSDOS and GPT).
41457
41458 Fix all assumptions that the embed region start at sector 1, using
41459 `embed_region.start' from now on. Similarly, use `embed_region.end'
41460 rather than `first_start' to calculate available size.
41461
41462 In grub_util_info() message, replace "into after the MBR" with an
41463 indication of the specific sector our embed region starts at.
41464
66cb40f6 414652008-02-19 Robert Millan <rmh@aybabtu.com>
41466
41467 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41468 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41469 `commands/reboot.c'.
41470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41471 (halt_mod_SOURCES): Likewise.
41472 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41473 (halt_mod_SOURCES): Likewise.
41474
b7202015 414752008-02-17 Christian Franke <franke@computer.org>
41476
41477 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41478
32b0fc49 414792008-02-17 Robert Millan <rmh@aybabtu.com>
41480
41481 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41482 set `first_start' to 0 for non-PC/MSDOS partition maps.
41483
aca63502 414842008-02-16 Robert Millan <rmh@aybabtu.com>
41485
41486 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41487 do not assume partition map is PC/MSDOS before performing checks that
41488 are specific to that layout.
41489
0de8be86 414902008-02-13 Robert Millan <rmh@aybabtu.com>
41491
41492 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41493 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41494 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41495
c3db8364 414962008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41497
41498 * configure.ac: Only a cosmetic change on the handling of
41499 -fno-stack-protector.
41500
f714229e 415012008-02-12 Alexandre Boeglin <alex@boeglin.org>
41502
c3db8364 41503 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41504 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41505 reboot.c.
f714229e 41506 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41507 (halt_mod_SOURCES): New variable.
41508 (halt_mod_CFLAGS): Likewise.
41509 (halt_mod_LDFLAGS): Likewise.
41510 (reboot_mod_SOURCES): Likewise.
41511 (reboot_mod_CFLAGS): Likewise.
41512 (reboot_mod_LDFLAGS): Likewise.
41513
c3db8364 41514 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41515 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41516 reboot.c.
f714229e 41517 (halt_mod_SOURCES): Likewise.
41518 (reboot_mod_SOURCES): Likewise.
41519
c3db8364 41520 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41521 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41522 (reboot_mod_SOURCES): Likewise.
41523
41524 * commands/i386/pc/reboot.c: merge this file ...
41525
41526 * commands/ieee1275/reboot.c: ... and this file ...
41527
41528 * commands/reboot.c: ... to this file.
c3db8364 41529 Add some precompiler directive to include the correct header for
41530 each machine.
f714229e 41531
41532 * commands/ieee1275/halt.c: move this file ...
41533
41534 * commands/halt.c: ... to here.
c3db8364 41535 Add some precompiler directive to include the correct header for
41536 each machine.
f714229e 41537
41538 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41539 (grub_halt): Likewise.
41540
41541 * kern/efi/efi.c (grub_reboot): New function.
41542 (grub_halt): Likewise.
41543
c74493e0 415442008-02-12 Robert Millan <rmh@aybabtu.com>
41545
41546 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41547 /dev (like it is done for /dev/mapper). This doesn't provide support
41548 for EVMS, but at least it is now easy to identify the problem when it
41549 arises.
41550
d0db4b04 415512008-02-11 Robert Millan <rmh@aybabtu.com>
41552
41553 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41554 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41555 comparing it with -1, not 0.
41556
bf748642 415572008-02-10 Robert Millan <rmh@aybabtu.com>
41558
41559 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41560 `disk/lvm.c'.
41561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41562 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41563
41564 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41565 `disk/lvm.c' to the end of the list.
41566 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41568
b5db202a 415692008-02-10 Robert Millan <rmh@aybabtu.com>
41570
41571 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41572 grub_print_error() instead. This will let user know why we're entering
41573 rescue mode.
41574 Based on suggestions from Sam Morris.
41575
83abee31 415762008-02-10 Alexandre Boeglin <alex@boeglin.org>
41577
41578 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41579 on remaining N args, instead of "--" arg N times.
41580
78d5a08b 415812008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41582
41583 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41584 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41585 pattern for unknown glyphs.
41586
68807e5f 415872008-02-09 Robert Millan <rmh@aybabtu.com>
41588
41589 * configure.ac: Probe for `help2man'.
41590 * Makefile.in (builddir): New variable.
41591 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41592 or otherwise add a few flags/options to it.
41593 (install-local): For every executable utility or script that is
41594 installed, invoke $(HELP2MAN) to install a manpage based on --help
41595 output.
41596
41597 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41598 that it doesn't prevent --help from working in build tree.
41599
41600 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41601 with `bug-grub@gnu.org'.
41602 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41603 * util/update-grub.in (usage): New function.
41604 Implement proper argument check, with support for --help and --version
41605 (as well as existing -y).
41606
416072008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41608
41609 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41610 avoid overwriting previous output.
41611 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41612
c1962162 416132008-02-09 Robert Millan <rmh@aybabtu.com>
41614
41615 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41616 drawing the menu.
41617
3dac2e3f 416182008-02-09 Robert Millan <rmh@aybabtu.com>
41619
41620 * commands/sleep.c: New file.
41621 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41622 (sleep_mod_SOURCES): New variable.
41623 (sleep_mod_CFLAGS): Likewise.
41624 (sleep_mod_LDFLAGS): Likewise.
41625
7a634e08 416262008-02-09 Robert Millan <rmh@aybabtu.com>
41627
41628 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41629 situations in which we can deduce the RAID size and the superblock
41630 doesn't match it.
41631
b92f0c18 416322008-02-09 Robert Millan <rmh@aybabtu.com>
41633
41634 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41635 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41636 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41637
41638 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41639 and return a grub_diskmemberlist_t composed of physical array members.
41640 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41641
41642 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41643 prototype.
41644 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41645 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41646 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41647
41648 * util/grub-probe.c (probe): Move partmap probing code from here ...
41649 (probe_partmap): ... to here.
41650 (probe): Use probe_partmap() once for the disk we're probing, and
41651 additionally, when such disk contains a memberlist() struct member,
41652 once for each disk that is contained in the structure returned by
41653 memberlist().
41654
91a4bf68 416552008-02-09 Robert Millan <rmh@aybabtu.com>
41656
41657 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41658 environment variable to 'all' in order to obtain debug output from
41659 non-util/ code.
41660 * util/i386/pc/grub-setup.c (main): Likewise.
41661
a96f9caa 416622008-02-08 Robert Millan <rmh@aybabtu.com>
41663
41664 * disk/raid.c (grub_raid_scan_device): Check for
41665 `array->device[sb.this_disk.number]' rather than for
41666 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41667 guaranteed to be accessible.
a96f9caa 41668
b37a9222 416692008-02-08 Robert Millan <rmh@aybabtu.com>
41670
41671 * disk/raid.c: Update copyright.
41672 * fs/cpio.c: Likewise.
41673 * include/grub/raid.h: Likewise.
41674 * loader/i386/pc/multiboot.c: Likewise.
41675 * util/hostfs.c: Likewise.
41676
5626aee1 416772008-02-08 Robert Millan <rmh@aybabtu.com>
41678
41679 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41680 to a grub_disk_t array.
41681 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41682 `device[x]'.
41683 (grub_raid_scan_device): Replace `device[x].name' accesses with
41684 `device[x]->name'. Simplify initialization of `array->device[x]'.
41685
554f0187 416862008-02-08 Robert Millan <rmh@aybabtu.com>
41687
41688 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41689 grub_dprintf() calls.
41690 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41691 error message.
41692
1ec8425d 416932008-02-07 Christian Franke <franke@computer.org>
41694
41695 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41696 instead of fseek and ftell to support large files.
41697 (grub_hostfs_read): Likewise.
41698
f2156fda 416992008-02-07 Robert Millan <rmh@aybabtu.com>
41700
41701 Patch from Jeroen Dekkers.
41702 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41703 failure, since successfully reading all array members might not be
f2156fda 41704 required.
41705
9216e0e7 417062008-02-06 Robert Millan <rmh@aybabtu.com>
41707
41708 * util/grub-probe.c (probe): Simplify partmap probing (with the
41709 assumption that the first word up to the underscore equals to
41710 the module name).
41711
b0dfd29a 417122008-02-06 Christian Franke <franke@computer.org>
41713
41714 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41715 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41716 last block of a cpio or tar stream.
41717 Check for "TRAILER!!!" instead of any empty data
41718 block to detect last block of a cpio stream.
41719 (grub_cpio_dir): Fix constness of variable np.
41720 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41721 cpio or tar trailer is detected. This fixes a crash
41722 on open of a non existing file.
41723
c32865bf 417242008-02-05 Bean <bean123ch@gmail.com>
41725
41726 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41727 address of entry.
41728 (grub_multiboot_load_elf64): Likewise.
41729 (grub_multiboot): Initialize mbi structure.
41730
41731 * util/grub-fstest.c: Don't include unused header file script.h.
41732
fe6b695a 41733 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41734 of file.
41735 (grub_fstest_SOURCES): Likewise.
41736
409480b7 417372008-02-05 Robert Millan <rmh@aybabtu.com>
41738
41739 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41740 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41741 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41742 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41743
41744 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41745 (translation_table): Replace hardcoded values with macros
41746 provided by `<grub/term.h>'.
41747
41748 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41749 (keyboard_map): Correct/add a few values, with macros provided
41750 by `<grub/term.h>'.
41751 (keyboard_map_shift): Zero values that don't differ from their
41752 `keyboard_map' equivalents.
41753 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41754 Discard the second scan code that is always sent by Caps lock.
41755 Only use `keyboard_map_shift' when it provides a non-zero value,
41756 otherwise fallback to `keyboard_map'.
41757
99fadbaa 417582008-02-04 Bean <bean123ch@gmail.com>
41759
41760 * Makefile.in (enable_grub_fstest): New variable.
41761
41762 * conf/common.rmk (grub_fstest_init.lst): New rule.
41763 (grub_fstest_init.h): Likewise.
41764 (grub_fstest_init.c): Likewise.
41765 (util/grub-fstest.c_DEPENDENCIES): New variable.
41766 (grub_fstest_SOURCES): Likewise.
41767
41768 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41769
41770 * util/grub-fstest.c: New file.
41771
bf567c50 417722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41773
41774 Make grub-setup handle a separate root device.
f19dbdb7 41775
bf567c50 41776 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41777 so that the root device can be compared with the destination
41778 device.
41779 When embedding the core image, if the root and destination devices
41780 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41781 0xFF.
41782 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41783
9be6b98b 417842008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41785
41786 Add support for having a grub directory in a different drive. This
41787 is still only the data handling part.
f19dbdb7 41788
9be6b98b 41789 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41790 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41791 (grub_root_drive): New variable.
41792
41793 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41794 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41795 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41796 as it was.
41797
41798 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41799
41800 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41801 macro.
41802 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41803
41804 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41805 is bogus, because PXE booting does not specify any drive
41806 correctly.
41807
41808 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41809 am not sure if this is really correct.
41810
41811 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41812 is always identical to the boot drive when booting from a CD.
41813
41814 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41815 longer.
41816 (root_drive): New variable.
41817 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41818 (setup_sectors): Push %dx right after popping it, because %dh will
41819 be modified later.
41820 (copy_buffer): Restore %dx.
41821
e0ca0677 418222008-02-03 Robert Millan <rmh@aybabtu.com>
41823
41824 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41825 use `cdboot.img' for cdrom images.
41826
3b3f6629 418272008-02-03 Robert Millan <rmh@aybabtu.com>
41828
41829 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41830 only setup gfxterm when `font' command has succeeded.
41831
d42b3672 418322008-02-03 Robert Millan <rmh@aybabtu.com>
41833
41834 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41835 (grub_rescue_cmd_multiboot_loader)
41836 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41837
fa370ea6 418382008-02-03 Pavel Roskin <proski@gnu.org>
41839
e0c5dacb 41840 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41841 %edx and %esi from stack only after grub_gate_a20() is called.
41842 grub_gate_a20() clobbers %edx.
41843
f2a76e1d 418442008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41845
41846 * configure.ac (AC_INIT): Bumped to 1.96.
41847
41848 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41849 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41850 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41851 video/readers/png.c.
41852
90fd32d1 418532008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41854
41855 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41856 (cdboot_img_SOURCES): New variable.
41857 (cdboot_img_ASFLAGS): New variable.
41858 (cdboot_img_LDFLAGS): New variable.
41859
41860 * boot/i386/pc/cdboot.S: New file.
41861
41862 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41863 (cd_count): Likewise.
41864 (grub_biosdisk_get_drive): Add support for cd device.
41865 (grub_biosdisk_call_hook): Likewise.
41866 (grub_biosdisk_iterate): Likewise.
41867 (grub_biosdisk_open): Likewise.
41868 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41869 (grub_biosdisk_rw): Support reading from cd device.
41870 (GRUB_MOD_INIT): Iterate cd devices.
41871
41872 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41873 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41874 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41875
41876 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41877
4020aa53 418782008-02-02 Robert Millan <rmh@aybabtu.com>
41879
41880 * commands/read.c: New file.
41881 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41882 (read_mod_SOURCES): New variable.
41883 (read_mod_CFLAGS): Likewise.
41884 (read_mod_LDFLAGS): Likewise.
41885
e03a1132 418862008-02-02 Robert Millan <rmh@aybabtu.com>
41887
41888 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41889 determining whether menu has to be displayed.
41890
58c69220 418912008-02-02 Marco Gerards <marco@gnu.org>
41892
41893 * bus/pci.c: New file.
41894
41895 * include/grub/pci.h: Likewise.
41896
41897 * include/grub/i386/pc/pci.h: Likewise.
41898
41899 * commands/lspci.c: Likewise.
41900
41901 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41902 `lspci.mod'.
41903 (pci_mod_SOURCES): New variable.
41904 (pci_mod_CFLAGS): Likewise.
41905 (pci_mod_LDFLAGS): Likewise.
41906 (lspci_mod_SOURCES): Likewise.
41907 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41908 (lspci_mod_LDFLAGS): Likewise.
58c69220 41909
c004e1b4 419102008-02-02 Bean <bean123ch@gmail.com>
41911
41912 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41913 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41914
41915 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41916 (grub_xfs_btree_node): New structure.
41917 (grub_xfs_btree_root): New structure.
41918 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41919 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41920 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41921 (GRUB_XFS_EXTENT_SIZE): Likewise.
41922 (grub_xfs_read_block): Support btree format type.
41923 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41924 Use directory block as basic unit.
41925
41926 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41927
41928 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41929 __attribute__ ((__regparm__ (1))).
41930
f95562bf 419312008-02-01 Robert Millan <rmh@aybabtu.com>
41932
41933 Correct a mistake in previous commit.
41934
41935 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41936 top.
41937 (normal/command.c_DEPENDENCIES): New variable.
41938
7d31f41f 419392008-02-01 Robert Millan <rmh@aybabtu.com>
41940
41941 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41942 top.
41943 (normal/command.c_DEPENDENCIES): New variable.
41944 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41945 * conf/i386-ieee1275.rmk: Likewise.
41946 * conf/i386-linuxbios.rmk: Likewise.
41947 * conf/i386-pc.rmk: Likewise.
41948 * conf/sparc64-ieee1275.rmk: Likewise.
41949 * conf/powerpc-ieee1275.rmk: Likewise.
41950 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41951
41952 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41953
60b6be74 419542008-02-01 Robert Millan <rmh@aybabtu.com>
41955
41956 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41957 call at beginning of function.
41958
078522ab 419592008-01-31 Pavel Roskin <proski@gnu.org>
41960
41961 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41962 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41963 (grub_mkrescue_SOURCES): Likewise.
078522ab 41964 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41965
ccaa8a5f 419662008-01-30 Robert Millan <rmh@aybabtu.com>
41967
41968 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41969 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41970 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41971 (grub_probe_SOURCES): ... to here.
41972
41973 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41974 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41975 * conf/i386-ieee1275.rmk: Likewise.
41976 * conf/i386-linuxbios.rmk: Likewise.
41977 * conf/powerpc-ieee1275.rmk: Likewise.
41978
ae5a9cd7 419792008-01-30 Tristan Gingold <gingold@free.fr>
41980
41981 * kern/rescue.c: Silently accept empty lines.
41982
70bc2ef2 419832008-01-29 Bean <bean123ch@gmail.com>
41984
41985 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41986 (real_code_2): Code cleanup and change comment style.
41987 (move_memory): Avoid using 32-bit address mode.
41988
6a4d50ea 419892008-01-29 Bean <bean123ch@gmail.com>
41990
41991 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41992 (png_mod_SOURCES): New variable.
41993 (png_mod_CFLAGS): Likewise.
41994 (png_mod_LDFLAGS): Likewise.
41995
41996 * video/readers/png.c: New file.
41997
11cc30ac 419982008-01-28 Robert Millan <rmh@aybabtu.com>
41999
42000 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42001 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42002 `ifndef GRUB_MOD_GAP' hack.
42003 * util/elf/grub-mkimage.c (add_segments): Likewise.
42004
3abc589f 420052008-01-27 Robert Millan <rmh@aybabtu.com>
42006
42007 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42008 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42009 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42010
e1907778 420112008-01-27 Robert Millan <rmh@aybabtu.com>
42012
42013 Get grub-emu to build again (including parallel builds).
42014
42015 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42016 Split into ...
42017 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42018 (normal/execute.c_DEPENDENCIES): ... this, ...
42019 (grub-emu_DEPENDENCIES): ... and this.
42020
42021 * conf/i386-efi.rmk: Likewise.
42022 * conf/i386-linuxbios.rmk: Likewise.
42023 * conf/i386-ieee1275.rmk: Likewise.
42024 * conf/powerpc-ieee1275.rmk: Likewise.
42025 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42026
2216b101 420272008-01-27 Robert Millan <rmh@aybabtu.com>
42028
42029 * NEWS: Add a few items.
42030
f75172d9 420312008-01-27 Robert Millan <rmh@aybabtu.com>
42032
42033 Fix parallel builds with grub-emu. Based on earlier commit for
42034 grub-probe and grub-setup.
42035
42036 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42037 (util/grub-emu.c_DEPENDENCIES): ... this.
42038 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42039 (util/grub-emu.c_DEPENDENCIES): ... this.
42040 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42041 (util/grub-emu.c_DEPENDENCIES): ... this.
42042 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42043 (util/grub-emu.c_DEPENDENCIES): ... this.
42044 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42045 (util/grub-emu.c_DEPENDENCIES): ... this.
42046
3f51de77 420472008-01-27 Pavel Roskin <proski@gnu.org>
42048
42049 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42050 to create a gap between _end and the modules added to the image
42051 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42052 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42053 * util/elf/grub-mkimage.c (add_segments): Likewise.
42054
2033f53e 420552008-01-26 Pavel Roskin <proski@gnu.org>
42056
42057 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42058 just return an error.
42059
22da1f6f 420602008-01-26 Bean <bean123ch@gmail.com>
42061
42062 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42063 (grub_reiserfs_get_item): Save offset of the next item.
42064 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42065
2a9525e6 420662008-01-25 Robert Millan <rmh@aybabtu.com>
42067
42068 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42069 make all filesystem sources appear together (possibly fixing omissions
42070 while at it).
42071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42072 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42073 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42075
42076 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42077 add `kern/file.c'.
42078 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42079 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42080 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42081 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42082
42083 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42084 (probe): Add a sanity check to make sure of our ability to read
42085 requested files when probing for filesystem type.
42086
42087 * genmk.rb: Update copyright year (2007).
42088
42089 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42090 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42091 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42092 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42093 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42094 : Remove function prototypes.
42095
b95f71b5 420962008-01-25 Robert Millan <rmh@aybabtu.com>
42097
42098 Revert my previous commits (based on wrong assumption of how grub_errno
42099 works).
42100
fe6b695a 42101 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42102 * kern/file.c (grub_file_open): Likewise.
42103
d08bbb49 421042008-01-24 Pavel Roskin <proski@gnu.org>
42105
42106 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42107 that hang if GRUB tries to setup colors.
42108 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42109 colors for firmwares that don't support it.
42110 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42111 Recognize Open Hack'Ware, set flags to work around its
42112 limitations.
42113
605e36ed 421142008-01-24 Robert Millan <rmh@aybabtu.com>
42115
42116 * kern/file.c (grub_file_open): Do not account previous failures of
42117 unrelated functions when grub_errno is checked for.
42118 Reported by Oleg Strikov.
42119
bac332a1 421202008-01-24 Bean <bean123ch@gmail.com>
42121
42122 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42123 (grub_ufs_sblock): New member volume name.
42124 (grub_ufs_find_file): Fix string copy bug.
42125 (grub_ufs_label): Implement this function properly.
42126
42127 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42128 (grub_hfs_iterate_records): Use the correct file number for extents
42129 and catalog file. Fix problem in next index calculation.
42130 (grub_hfs_find_node): Replace recursive function call with loop.
42131 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42132
15c80c09 421332008-01-23 Robert Millan <rmh@aybabtu.com>
42134
42135 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42136 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42137 (grub_multiboot2_real_boot): New function prototype.
42138
42139 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42140 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42141
42142 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42143 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42144
305338fd 421452008-01-23 Robert Millan <rmh@aybabtu.com>
42146
42147 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42148 #ifdef'ed out grub_printf().
42149
3ea52685 421502008-01-23 Robert Millan <rmh@aybabtu.com>
42151
42152 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42153 grub_dprintf calls, since they make "debug=all" mode unusable.
42154 (grub_console_checkkey): Likewise.
42155
5882ae4b 421562008-01-23 Robert Millan <rmh@aybabtu.com>
42157
42158 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42159 `term/i386/pc/at_keyboard.c'.
42160 (pkglib_MODULES): Add `serial.mod'.
42161 (serial_mod_SOURCES): New variable.
42162 (serial_mod_CFLAGS): Likewise.
42163 (serial_mod_LDFLAGS): Likewise.
42164
42165 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42166 `<grub/powerpc/ieee1275/console.h>'.
42167 (grub_keyboard_controller_init): New function prototype.
42168 (grub_console_checkkey): Likewise.
42169 (grub_console_getkey): Likewise.
42170
42171 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42172 keyboard on i386.
42173
42174 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42175 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42176
06ab5303 421772008-01-23 Robert Millan <rmh@aybabtu.com>
42178
42179 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42180 present, "(memdisk)/boot/grub" becomes the default prefix.
42181
42182 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42183 a memdisk tarball with all the modules. Add --overlay=DIR option that
42184 allows users to overlay additional files into the image.
42185
dbb475a4 421862008-01-23 Robert Millan <rmh@aybabtu.com>
42187
42188 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42189 and `machine/memory.h'.
42190 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42191 (_multiboot_mod_SOURCES): New variable.
42192 (_multiboot_mod_CFLAGS): Likewise.
42193 (_multiboot_mod_LDFLAGS): Likewise.
42194 (multiboot_mod_SOURCES): Likewise.
42195 (multiboot_mod_CFLAGS): Likewise.
42196 (multiboot_mod_LDFLAGS): Likewise.
42197
42198 * include/grub/i386/ieee1275/loader.h: New file.
42199
42200 * include/grub/i386/ieee1275/machine.h: Likewise.
42201
42202 * include/grub/i386/ieee1275/memory.h: Likewise.
42203
42204 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42205 variable declaration.
42206 (grub_os_area_size): Likewise.
42207
42208 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42209 (grub_lower_mem, grub_upper_mem): New variables.
42210 (grub_stop_floppy): New function (just to make
42211 grub_multiboot2_real_boot() happy).
42212
42213 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42214 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42215 (grub_stop): New function.
42216 Include `"../realmode.S"' and `"../loader.S"'.
42217
42218 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42219 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42220
42221 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42222 rely on grub_multiboot2_real_boot() for final boot.
42223
25638629 422242008-01-22 Robert Millan <rmh@aybabtu.com>
42225
42226 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42227 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42228 device that doesn't look like an SD card.
42229 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42230 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42231 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42232 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42233 found.
42234
9dad816d 422352008-01-22 Robert Millan <rmh@aybabtu.com>
42236
42237 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42238 avoid claiming over our own code.
42239
34842f2d 422402008-01-22 Bean <bean123ch@gmail.com>
42241
42242 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42243 (jpeg_mod_SOURCES): New variable.
42244 (jpeg_mod_CFLAGS): Likewise.
42245 (jpeg_mod_LDFLAGS): Likewise.
42246
42247 * video/readers/jpeg.c : New file.
42248
44023a28 422492008-01-22 Bean <bean123ch@gmail.com>
42250
42251 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42252 there are no more items.
42253
bc2d8ac6 422542008-01-21 Robert Millan <rmh@aybabtu.com>
42255
42256 * kern/mm.c (grub_mm_init_region): Improve debug message.
42257
261bd4bc 422582008-01-21 Robert Millan <rmh@aybabtu.com>
42259
42260 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42261 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42262 address.
42263 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42264 a C macro.
42265 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42266 Indicates start of upper memory.
42267 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42268 (generate_image): Abort when image size is big enough to corrupt
42269 upper memory.
42270
42271 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42272 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42273 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42274 instead of hardcoding 0xA0000.
42275 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42276 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42277 instead of hardcoding 0xA0000.
42278
f970b55e 422792008-01-21 Robert Millan <rmh@aybabtu.com>
42280
42281 * disk/memdisk.c (memdisk_size): New variable.
42282 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42283 `memdisk_size'.
42284 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42285 image to dynamic memory.
42286 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42287 `memdisk_size'. Free memdisk block.
42288
1a8b0526 422892008-01-21 Robert Millan <rmh@aybabtu.com>
42290
42291 Fix detection of very small filesystems (like tar).
42292
42293 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42294 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42295 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42296 a problem with this disk).
42297
6e9b4aab 422982008-01-21 Robert Millan <rmh@aybabtu.com>
42299
42300 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42301 on grub_biosdisk_rw_standard() error.
42302
0d8837b2 423032008-01-21 Robert Millan <rmh@aybabtu.com>
42304
42305 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42306 recent changes.
42307 * kern/elf.c: Likewise.
42308 * kern/ieee1275/ieee1275.c: Likewise.
42309 * kern/powerpc/ieee1275/openfw.c: Likewise.
42310 * term/ieee1275/ofconsole.c: Likewise.
42311
ffd36e34 423122008-01-21 Robert Millan <rmh@aybabtu.com>
42313
42314 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42315
3f0093d0 42316 * include/grub/kernel.h (grub_arch_memdisk_addr)
42317 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42318
3f0093d0 42319 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42320 (grub_arch_memdisk_size): ... to here.
ffd36e34 42321
6c391b21 423222008-01-21 Robert Millan <rmh@aybabtu.com>
42323
42324 Mostly based on bugfix from Bean.
42325
42326 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42327 attribute with hook() parameter.
42328 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42329 declaration.
42330 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42331 attribute with hook() parameter.
42332 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42333 declaration.
42334
55a581dc 423352008-01-21 Robert Millan <rmh@aybabtu.com>
42336
42337 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42338 (pkglib_MODULES): Add `memdisk.mod'.
42339 (memdisk_mod_SOURCES): New variable.
42340 (memdisk_mod_CFLAGS): Likewise.
42341 (memdisk_mod_LDFLAGS): Likewise.
42342
42343 * disk/memdisk.c: New file.
42344
42345 * include/grub/disk.h (grub_disk_dev_id): Add
42346 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42347
42348 * include/grub/i386/pc/kernel.h
42349 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42350 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42351 (grub_kernel_image_size): New variable declaration.
42352 (grub_total_module_size): Likewise.
42353 (grub_memdisk_image_size): Likewise.
42354
42355 * include/grub/i386/pc/memory.h
42356 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42357
42358 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42359 (grub_arch_memdisk_addr): New variable declaration.
42360 (grub_arch_memdisk_size): Likewise.
42361
42362 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42363 (grub_arch_memdisk_size): Likewise.
42364
42365 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42366 (codestart): Replace hardcoded `0x100000' with
42367 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42368
42369 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42370 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42371 not NULL, append the contents of the file it refers to, at the end of
42372 the compressed kernel image. Initialize `grub_memdisk_image_size'
42373 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42374 (options): Add "memdisk"|'m' option.
42375 (main): Parse --memdisk|-m option, and pass user-provided path as
42376 parameter to generate_image().
42377
3d7f54c9 423782008-01-20 Robert Millan <rmh@aybabtu.com>
42379
42380 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42381 grub_dprintf() calls from here ...
42382 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42383
0bf74728 423842008-01-20 Robert Millan <rmh@aybabtu.com>
42385
42386 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42387
42388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42389 declaration.
42390 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42391 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42392 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42393 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42394 property).
42395 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42396 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42397
33bf70a7 423982008-01-19 Robert Millan <rmh@aybabtu.com>
42399
fe6b695a 42400 Get rid of confusing function (superseded by
33bf70a7 42401 `grub_ieee1275_get_integer_property')
42402 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42403 prototype.
42404 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42405 function.
42406 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42407 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42408 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42409
e2da7d26 424102008-01-19 Robert Millan <rmh@aybabtu.com>
42411
42412 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42413 command after "shut-down", since implementations differ on which
42414 the command for halt is.
42415
59f1fd8d 424162008-01-19 Robert Millan <rmh@aybabtu.com>
42417
42418 * include/grub/i386/linuxbios/console.h: Add header protection.
42419 (grub_keyboard_controller_init): New function prototype.
42420 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42421 (KEYBOARD_COMMAND_READ): Likewise.
42422 (KEYBOARD_COMMAND_WRITE): Likewise.
42423 (KEYBOARD_SCANCODE_SET1): Likewise.
42424 (grub_keyboard_controller_write): New function.
42425 (grub_keyboard_controller_read): Likewise.
42426 (grub_keyboard_controller_init): Likewise.
42427
42428 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42429 (grub_console_init): On coreboot/LinuxBIOS, call
42430 grub_keyboard_controller_init().
42431
5f5a7c15 424322008-01-19 Robert Millan <rmh@aybabtu.com>
42433
42434 PowerPC changes provided by Pavel Roskin.
42435
42436 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42437 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42438 don't rely on cmain() doing it.
42439 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42440 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42441
1210e168 424422008-01-16 Robert Millan <rmh@aybabtu.com>
42443
42444 * include/grub/i386/linuxbios/memory.h
42445 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42446 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42447 receive `table_header' as argument. Instead, probe for it in the
42448 known memory ranges where it can be present.
42449 (grub_available_iterate): Do not pass a fixed `table_header' address
42450 to grub_linuxbios_table_iterate().
42451
3d04eab8 424522008-01-15 Robert Millan <rmh@aybabtu.com>
42453
42454 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42455 * conf/i386-ieee1275.rmk: New file.
42456 * include/grub/i386/ieee1275/console.h: Likewise.
42457 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42458 * include/grub/i386/ieee1275/kernel.h: Likewise.
42459 * include/grub/i386/ieee1275/time.h: Likewise.
42460 * kern/i386/ieee1275/init.c: Likewise.
42461 * kern/i386/ieee1275/startup.S: Likewise.
42462
d1bc1b73 424632008-01-15 Robert Millan <rmh@aybabtu.com>
42464
42465 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42466 when pointers are 32-bit (but still do set it to one when they are
42467 64-bit).
42468
66a65807 424692008-01-15 Robert Millan <rmh@aybabtu.com>
42470
42471 * include/grub/ieee1275/ieee1275.h
42472 (grub_ieee1275_get_integer_property): New function prototype.
42473
42474 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42475 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42476 grub_ieee1275_get_property() to handle endianness.
66a65807 42477
42478 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42479 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42480 where appropriate.
66a65807 42481 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42482 (grub_map): Likewise.
42483 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42484
a83ccafd 424852008-01-15 Bean <bean123ch@gmail.com>
42486
42487 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42488 (grub_script_execute_cmdline): Reset grub_errno.
42489
42490 * normal/main.c (read_config_file): Reset grub_errno.
42491
42492 * normal/parse.y (script_init): New.
42493 (script): Move function and menuentry here.
42494 (delimiter): New.
42495 (command): Add delimiter at the end of command.
42496 (commands): Adjust to match the new command.
42497 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42498 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42499 (if): Use the new commands.
42500
42501 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42502
df6ecfc6 425032008-01-15 Robert Millan <rmh@aybabtu.com>
42504
42505 * normal/menu.c (run_menu): Move timeout message from here ...
42506 (print_timeout): ... to here.
42507 (run_menu): Use print_timeout() once during initial draw to print
42508 the whole message, and again in every clock tick to update only
42509 the number of seconds.
42510
87ae25eb 425112008-01-15 Robert Millan <rmh@aybabtu.com>
42512
42513 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42514 actual size of `available' from grub_ieee1275_get_property(), and
42515 restrict parsing to that bound.
42516
47bf09a4 425172008-01-15 Christian Franke <franke@computer.org>
42518
42519 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42520 (argp_program_version): Remove variable.
42521 (argp_program_bug_address): Likewise.
42522 (options): Convert from struct argp_option to struct option.
42523 (struct arguments): Remove.
42524 (parse_opt): Remove.
42525 (usage): New function.
42526 (main): Replace struct args members by simple variables.
42527 Replace argp_parse() by getopt_long().
42528 Add switch to evaluate options.
42529 Add missing "(...)" around root_dev in prefix string.
42530
c86f1469 425312008-01-14 Robert Millan <rmh@aybabtu.com>
42532
42533 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42534 for grub_ieee1275_exit(), in order to improve portability.
42535
e622c559 425362008-01-14 Robert Millan <rmh@aybabtu.com>
42537
42538 * util/grub.d/10_linux.in (prefix): Define.
42539 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42540
44cb1ec8 425412008-01-13 Pavel Roskin <proski@gnu.org>
42542
42543 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42544 grub_errno if no errors have been detected.
42545
1eb8c802 425462008-01-12 Robert Millan <rmh@aybabtu.com>
42547
42548 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42549 (grub_util_get_dev_abstraction): New function prototype.
42550
42551 * util/getroot.c: Include `<grub/util/getroot.h>'
42552 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42553 (grub_util_get_dev_abstraction): ... here (new function).
42554
42555 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42556 `PRINT_ABSTRACTION'.
42557 (probe): Probe for abstraction type when requested.
42558 (main): Understand `--target=abstraction'.
42559
42560 * util/i386/efi/grub-install.in: Add abstraction module to core
42561 image when it is found to be necessary.
42562 * util/i386/pc/grub-install.in: Likewise.
42563 * util/powerpc/ieee1275/grub-install.in: Likewise.
42564
42565 * util/update-grub_lib.in (font_path): Return system path without
42566 converting to GRUB path.
42567 * util/update-grub.in: Convert system path returned by font_path()
42568 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42569 abstraction module is needed for loading fonts (if any). Export
42570 that as `GRUB_PRELOAD_MODULES'.
42571 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42572 insmod commands).
42573
52bd3de9 425742008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42575
42576 Remove some unused code from reiserfs.
f19dbdb7 42577
52bd3de9 42578 * fs/reiserfs.c (struct grub_reiserfs_key)
42579 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42580 (struct grub_reiserfs_node_body): Removed.
42581 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42582 Likewise.
42583 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42584 Likewise.
42585 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42586 Likewise.
42587 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42588 Likewise.
42589 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42590 Likewise.
42591 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42592 Likewise.
42593 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42594 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42595 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42596
2f80039d 425972008-01-10 Robert Millan <rmh@aybabtu.com>
42598
42599 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42600 Determines if a file is garbage left by packaging systems, etc.
42601 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42602 for processing /etc/grub.d scripts.
42603 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42604 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42605 as a condition for processing Linux images.
42606
87888032 426072008-01-10 Pavel Roskin <proski@gnu.org>
42608
42609 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42610 to compile reiserfs.c on PowerPC.
42611
7e54fced 426122008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42613
42614 * kern/device.c (grub_device_iterate): Do not abort device iteration
42615 when one of the devices cannot be opened.
42616 * kern/disk.c (grub_disk_open): Do not account previous failures of
42617 unrelated functions when grub_errno is checked for.
42618
5aa541e6 426192008-01-08 Robert Millan <rmh@aybabtu.com>
42620
42621 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42622 `! grub_linux_is_bzimage', change order of address comparison to make
42623 it more intuitive, and improve "too big zImage" error message.
42624
7076340d 426252008-01-08 Robert Millan <rmh@aybabtu.com>
42626
42627 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42628 `$(update-grub_DATA)'.
42629 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42630 targets.
42631
9ca70333 426322008-01-07 Robert Millan <rmh@aybabtu.com>
42633
42634 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42635 which instruction is modified by grub-setup during installation
42636 (since it wasn't obvious by only looking at this file).
42637
38ccf575 426382008-01-07 Robert Millan <rmh@aybabtu.com>
42639
42640 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42641 listing actual TODO items.
42642
f5db4291 426432008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42644
868967cf 42645 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42646 correctly.
42647 (grub_reiserfs_get_key_offset): Likewise.
42648 (grub_reiserfs_set_key_offset): Likewise.
42649 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42650 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42651
42652 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42653 better to remove the bitfield version completely.
f19dbdb7 42654
868967cf 426552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42656
f5db4291 42657 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42658 allocated from the heap, due to the fshelp implementation.
42659 (grub_reiserfs_dir): Free NODE, due to the same reason.
42660
492e6d9d 426612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42662
42663 Mostly from Vincent Pelletier:
f19dbdb7 42664
492e6d9d 42665 * fs/reiserfs.c: New file.
f19dbdb7 42666
492e6d9d 42667 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42668 (reiserfs_mod_SOURCES): New variable.
42669 (reiserfs_mod_CFLAGS): Likewise.
42670 (reiserfs_mod_LDFLAGS): Likewise.
42671
42672 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42673 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42674 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42675 normal/color.c.
42676
9ce3e7c1 426772008-01-06 Robert Millan <rmh@aybabtu.com>
42678
42679 * normal/color.c: Remove `<grub/env.h>'.
42680
f3b58148 426812008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42682
42683 * include/grub/normal.h: Include <grub/env.h>.
42684
7ac3bcfa 426852008-01-05 Robert Millan <rmh@aybabtu.com>
42686
42687 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42688 usage example with `(hd0,1)'.
fb358190 42689 Reported by Samuel Thibault.
7ac3bcfa 42690
c8ee99d7 426912008-01-05 Robert Millan <rmh@aybabtu.com>
42692
42693 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42694 (grub_linux_boot_zimage): Rename to ...
42695 (grub_linux_boot): ... this.
42696 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42697 (grub_linux_boot_zimage): Conditionalize zImage copy.
42698
42699 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42700 (grub_linux_boot_bzimage): Remove prototype.
42701 (grub_linux_boot_zimage): Rename to ...
42702 (grub_linux_boot): ... this.
42703
42704 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42705 (grub_linux_boot): Remove function.
42706
0ece25b1 427072008-01-05 Robert Millan <rmh@aybabtu.com>
42708
42709 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42710 (grub_env_write_color_highlight): Likewise.
42711 (grub_wait_after_message): Likewise.
42712
42713 * normal/color.c: New file.
42714
42715 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42716 (normal_mod_DEPENDENCIES): Likewise.
42717
42718 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42719 (normal_mod_DEPENDENCIES): Likewise.
42720
42721 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42722 (normal_mod_DEPENDENCIES): Likewise.
42723
42724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42725 (normal_mod_DEPENDENCIES): Likewise.
42726
42727 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42728 for waiting after a message is printed.
42729 * normal/main.c (read_config_file): Likewise.
42730 (grub_normal_init): Register grub_env_write_color_normal() and
42731 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42732 `color_highlight' variables as global.
42733
42734 * normal/menu.c (grub_wait_after_message): New function.
42735 (grub_color_menu_normal): New variable. Replaces ...
42736 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42737 (grub_color_menu_highlight): New variable. Replaces ...
42738 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42739 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42740 `GRUB_TERM_COLOR_STANDARD'.
42741 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42742 `normal_code' and `highlight_code' to `old_color_normal' and
42743 `old_color_highlight', respectively.
42744 (grub_menu_init_page): Update colors when drawing the menu, based on
42745 `menu_color_normal' and `menu_color_highlight' variables.
42746 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42747 a message is printed.
42748
182dd4e5 427492008-01-05 Robert Millan <rmh@aybabtu.com>
42750
42751 * kern/env.c (grub_env_context_open): Propagate hooks for global
42752 variables to new context.
42753
42754 * kern/main.c (grub_set_root_dev): Export `root' variable.
42755
ddf8f6ad 427562008-01-05 Robert Millan <rmh@aybabtu.com>
42757
42758 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42759 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42760 them.
42761
d8b43d9b 427622008-01-05 Robert Millan <rmh@aybabtu.com>
42763
42764 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42765
2bff2de3 427662008-01-04 Christian Franke <franke@computer.org>
42767
42768 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42769 of eisa_mmap.
42770
97eab917 427712008-01-03 Pavel Roskin <proski@gnu.org>
42772
42773 * kern/i386/linuxbios/init.c: Put "void" to all function
42774 declarations with no arguments.
42775 * kern/powerpc/ieee1275/init.c: Likewise.
42776 * term/i386/pc/at_keyboard.c: Likewise.
42777 * term/i386/pc/vga_text.c: Likewise.
42778 * util/grub-mkdevicemap.c: Likewise.
42779
b9416d00 427802008-01-02 Robert Millan <rmh@aybabtu.com>
42781
42782 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42783 message when loaded image is out of bounds.
42784 (grub_multiboot_load_elf64): Likewise.
42785
92695df9 427862008-01-02 Pavel Roskin <proski@gnu.org>
42787
42788 * util/grub.d/10_linux.in: Try version without ".old" when
42789 looking for initrd. It's better to use initrd from the newer
42790 kernel of the same version than no initrd at all.
42791
d98d9cad 427922008-01-01 Robert Millan <rmh@aybabtu.com>
42793
42794 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42795
dbfdce36 427962008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42797
f19dbdb7 42798 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42799 grub_video_get_active_render_target.
42800 (grub_video_adapter): Added unmap_color and get_active_render_target.
42801
f19dbdb7 42802 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42803 grub_video_get_active_render_target.
42804 (grub_video_get_info): Changed method to accept NULL pointer as an
42805 argument to allow detection of active video adapter.
42806
42807 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42808 grub_video_vbe_unmap_color_int.
42809 Added grub_video_vbe_unmap_color and
42810 grub_video_vbe_get_active_render_target.
42811 (grub_video_vbe_adapter): Added unmap_color and
42812 get_active_render_target.
42813
f19dbdb7 42814 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42815 with grub_video_vbe_unmap_color_int.
42816
42817 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42818 (DEFAULT_NORMAL_COLOR): Likewise.
42819 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42820 (DEFAULT_FG_COLOR): Removed.
42821 (DEFAULT_BG_COLOR): Likewise.
42822 (DEFAULT_CURSOR_COLOR): Changed value.
42823 (grub_virtual_screen): Added standard_color_setting,
42824 normal_color_setting, highlight_color_setting and term_color.
42825 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42826 (bitmap_width): Added.
42827 (bitmap_height): Likewise.
42828 (bitmap): Likewise.
42829 (set_term_color): Likewise.
42830 (grub_virtual_screen_setup): Changed to use new terminal coloring
42831 settings.
42832 (grub_gfxterm_init): Added init for bitmap.
42833 (grub_gfxterm_fini): Added destroy for bitmap.
42834 (redraw_screen_rect): Updated to use background bitmap and new
42835 terminal coloring.
42836 (scroll_up): Added optimization for case when there is no bitmap.
42837 (grub_gfxterm_cls): Fixed to use correct background color.
42838 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42839 coloring.
42840 (grub_virtual_screen_setcolor): Likewise.
42841 (grub_virtual_screen_getcolor): Added.
42842 (grub_gfxterm_background_image_cmd): Likewise.
42843 (grub_video_term): Added setcolor and getcolor.
42844 (MOD_INIT): Added registration of background_image command.
42845 (MOD_TERM): Added unregistration for background_image command.
42846
c3c20931 428472007-12-30 Pavel Roskin <proski@gnu.org>
42848
42849 * loader/multiboot_loader.c: Fix multiboot command
42850 unregistration. Fix all typos in the word "multiboot".
42851
df266716 428522007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42853
42854 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42855 support for initrd names used in Fedora.
42856
fc6e896c 428572007-12-26 Bean <bean123ch@gmail.com>
42858
42859 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42860 (cpio_mod_SOURCES): New variable.
42861 (cpio_mod_CFLAGS): Likewise.
42862 (cpio_mod_LDFLAGS): Likewise.
42863
42864 * fs/cpio.c: New file.
42865
42866 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42867
42868 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42869
42870 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42871
42872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42873
533110ad 428742007-12-25 Robert Millan <rmh@aybabtu.com>
42875
42876 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42877 (grub_getcolor): New function.
42878
42879 * kern/term.c (grub_getcolor): New function.
42880 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42881 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42882 (print_entry): Set normal and highlight colors to
42883 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42884 respectively, before printing and restore them to old
42885 values afterwards.
42886 (grub_menu_init_page): Likewise. Fill an additional colored space
42887 that would otherwise be left blank.
42888
42889 * term/efi/console.c (grub_console_getcolor): New function.
42890 (struct grub_console_term.getcolor): New variable.
42891 * term/i386/pc/console.c (grub_console_getcolor): New function.
42892 (struct grub_console_term.getcolor): New variable.
42893 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42894 (struct grub_console_term.getcolor): New variable.
42895
42896 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42897 (struct grub_console_term.setcolor): Remove variable.
42898 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42899 (struct grub_console_term.setcolor): Remove variable.
42900 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42901 (struct grub_console_term.setcolor): Remove variable.
42902 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42903 (struct grub_console_term.setcolor): Remove variable.
42904
4931827f 429052007-12-25 Robert Millan <rmh@aybabtu.com>
42906
42907 * configure.ac: Search for possible unifont.hex locations, and
42908 define UNIFONT_HEX if found.
42909
42910 * Makefile.in (UNIFONT_HEX): Define variable.
42911 (DATA): Rename to ...
42912 (PKGLIB): ... this. Update all users.
42913 (PKGDATA): New variable.
42914 (pkgdata_IMAGES): Rename to ...
42915 (pkglib_IMAGES): ... this. Update all users.
42916 (pkgdata_MODULES): Rename to ...
42917 (pkglib_MODULES): ... this. Update all users.
42918 (pkgdata_PROGRAMS): Rename to ...
42919 (pkglib_PROGRAMS): ... this. Update all users.
42920 (pkgdata_DATA): Rename to ...
42921 (pkglib_DATA): ... this. Update all users.
42922 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42923 (unicode.pff, ascii.pff): New rules.
42924 (all-local): Add `$(PKGDATA)' dependency.
42925 (install-local): Process `$(PKGDATA)'.
42926
42927 * util/update-grub_lib.in (font_path): Search for *.pff files in
42928 a few more locations, including `${pkgdata}'.
42929
57e57e31 429302007-12-23 Robert Millan <rmh@aybabtu.com>
42931
42932 Patch from Bean <bean123ch@gmail.com>:
42933 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42934 `size'.
42935
4bc72aa9 429362007-12-21 Bean <bean123ch@gmail.com>
42937
42938 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42939 (ntfscomp_mod_SOURCES): New variable.
42940 (ntfscomp_mod_CFLAGS): Likewise.
42941 (ntfscomp_mod_LDFLAGS): Likewise.
42942
42943 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42944 (grub_probe_SOURCES): Likewise.
42945 (grub_emu_SOURCES): Likewise.
42946
42947 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42948 (grub_emu_SOURCES): Likewise.
42949
42950 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42951 (grub_emu_SOURCES): Likewise.
42952
42953 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42954 (grub_emu_SOURCES): Likewise.
42955
42956 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42957 (read_run_list): Renamed to grub_ntfs_read_run_list.
42958 (decomp_nextvcn): Moved to ntfscomp.c.
42959 (decomp_getch): Likewise.
42960 (decomp_get16): Likewise.
42961 (decomp_block): Likewise.
42962 (read_block): Likewise.
42963 (read_data): Partially moved to ntfscomp.c.
42964 (fixup): Change unsigned to grub_uint16_t.
42965 (read_mft): Change unsigned long to grub_uint32_t.
42966 (read_attr): Likewise.
42967 (read_data): Likewise.
42968 (read_run_data): Likewise.
42969 (read_run_list): Likewise.
42970 (read_mft): Likewise.
42971
42972 * fs/ntfscomp.c: New file.
42973
42974 * include/grub/ntfs.h: New file.
42975
af680a87 429762007-12-16 Robert Millan <rmh@aybabtu.com>
42977
42978 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42979 IDE disk check, since Linux is known to support 20 IDE disks.
42980 Reported by Colin Watson.
42981
84be7599 429822007-12-15 Bean <bean123ch@gmail.com>
42983
42984 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42985 (lnxboot_img_SOURCES): New variable.
42986 (lnxboot_img_ASFLAGS): Likewise.
42987 (lnxboot_img_LDFLAGS): Likewise.
42988
42989 * boot/i386/pc/lnxboot.S: New file.
42990
6af9db01 429912007-11-24 Pavel Roskin <proski@gnu.org>
42992
42993 * configure.ac: Test if '--build-id=none' is supported by the
42994 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42995 objcopy to generate incorrect binary files (binutils
42996 2.17.50.0.18-1 as shipped by Fedora 8).
42997 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42998 linking, so that build ID doesn't break the test.
42999
7361cfe6 430002007-11-24 Pavel Roskin <proski@gnu.org>
43001
43002 * include/grub/i386/time.h: use "void" in the argument list
43003 of grub_cpu_idle().
43004 * include/grub/powerpc/time.h: Likewise.
43005 * include/grub/sparc64/time.h: Likewise.
43006
1593e10c 430072007-11-18 Christian Franke <franke@computer.org>
43008
43009 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43010 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43011 This fixes the problem that function keys did not work in grub-emu.
43012
3b8db1a8 430132007-11-18 Christian Franke <franke@computer.org>
43014
43015 * disk/host.c (grub_host_open): Remove attribute unused from
43016 name parameter. Add check for "host". This fixes the problem
43017 that grub-emu does not find partitions.
43018
2e29408d 430192007-11-18 Christian Franke <franke@computer.org>
43020
43021 * util/hostfs.c (is_dir): New function.
43022 (grub_hostfs_dir): Handle missing dirent.d_type case.
43023 (grub_hostfs_read): Add missing fseek().
43024 (grub_hostfs_label): Clear label pointer. This fixes a crash
43025 of grub-emu on "ls (host)".
43026
398cd047 430272007-11-18 Christian Franke <franke@computer.org>
43028
43029 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43030 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43031 to 64 bit boundary by default.
43032
c405c391 430332007-11-18 Bean <bean123ch@gmail.com>
43034
43035 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43036 (hexdump_mod_SOURCES): New variable.
43037 (hexdump_mod_CFLAGS): Likewise.
43038 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43039
c405c391 43040 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43041
43042 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43043
43044 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43045
43046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43047
43048 * include/grub/hexdump.h: New file.
43049
43050 * commands/hexdump.c: New file.
43051
5cced7fd 430522007-11-10 Robert Millan <rmh@aybabtu.com>
43053
43054 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43055 in grub_outb() calls.
43056 (beep_on): Likewise.
43057
8b714eb0 430582007-11-10 Christian Franke <franke@computer.org>
43059
43060 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43061 (grub_menu_run): Likewise.
43062
ce0f1839 430632007-11-10 Robert Millan <rmh@aybabtu.com>
43064
43065 * include/grub/i386/efi/machine.h: New file.
43066 * include/grub/i386/linuxbios/machine.h: Likewise.
43067 * include/grub/i386/pc/machine.h: Likewise.
43068 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43069 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43070
43071 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43072 (serial_hw_io_addr): New variable.
43073 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43074 instead of `(unsigned short *) 0x400'.
43075
270c237d 430762007-11-10 Bean <bean123ch@gmail.com>
43077
43078 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43079
a87783bf 430802007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43081
43082 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43083 (vga_mod_SOURCES): Added.
43084 (vga_mod_CFLAGS): Likewise.
43085 (vga_mod_LDFLAGS): Likewise.
43086
43087 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43088 grub_outb() calls.
43089 (set_map_mask): Likewise.
43090 (set_read_map): Likewise.
43091 (set_read_address): Likewise.
43092 (vga_font): Removed variable.
43093 (get_vga_glyph): Removed function.
43094 (invalidate_char): Likewise.
43095 (write_char): Changed to use grub_font_get_glyph() for font
43096 information.
43097 (grub_vga_putchar): Likewise.
43098 (grub_vga_getcharwidth): Likewise.
43099
6433b448 431002007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43101
43102 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43103 flags.
43104 (pxeboot_img_LDFLAGS): Likewise.
43105 (diskboot_img_LDFLAGS): Likewise.
43106 (kernel_img_LDFLAGS): Likewise.
43107
49178511 431082007-11-06 Robert Millan <rmh@aybabtu.com>
43109
43110 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43111 in grub_outb() calls.
43112 (serial_hw_init): Likewise.
43113
53b052de 431142007-11-05 Robert Millan <rmh@aybabtu.com>
43115
43116 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43117 spaces. Skip non-regular files.
43118
5ab33bba 431192007-11-05 Robert Millan <rmh@aybabtu.com>
43120
43121 * kern/disk.c (grub_disk_firmware_fini)
43122 (grub_disk_firmware_is_tainted): New variables.
43123
43124 * include/grub/disk.h (grub_disk_firmware_fini)
43125 (grub_disk_firmware_is_tainted): Likewise.
43126
43127 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43128 (grub_disk_biosdisk_fini): ... to here.
43129 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43130 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43131 is set. Register grub_disk_biosdisk_fini() in
43132 `grub_disk_firmware_fini'.
43133
43134 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43135 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43136 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43137 to finish existing firmware disk interface.
43138
43139 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43140 (ata_mod_SOURCES): New variable.
43141 (ata_mod_CFLAGS): Likewise.
43142 (ata_mod_LDFLAGS): Likewise.
43143
0149ab7c 431442007-11-05 Robert Millan <rmh@aybabtu.com>
43145
43146 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43147 (grub_ata_wait): Reimplement using grub_millisleep().
43148
43149 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43150 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43151
be7ac41e 431522007-11-03 Marco Gerards <marco@gnu.org>
43153
43154 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43155 (CRTC_ADDR_PORT): New macro.
43156 (CRTC_DATA_PORT): Likewise.
43157 (CRTC_CURSOR): Likewise.
43158 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43159 (CRTC_CURSOR_ADDR_LOW): Likewise.
43160 (update_cursor): New function.
43161 (grub_console_real_putchar): Call `update_cursor'.
43162 (grub_console_gotoxy): Likewise.
43163 (grub_console_cls): Set the default color when clearing the
43164 screen.
43165 (grub_console_setcursor): Implemented.
43166
bb06ab2e 431672007-11-03 Marco Gerards <marco@gnu.org>
43168
43169 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43170 become activate.
43171 (grub_ata_pio_write): Likewise.
43172
43173 (grub_atapi_identify): Wait after issuing an ATA command.
43174 (grub_atapi_packet): Likewise.
43175 (grub_ata_identify): Likewise.
43176 (grub_ata_readwrite): Likewise.
43177
cf8f780b 431782007-11-03 Marco Gerards <marco@gnu.org>
43179
43180 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43181 (grub_ata_pio_write): Likewise.
43182 (grub_ata_readwrite): Use `grub_error', instead of
43183 returning `grub_errno'.
43184
ed649e54 431852007-11-03 Marco Gerards <marco@gnu.org>
43186
43187 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43188 grub_ata_pio_write once for every single sector, instead of for
43189 multiple sectors.
43190
ca25d8f0 431912007-10-31 Robert Millan <rmh@aybabtu.com>
43192
43193 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43194
43195 * conf/i386-linuxbios.rmk: New file.
43196
43197 * kern/i386/pc/hardware.c: Likewise.
43198 * term/i386/pc/at_keyboard.c: Likewise.
43199 * term/i386/pc/vga_text.c: Likewise.
43200
43201 * include/grub/i386/linuxbios/boot.h: Likewise.
43202 * include/grub/i386/linuxbios/console.h: Likewise.
43203 * include/grub/i386/linuxbios/init.h: Likewise.
43204 * include/grub/i386/linuxbios/kernel.h: Likewise.
43205 * include/grub/i386/linuxbios/loader.h: Likewise.
43206 * include/grub/i386/linuxbios/memory.h: Likewise.
43207 * include/grub/i386/linuxbios/serial.h: Likewise.
43208 * include/grub/i386/linuxbios/time.h: Likewise.
43209
43210 * kern/i386/linuxbios/init.c: Likewise.
43211 * kern/i386/linuxbios/startup.S: Likewise.
43212 * kern/i386/linuxbios/table.c: Likewise.
43213
e911ecc1 432142007-10-31 Marco Gerards <marco@gnu.org>
43215
43216 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43217 (ata_mod_SOURCES): New variable.
43218 (ata_mod_CFLAGS): Likewise.
43219 (ata_mod_LDFLAGS): Likewise.
43220
43221 * disk/ata.c: New file.
43222
43223 * include/grub/disk.h (grub_disk_dev_id): Add
43224 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43225
7f66d0e0 432262007-10-31 Robert Millan <rmh@aybabtu.com>
43227
43228 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43229 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43230
43231 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43232 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43233
43234 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43235 `<grub/types.h>'.
43236
43237 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43238
5cd7dd46 432392007-10-27 Robert Millan <rmh@aybabtu.com>
43240
3236ca65 43241 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43242
2ebfc90f 432432007-10-22 Robert Millan <rmh@aybabtu.com>
43244
43245 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43246 `"../realmode.S"'.
43247 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43248
73fcb0f3 432492007-10-22 Robert Millan <rmh@aybabtu.com>
43250
43251 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43252 (pkgdata_MODULES): Add `biosdisk.mod'.
43253 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43254 variables.
43255
43256 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43257 (grub_biosdisk_init): Replace with ...
43258 (GRUB_MOD_INIT(biosdisk)): ... this.
43259 (grub_biosdisk_fini): Replace with ...
43260 (GRUB_MOD_FINI(biosdisk)): ... this.
43261
43262 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43263 (grub_machine_init): Remove call to grub_biosdisk_init().
43264 (grub_machine_fini): Remove call to grub_machine_fini().
43265
43266 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43267
3381d274 432682007-10-22 Robert Millan <rmh@aybabtu.com>
43269
43270 * include/grub/time.h: New file.
43271 * include/grub/i386/time.h: Likewise.
43272 * include/grub/powerpc/time.h: Likewise.
43273 * include/grub/sparc64/time.h: Likewise.
43274
43275 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43276 instances to ...
43277 (KERNEL_MACHINE_TIME_HEADER): ... this.
43278 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43279 instances to ...
43280 (KERNEL_MACHINE_TIME_HEADER): ... this.
43281 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43282 instances to ...
43283 (KERNEL_MACHINE_TIME_HEADER): ... this.
43284
43285 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43286 (grub_millisleep): New function.
43287 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43288 (grub_millisleep): New function.
43289 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43290 Remove `grub/machine/time.h' include.
43291 (grub_millisleep): New function.
43292 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43293 Remove `grub/machine/time.h' include.
43294 (grub_millisleep): New function.
43295
43296 * include/grub/misc.h (grub_div_roundup): New function.
43297
43298 * kern/misc.c: Include `<grub/time.h>'.
43299 (grub_millisleep_generic): New function.
43300
43301 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43302 Add `time.h'.
43303 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43304 Add `time.h'.
43305 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43306 `machine/time.h'. Add `time.h'.
43307 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43308
a39a0312 433092007-10-21 Robert Millan <rmh@aybabtu.com>
43310
43311 * include/grub/misc.h (grub_max): New function.
43312
2aad70e2 433132007-10-21 Robert Millan <rmh@aybabtu.com>
43314
43315 * util/misc.c (grub_util_info): Call fflush() before returning.
43316
54b71c4b 433172007-10-20 Robert Millan <rmh@aybabtu.com>
43318
43319 * genmk.rb (Image): Copy `extra_flags' from here ...
43320 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43321
43322 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43323 to `argc' and `args' arguments.
43324
a979f513 433252007-10-17 Robert Millan <rmh@aybabtu.com>
43326
43327 * kern/i386/loader.S: New file.
43328
43329 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43330 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43331 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43332 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43333 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43334 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43335 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43336 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43337 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43338 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43339 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43340 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43341 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43342 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43343
43344 * kern/i386/realmode.S: New file.
43345
43346 * kern/i386/pc/startup.S (protstack): Moved from here ...
43347 * kern/i386/realmode.S (protstack)... to here.
43348 * kern/i386/pc/startup.S (gdt): Moved from here ...
43349 * kern/i386/realmode.S (gdt)... to here.
43350 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43351 * kern/i386/realmode.S (prot_to_real)... to here.
43352
43353 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43354 `kern/i386/realmode.S'.
43355
825fc8fd 433562007-10-17 Robert Millan <rmh@aybabtu.com>
43357
43358 * include/grub/i386/loader.h: New file.
43359
43360 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43361 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43362 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43363 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43364 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43365 * include/grub/i386/loader.h (grub_linux_prot_size)
43366 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43367 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43368 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43369 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43370
43371 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43372
e179b2f4 433732007-10-15 Robert Millan <rmh@aybabtu.com>
43374
43375 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43376 filesystem when dev->disk is unset.
43377 Do probe for filesystem even when dev->disk->has_partitions is set.
43378 In case a filesystem is found, always report it.
43379 In case it isn't, if dev->disk->has_partitions is set, report that
43380 a partition table was found instead of reporting that no filesystem
43381 could be identified.
43382
5db82af6 433832007-10-12 Robert Millan <rmh@aybabtu.com>
43384
43385 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43386 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43387
68f6ac74 43388 * include/grub/types.h (grub_host_to_target16): New macro.
43389 (grub_host_to_target32): Likewise.
43390 (grub_host_to_target64): Likewise.
43391 (grub_target_to_host16): Likewise.
43392 (grub_target_to_host32): Likewise.
43393 (grub_target_to_host64): Likewise.
5db82af6 43394
43395 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43396 Renamed from to ...
43397 (GRUB_MOD_ALIGN): ...this. Update all users.
43398
68f6ac74 43399 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43400 grub_host_to_target32.
43401 Replace grub_be_to_cpu32 with grub_target_to_host32.
43402 (load_modules): Likewise.
43403 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43404 Replace grub_be_to_cpu32 with grub_target_to_host32.
43405 Replace grub_cpu_to_be16 with grub_host_to_target16.
43406 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43407
3cf497cc 434082007-10-12 Robert Millan <rmh@aybabtu.com>
43409
43410 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43411 * util/elf/grub-mkimage.c: ... here.
43412
43413 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43414 `util/powerpc/ieee1275/grub-mkimage.c'.
43415
c8cc3692 434162007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43417
c8cc3692 43418 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43419 and make it easier to figure out.
43420 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43421 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43422 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43423 leave us with less than HEAP_MIN_SIZE total heap.
43424 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43425
5c58b791 434262007-10-03 Robert Millan <rmh@aybabtu.com>
43427
43428 * include/grub/i386/io.h: New file.
43429 * commands/i386/pc/play.c (inb): Removed.
43430 (outb): Removed.
43431 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43432 with grub_outb().
afcd2ef8 43433 * term/i386/pc/serial.c (inb): Removed.
43434 (outb): Removed.
43435 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43436 with grub_outb().
43437 * term/i386/pc/vga.c (inb): Removed.
43438 (outb): Removed.
43439 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43440 with grub_outb().
5c58b791 43441
1a477ed6 434422007-10-02 Robert Millan <rmh@aybabtu.com>
43443
43444 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43446 Reported by Marcin Kurek.
43447
6b5d80fa 434482007-09-07 Robert Millan <rmh@aybabtu.com>
43449
43450 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43451 SmartFirmware version updates (as released by Sven Luther), and avoid
43452 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43453 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43454 known broken.
43455
5618afbf 434562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43457
43458 From Hitoshi Ozeki:
43459 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43460 when merging two regions.
43461
6139dcd9 434622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43463
508e39ee 43464 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43465 * normal/completion.c (grub_normal_do_completion): Likewise.
43466 Reported by Hitoshi Ozeki.
43467
434682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43469
6139dcd9 43470 Do not use devices at boot in chainloading.
f19dbdb7 43471
6139dcd9 43472 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43473 (boot_part_addr): Likewise.
43474 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43475 with BOOT_DRIVE and BOOT_PART_ADDR.
43476 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43477 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43478
38da6516 434792007-08-29 Robert Millan <rmh@aybabtu.com>
43480
43481 Patch from Simon Peter <dn.tlp@gmx.net>:
43482 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43483 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43484 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43485 util/i386/pc/grub-setup.c_DEPENDENCIES.
43486 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43487 util/grub-probe.c_DEPENDENCIES.
43488 * conf/powerpc-ieee1275.rmk: Likewise.
43489
29d0928c 434902007-08-28 Robert Millan <rmh@aybabtu.com>
43491
43492 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43493 to tell grub-mkdevicemap how to name devices.
43494 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43495 feature).
43496
43497 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43498 util/i386/get_disk_name.c.
43499 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43500 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43501 util/ieee1275/get_disk_name.c.
43502
43503 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43504
43505 * DISTLIST: Add util/i386/get_disk_name.c and
43506 util/ieee1275/get_disk_name.c.
43507
43508 * util/grub-mkdevicemap.c: Replace device naming logic with
43509 grub_util_get_disk_name() calls.
43510
5a0d3cca 435112007-08-20 Robert Millan <rmh@aybabtu.com>
43512
43513 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43514 (so that it works for both plural and singular quantities).
43515
8b72db2f 435162007-08-05 Robert Millan <rmh@aybabtu.com>
43517
43518 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43519 so that [xz] isn't taken into account when determining order.
43520
352466bf 435212007-08-02 Marco Gerards <marco@gnu.org>
43522
43523 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43524 `include/multiboot2.h', `include/grub/elfload.h',
43525 `include/multiboot.h', `include/grub/multiboot.h',
43526 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43527 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43528 `kern/elf.c', `loader/multiboot_loader.c',
43529 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43530 `loader/i386/pc/multiboot2.c',
43531 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43532 `util/i386/pc/grub-mkrescue.in'. Remove
43533 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43534 `include/grub/i386/pc/util/biosdisk.h' and
43535 `include/grub/powerpc/ieee1275/multiboot.h'.
43536
8f096014 435372007-08-02 Bean <bean123ch@gmail.com>
43538
43539 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43540 (ntfs_mod_SOURCES): New variable.
43541 (ntfs_mod_CFLAGS): Likewise.
43542 (ntfs_mod_LDFLAGS): Likewise.
43543
43544 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43545 (grub_probe_SOURCES): Likewise.
43546 (grub_emu_SOURCES): Likewise.
43547
43548 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43549 (grub_emu_SOURCES): Likewise.
43550
43551 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43552 (grub_emu_SOURCES): Likewise.
f19dbdb7 43553
8f096014 43554 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43555
43556 * fs/ntfs.c: New file.
43557
9959f7db 435582007-08-02 Bean <bean123ch@gmail.com>
43559
43560 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43561
43562 * file.h (grub_file): Likewise.
43563
43564 * fshelp.h (grub_fshelp_read_file): Likewise.
43565
43566 * util/i386/pc/grub-setup.c (setup): Likewise.
43567 (save_first_sector): Likewise.
43568 (save_blocklists): Likewise.
f19dbdb7 43569
9959f7db 43570 * fs/affs.c (grub_affs_read_file): Likewise.
43571
43572 * fs/ext2.c (grub_ext2_read_file): Likewise.
43573
43574 * fs/fat.c (grub_fat_read_data): Likewise.
43575
43576 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43577
43578 * fs/hfs.c (grub_hfs_read_file): Likewise.
43579
43580 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43581
43582 * fs/jfs.c (grub_jfs_read_file): Likewise.
43583
43584 * fs/minix.c (grub_minix_read_file): Likewise.
43585
43586 * fs/sfs.c (grub_sfs_read_file): Likewise.
43587
43588 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43589
9959f7db 43590 * fs/xfs.c (grub_xfs_read_file): Likewise.
43591
43592 * command/blocklist.c (read_blocklist): Likewise.
43593 (print_blocklist): Likewise.
43594
0a203f83 435952007-08-02 Marco Gerards <marco@gnu.org>
43596
43597 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43598 `util/hostfs.c'.
43599
43600 * disk/host.c: New file.
43601
43602 * util/hostfs.c: Likewise.
43603
43604 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43605 return `GRUB_ERR_BAD_FS'.
43606 * fs/sfs.c (grub_sfs_mount): Likewise.
43607 * fs/xfs.c (grub_xfs_mount): Likewise.
43608
43609 * include/grub/disk.h (enum grub_disk_dev_id): Add
43610 `GRUB_DISK_DEVICE_HOST_ID'.
43611
43612 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43613
e5dfe777 436142007-07-24 Jerone Young <jerone@gmail.com>
43615
f19dbdb7 43616 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43617 modules for compilation.
43618 * conf/powerpc-ieee1275.rmk: Likewise.
43619
43620 * include/multiboot.h: Move multiboot definitions to one file. Rename
43621 many definitions to not get grub specific.
43622 * include/multiboot2.h: Create header with multiboot 2 definitions.
43623 * include/grub/multiboot.h: Header for grub specific function
43624 prototypes and definitions.
43625 * include/grub/multiboot2.h: Likewise.
43626 * include/grub/multiboot_loader.h: Likewise.
43627 * include/grub/i386/pc/multiboot.h: Removed.
43628 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43629
43630 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43631 and 2 to allow for one multiboot and module commands.
43632 * loader/multiboot2.c: Add multiboot2 functionality.
43633 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43634 and definition names.
43635 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43636 2 functions.
43637 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43638 ieee1275 specific multiboot2 code.
43639
43640 * kern/i386/pc/startup.S: Change headers and definition names for
43641 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43642
daf0f0ba 436432007-07-22 Robert Millan <rmh@aybabtu.com>
43644
43645 * geninitheader.sh: Process file specified in first parameter rather
43646 than hardcoding grub_modules_init.lst.
fe6b695a 43647 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43648 than hardcoding grub_modules_init.h.
43649
43650 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43651 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43652 grub_probe_init.[ch] and grub_setup_init.[ch].
43653
43654 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43655 grub_modules_init.h with grub_emu_init.h.
43656 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43657 grub_probe_init.[ch] files.
43658 * conf/i386-efi.rmk: Likewise.
43659 * conf/i386-pc.rmk: Likewise.
43660 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43661 grub_setup_init.[ch] files.
43662
43663 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43664 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43665 to initialize modules rather than a list of hardcoded functions.
43666 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43667 grub_init_all() to initialize modules rather than a list of hardcoded
43668 functions.
43669
54cdc1cc 436702007-07-22 Robert Millan <rmh@aybabtu.com>
43671
43672 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43673 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43674
ad0686cc 436752007-07-22 Robert Millan <rmh@aybabtu.com>
43676
43677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43678 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43679 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43680 flag when running on SmartFirmware.
43681 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43682 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43683 was set.
43684
43685 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43686 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43687 rather than decreasing it.
43688
43689 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43690 there's not enough space to do it, fail in the same way as when it
43691 can't be done because there are no partitions.
43692
43693 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43694 when nvsetenv failed.
43695
969c02ec 436962007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43697
43698 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43699 because this rule is automatically generated.
43700 (grub-mkrescue): Removed for the same reason as above.
43701
5a79f472 437022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43703
43704 Migrate to GNU General Public License Version 3.
f19dbdb7 43705
5a79f472 43706 * COPYING: Replaced with the plain text version of GPLv3.
43707
43708 * config.guess: Updated from gnulib.
43709 * config.sub: Likewise.
43710
43711 * geninit.sh: Output a GPLv3 copyright notice.
43712 * geninitheader.sh: Likewise.
43713 * genmodsrc.sh: Likewise.
43714 * gensymlist.sh.in: Likewise.
43715
43716 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43717 * boot/i386/pc/diskboot.S: Likewise.
43718 * boot/i386/pc/pxeboot.S: Likewise.
43719 * commands/blocklist.c: Likewise.
43720 * commands/boot.c: Likewise.
43721 * commands/cat.c: Likewise.
43722 * commands/cmp.c: Likewise.
43723 * commands/configfile.c: Likewise.
43724 * commands/echo.c: Likewise.
43725 * commands/help.c: Likewise.
43726 * commands/ls.c: Likewise.
43727 * commands/search.c: Likewise.
43728 * commands/terminal.c: Likewise.
43729 * commands/test.c: Likewise.
43730 * commands/videotest.c: Likewise.
43731 * commands/i386/cpuid.c: Likewise.
43732 * commands/i386/pc/halt.c: Likewise.
43733 * commands/i386/pc/play.c: Likewise.
43734 * commands/i386/pc/reboot.c: Likewise.
43735 * commands/i386/pc/vbeinfo.c: Likewise.
43736 * commands/i386/pc/vbetest.c: Likewise.
43737 * commands/ieee1275/halt.c: Likewise.
43738 * commands/ieee1275/reboot.c: Likewise.
43739 * commands/ieee1275/suspend.c: Likewise.
43740 * disk/loopback.c: Likewise.
43741 * disk/lvm.c: Likewise.
43742 * disk/raid.c: Likewise.
43743 * disk/efi/efidisk.c: Likewise.
43744 * disk/i386/pc/biosdisk.c: Likewise.
43745 * disk/ieee1275/ofdisk.c: Likewise.
43746 * font/manager.c: Likewise.
43747 * fs/affs.c: Likewise.
43748 * fs/ext2.c: Likewise.
43749 * fs/fat.c: Likewise.
43750 * fs/fshelp.c: Likewise.
43751 * fs/hfs.c: Likewise.
43752 * fs/hfsplus.c: Likewise.
43753 * fs/iso9660.c: Likewise.
43754 * fs/jfs.c: Likewise.
43755 * fs/minix.c: Likewise.
43756 * fs/sfs.c: Likewise.
43757 * fs/ufs.c: Likewise.
43758 * fs/xfs.c: Likewise.
43759 * hello/hello.c: Likewise.
43760 * include/grub/acorn_filecore.h: Likewise.
43761 * include/grub/arg.h: Likewise.
43762 * include/grub/bitmap.h: Likewise.
43763 * include/grub/boot.h: Likewise.
43764 * include/grub/cache.h: Likewise.
43765 * include/grub/device.h: Likewise.
43766 * include/grub/disk.h: Likewise.
43767 * include/grub/dl.h: Likewise.
43768 * include/grub/elfload.h: Likewise.
43769 * include/grub/env.h: Likewise.
43770 * include/grub/err.h: Likewise.
43771 * include/grub/file.h: Likewise.
43772 * include/grub/font.h: Likewise.
43773 * include/grub/fs.h: Likewise.
43774 * include/grub/fshelp.h: Likewise.
43775 * include/grub/gzio.h: Likewise.
43776 * include/grub/hfs.h: Likewise.
43777 * include/grub/kernel.h: Likewise.
43778 * include/grub/loader.h: Likewise.
43779 * include/grub/lvm.h: Likewise.
43780 * include/grub/misc.h: Likewise.
43781 * include/grub/mm.h: Likewise.
43782 * include/grub/net.h: Likewise.
43783 * include/grub/normal.h: Likewise.
43784 * include/grub/parser.h: Likewise.
43785 * include/grub/partition.h: Likewise.
43786 * include/grub/pc_partition.h: Likewise.
43787 * include/grub/raid.h: Likewise.
43788 * include/grub/rescue.h: Likewise.
43789 * include/grub/script.h: Likewise.
43790 * include/grub/setjmp.h: Likewise.
43791 * include/grub/symbol.h: Likewise.
43792 * include/grub/term.h: Likewise.
43793 * include/grub/terminfo.h: Likewise.
43794 * include/grub/tparm.h: Likewise.
43795 * include/grub/types.h: Likewise.
43796 * include/grub/video.h: Likewise.
43797 * include/grub/efi/api.h: Likewise.
43798 * include/grub/efi/chainloader.h: Likewise.
43799 * include/grub/efi/console.h: Likewise.
43800 * include/grub/efi/console_control.h: Likewise.
43801 * include/grub/efi/disk.h: Likewise.
43802 * include/grub/efi/efi.h: Likewise.
43803 * include/grub/efi/pe32.h: Likewise.
43804 * include/grub/efi/time.h: Likewise.
43805 * include/grub/i386/linux.h: Likewise.
43806 * include/grub/i386/setjmp.h: Likewise.
43807 * include/grub/i386/types.h: Likewise.
43808 * include/grub/i386/efi/kernel.h: Likewise.
43809 * include/grub/i386/efi/loader.h: Likewise.
43810 * include/grub/i386/efi/time.h: Likewise.
43811 * include/grub/i386/pc/biosdisk.h: Likewise.
43812 * include/grub/i386/pc/boot.h: Likewise.
43813 * include/grub/i386/pc/chainloader.h: Likewise.
43814 * include/grub/i386/pc/console.h: Likewise.
43815 * include/grub/i386/pc/init.h: Likewise.
43816 * include/grub/i386/pc/kernel.h: Likewise.
43817 * include/grub/i386/pc/loader.h: Likewise.
43818 * include/grub/i386/pc/memory.h: Likewise.
43819 * include/grub/i386/pc/multiboot.h: Likewise.
43820 * include/grub/i386/pc/serial.h: Likewise.
43821 * include/grub/i386/pc/time.h: Likewise.
43822 * include/grub/i386/pc/vbe.h: Likewise.
43823 * include/grub/i386/pc/vbeblit.h: Likewise.
43824 * include/grub/i386/pc/vbefill.h: Likewise.
43825 * include/grub/i386/pc/vbeutil.h: Likewise.
43826 * include/grub/i386/pc/vga.h: Likewise.
43827 * include/grub/ieee1275/ieee1275.h: Likewise.
43828 * include/grub/ieee1275/ofdisk.h: Likewise.
43829 * include/grub/powerpc/libgcc.h: Likewise.
43830 * include/grub/powerpc/setjmp.h: Likewise.
43831 * include/grub/powerpc/types.h: Likewise.
43832 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43833 * include/grub/powerpc/ieee1275/console.h: Likewise.
43834 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43835 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43836 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43837 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43838 * include/grub/powerpc/ieee1275/time.h: Likewise.
43839 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43840 * include/grub/sparc64/libgcc.h: Likewise.
43841 * include/grub/sparc64/setjmp.h: Likewise.
43842 * include/grub/sparc64/types.h: Likewise.
43843 * include/grub/sparc64/ieee1275/console.h: Likewise.
43844 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43845 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43846 * include/grub/sparc64/ieee1275/time.h: Likewise.
43847 * include/grub/util/biosdisk.h: Likewise.
43848 * include/grub/util/getroot.h: Likewise.
43849 * include/grub/util/lvm.h: Likewise.
43850 * include/grub/util/misc.h: Likewise.
43851 * include/grub/util/raid.h: Likewise.
43852 * include/grub/util/resolve.h: Likewise.
43853 * io/gzio.c: Likewise.
43854 * kern/device.c: Likewise.
43855 * kern/disk.c: Likewise.
43856 * kern/dl.c: Likewise.
43857 * kern/elf.c: Likewise.
43858 * kern/env.c: Likewise.
43859 * kern/err.c: Likewise.
43860 * kern/file.c: Likewise.
43861 * kern/fs.c: Likewise.
43862 * kern/loader.c: Likewise.
43863 * kern/main.c: Likewise.
43864 * kern/misc.c: Likewise.
43865 * kern/mm.c: Likewise.
43866 * kern/parser.c: Likewise.
43867 * kern/partition.c: Likewise.
43868 * kern/rescue.c: Likewise.
43869 * kern/term.c: Likewise.
43870 * kern/efi/efi.c: Likewise.
43871 * kern/efi/init.c: Likewise.
43872 * kern/efi/mm.c: Likewise.
43873 * kern/i386/dl.c: Likewise.
43874 * kern/i386/efi/init.c: Likewise.
43875 * kern/i386/efi/startup.S: Likewise.
43876 * kern/i386/pc/init.c: Likewise.
43877 * kern/i386/pc/lzo1x.S: Likewise.
43878 * kern/i386/pc/startup.S: Likewise.
43879 * kern/ieee1275/ieee1275.c: Likewise.
43880 * kern/powerpc/cache.S: Likewise.
43881 * kern/powerpc/dl.c: Likewise.
43882 * kern/powerpc/ieee1275/cmain.c: Likewise.
43883 * kern/powerpc/ieee1275/crt0.S: Likewise.
43884 * kern/powerpc/ieee1275/init.c: Likewise.
43885 * kern/powerpc/ieee1275/openfw.c: Likewise.
43886 * kern/sparc64/cache.S: Likewise.
43887 * kern/sparc64/dl.c: Likewise.
43888 * kern/sparc64/ieee1275/init.c: Likewise.
43889 * kern/sparc64/ieee1275/openfw.c: Likewise.
43890 * loader/efi/chainloader.c: Likewise.
43891 * loader/efi/chainloader_normal.c: Likewise.
43892 * loader/i386/efi/linux.c: Likewise.
43893 * loader/i386/efi/linux_normal.c: Likewise.
43894 * loader/i386/pc/chainloader.c: Likewise.
43895 * loader/i386/pc/chainloader_normal.c: Likewise.
43896 * loader/i386/pc/linux.c: Likewise.
43897 * loader/i386/pc/linux_normal.c: Likewise.
43898 * loader/i386/pc/multiboot.c: Likewise.
43899 * loader/i386/pc/multiboot_normal.c: Likewise.
43900 * loader/powerpc/ieee1275/linux.c: Likewise.
43901 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43902 * normal/arg.c: Likewise.
43903 * normal/cmdline.c: Likewise.
43904 * normal/command.c: Likewise.
43905 * normal/completion.c: Likewise.
43906 * normal/execute.c: Likewise.
43907 * normal/function.c: Likewise.
43908 * normal/lexer.c: Likewise.
43909 * normal/main.c: Likewise.
43910 * normal/menu.c: Likewise.
43911 * normal/menu_entry.c: Likewise.
43912 * normal/misc.c: Likewise.
43913 * normal/parser.y: Likewise.
43914 * normal/script.c: Likewise.
43915 * normal/i386/setjmp.S: Likewise.
43916 * normal/powerpc/setjmp.S: Likewise.
43917 * normal/sparc64/setjmp.S: Likewise.
43918 * partmap/acorn.c: Likewise.
43919 * partmap/amiga.c: Likewise.
43920 * partmap/apple.c: Likewise.
43921 * partmap/gpt.c: Likewise.
43922 * partmap/pc.c: Likewise.
43923 * partmap/sun.c: Likewise.
43924 * term/gfxterm.c: Likewise.
43925 * term/terminfo.c: Likewise.
43926 * term/efi/console.c: Likewise.
43927 * term/i386/pc/console.c: Likewise.
43928 * term/i386/pc/serial.c: Likewise.
43929 * term/i386/pc/vesafb.c: Likewise.
43930 * term/i386/pc/vga.c: Likewise.
43931 * term/ieee1275/ofconsole.c: Likewise.
43932 * util/biosdisk.c: Likewise.
43933 * util/console.c: Likewise.
43934 * util/genmoddep.c: Likewise.
43935 * util/getroot.c: Likewise.
43936 * util/grub-emu.c: Likewise.
43937 * util/grub-mkdevicemap.c: Likewise.
43938 * util/grub-probe.c: Likewise.
43939 * util/lvm.c: Likewise.
43940 * util/misc.c: Likewise.
43941 * util/raid.c: Likewise.
43942 * util/resolve.c: Likewise.
43943 * util/update-grub.in: Likewise.
43944 * util/update-grub_lib.in: Likewise.
43945 * util/grub.d/00_header.in: Likewise.
43946 * util/grub.d/10_hurd.in: Likewise.
43947 * util/grub.d/10_linux.in: Likewise.
43948 * util/i386/efi/grub-install.in: Likewise.
43949 * util/i386/efi/grub-mkimage.c: Likewise.
43950 * util/i386/pc/grub-install.in: Likewise.
43951 * util/i386/pc/grub-mkimage.c: Likewise.
43952 * util/i386/pc/grub-mkrescue.in: Likewise.
43953 * util/i386/pc/grub-setup.c: Likewise.
43954 * util/i386/pc/misc.c: Likewise.
43955 * util/powerpc/ieee1275/grub-install.in: Likewise.
43956 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43957 * util/powerpc/ieee1275/misc.c: Likewise.
43958 * video/bitmap.c: Likewise.
43959 * video/video.c: Likewise.
43960 * video/i386/pc/vbe.c: Likewise.
43961 * video/i386/pc/vbeblit.c: Likewise.
43962 * video/i386/pc/vbefill.c: Likewise.
43963 * video/i386/pc/vbeutil.c: Likewise.
43964 * video/readers/tga.c: Likewise.
43965
3572d015 439662007-07-02 Robert Millan <rmh@aybabtu.com>
43967
43968 * conf/i386-efi.rmk: Replace obsolete reference to
43969 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43970 with util/getroot.c.
43971 * conf/powerpc-ieee1275.rmk: Likewise.
43972 * conf/sparc64-ieee1275.rmk: Likewise.
43973
43974 * util/grub-emu.c (main): Fix unchecked pointer handling.
43975
2c2a681b 439762007-07-02 Robert Millan <rmh@aybabtu.com>
43977
43978 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43979 invocation to fail, in order to support partition-less media.
43980
43981 * util/i386/pc/grub-install.in: Likewise.
43982
43983 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43984 which fs or partmap modules are needed (akin to its sister scripts).
43985
43986 Also use grub-probe to get rid of unportable /proc/mounts check.
43987
43988 Print the same informational message that the other scripts do, before
fe6b695a 43989 exiting.
2c2a681b 43990
6193defe 439912007-06-23 Robert Millan <rmh@aybabtu.com>
43992
fe6b695a 43993 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43994 a font file can be found and, if so, echo the GRUB path to it.
43995
43996 * util/update-grub.in: Handle multiple terminals depending on user
43997 input, platform availability and font file presence. Propagate
43998 variables of our findings to /etc/grub.d/ children.
43999
44000 * util/grub.d/00_header.in: Handle multiple terminals, based on
44001 environment setup by update-grub.
44002
eface1dc 440032007-06-23 Robert Millan <rmh@aybabtu.com>
44004
ba50d28f 44005 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44006
bf697e28 440072007-06-21 Robert Millan <rmh@aybabtu.com>
44008
44009 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44010 indicate end of data section in kernel image.
44011 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44012 GRUB_KERNEL_MACHINE_DATA_END.
44013
44014 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44015 space for it.
44016 * kern/i386/efi/startup.S: Likewise.
44017
44018 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44019 during image generation. Implement --prefix option to override this
44020 patch.
44021 * util/i386/efi/grub-mkimage.c: Likewise.
44022
44023 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44024 code to make path relative to its root into a separate function.
44025
44026 * util/i386/pc/grub-install.in: Use newly provided
44027 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44028 pass the result to grub-install --prefix.
44029
baa574b4 440302007-06-13 Robert Millan <rmh@aybabtu.com>
44031
44032 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44033 DEFAULT_DEVICE_MAP.
44034 * util/grub-emu.c: Use above definitions from misc.h instead of
44035 defining them.
44036 * util/grub-mkdevicemap.c: Likewise.
44037 * util/i386/pc/grub-setup.c: Likewise.
44038 * util/grub-probe.c: Likewise.
44039 (probe): Abort with grub_util_error() when either
44040 grub_guess_root_device or grub_util_get_grub_dev fails.
44041
0215dcbf 440422007-06-12 Robert Millan <rmh@aybabtu.com>
44043
44044 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44045 "pager" assignment.
44046 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44047 "pcdata".
44048 * util/grub-probe.c (probe): Likewise for "drive_name".
44049
8af2ab7b 440502007-06-11 Robert Millan <rmh@aybabtu.com>
44051
44052 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44053 not just the cdrom one.
44054
59d31694 440552007-06-11 Robert Millan <rmh@aybabtu.com>
44056
44057 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44058 Add --pkglibdir=DIR option to override pkglibdir.
44059 Mention --image-type=TYPE in help output.
44060 Fix --grub-mkimage (it was a no-op).
fe6b695a 44061 Abort gracefully when no parameter is given.
59d31694 44062
7ee367e4 440632007-06-11 Robert Millan <rmh@aybabtu.com>
44064
44065 * util/i386/pc/grub-mkrescue.in: New file.
44066 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44067 * Makefile.in: Handle bin_SCRIPTS.
44068
29b0ed46 440692007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44070
44071 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44072 list of video modes.
44073
c0f90770 440742007-06-06 Robert Millan <rmh@aybabtu.com>
44075
44076 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44077 file doesn't exist, or if it is in a filesystem grub can't read.
44078
44079 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44080 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44081 header comment to fit in 80 columns when the variables are resolved.
44082
44083 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44084 could be identified by update-grub. Remove redundant check for
fe6b695a 44085 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44086 handles that).
44087
fb36dc26 440882007-06-04 Robert Millan <rmh@aybabtu.com>
44089
44090 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44091
44092 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44093
44094 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44095
0c68c93e 440962007-06-04 Robert Millan <rmh@aybabtu.com>
44097
44098 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44099
44100 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44101 grub_apple_partition_map_fini.
44102
44103 * util/biosdisk.c
44104 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44105 to access >2 TiB disks).
44106
44107 Print disk->total_sectors with %llu instead of %lu, since this
44108 variable is always 64-bit (prevents wrong disk size from being displayed
44109 on either >2 TiB disk or big-endian CPU).
44110
44111 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44112 into a generic case that supports all (sane) partition maps.
44113
44114 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44115 breaks big-endian.
44116
44117 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44118 and grub_apple_partition_map_fini() after that.
44119
0f23eb74 441202007-06-01 Robert Millan <rmh@aybabtu.com>
44121
44122 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44123
44124 * util/grub.d/00_header.in: Only enable gfxterm when
44125 convert_system_path_to_grub_path() succeeds.
44126
42c71976 441272007-05-20 Robert Millan <rmh@aybabtu.com>
44128
44129 * util/update-grub_lib.in: New file.
44130 * DISTLIST: Add update-grub_lib.in.
44131 * conf/common.rmk: Generate update-grub_lib and install it in
44132 $(lib_DATA).
44133 * Makefile.in: Add install routine for $(lib_DATA).
44134
44135 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44136 function provided by update-grub_lib to support arbitrary paths of
44137 unifont.pff.
44138 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44139 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44140
5beb2291 441412007-05-19 Robert Millan <rmh@aybabtu.com>
44142
44143 * commands/i386/cpuid.c: New module.
44144 * DISTLIST: Add it.
44145 * conf/i386-efi.rmk: Enable cpuid.mod.
44146 * conf/i386-pc.rmk: Likewise.
44147
7262eca1 441482007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44149
44150 * kern/disk.c (grub_disk_read): Check return value of
44151 grub_realloc().
44152
260ba823 441532007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44154
44155 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44156 arrays.
44157 * disk/raid.c (grub_raid_open): Likewise.
44158
1ecb6cf2 441592007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44160
44161 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44162 stack instead of on the heap.
44163
44164 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44165 before doing a read on it.
44166
44167 * configure.ac: Only use -fno-stack-protector for the target
44168 environment.
f19dbdb7 44169
21c8cbb1 441702007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44171
44172 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44173 __attribute_ ((unused)) to mode_type argument.
44174
44175 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44176
21c8cbb1 44177 * kern/misc.c (memcmp): Fix prototype.
44178
44179 * include/grub/partition.h [GRUB_UTIL]
44180 (grub_gpt_partition_map_init): Add prototype.
44181 (grub_gpt_partition_map_fini): Likewise.
44182
44183 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44184 at the right place.
44185
44186 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44187 (grub_fat_read_data): Likewise.
44188 (grub_fat_find_dir): Likewise.
44189
44190 * font/manager.c (find_glyph): Make table a const.
44191 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44192
849d55d3 441932007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44194
44195 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44196 code, first search for device in /dev/mapper, then in /dev.
44197 (grub_util_get_grub_dev): New function.
44198 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44199 prototype.
44200 * util/grub-probe.c (probe): Remove check for RAID, call
44201 grub_util_get_grub_dev() instead of
44202 grub_util_biosdisk_get_grub_dev().
44203 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44204 grub_util_biosdisk_get_grub_dev().
44205 * util/i386/pc/grub-setup.c (main): Likewise.
44206
8fff7c2f 442072007-05-16 Robert Millan <rmh@aybabtu.com>
44208
44209 * DISTLIST: Update for the latest changes.
44210 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44211 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44212 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44213 grub/util/biosdisk.h.
44214 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44215 grub/util/biosdisk.h.
44216
48e12b52 442172007-05-16 Robert Millan <rmh@aybabtu.com>
44218
44219 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44220
46b9d128 442212007-05-16 Robert Millan <rmh@aybabtu.com>
44222
44223 * util/i386/efi/grub-install.in: New.
44224 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44225 newly added grub-install.
44226 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44227 include.
44228 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44229 grub/util/biosdisk.h.
44230 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44231 grub/util/biosdisk.h.
44232
2d1a40a9 442332007-05-16 Robert Millan <rmh@aybabtu.com>
44234
44235 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44236 * include/grub/util/biosdisk.h: ... here.
44237 * util/i386/pc/biosdisk.c: Moved to ...
44238 * util/biosdisk.c: ... here.
44239 * util/i386/pc/getroot.c: Moved to ...
44240 * util/getroot.c: ... here.
44241 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44242 * util/grub-mkdevicemap.c: ... here.
44243 * util/i386/pc/grub-probe.c: Moved to ...
44244 * util/grub-probe.c: ... here.
44245
9e26e3bc 442462007-05-15 Robert Millan <rmh@aybabtu.com>
44247
44248 * util/update-grub.in: Remove duplicated line in grub.cfg header
44249 message.
44250
57f96397 442512007-05-13 Robert Millan <rmh@aybabtu.com>
44252
44253 * util/update-grub.in: Fix a few assumptions about the devices holding
44254 /, /boot and /boot/grub being the same.
44255 * util/grub.d/00_header.in: Likewise.
44256 * util/grub.d/10_hurd.in: Likewise.
44257 * util/grub.d/10_linux.in: Likewise.
44258
44259 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44260 patterns. Use that to define the `.old' suffix as older than `'.
44261
44262 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44263
44264 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44265 the grub.cfg header message.
44266
2e610d62 442672007-05-11 Robert Millan <rmh@aybabtu.com>
44268
44269 * util/update-grub.in: Create device.map if it doesn't already exist,
44270 before attempting to run grub-probe.
44271 Check for grub-probe and grub-mkdevicemap with the same code
44272 grub-install is using.
44273 Remove test mode.
44274
3f6a10ef 442752007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44276
44277 * Makefile.in: Add the datarootdir autoconf variable.
44278
02e7b75e 442792007-05-09 Robert Millan <rmh@aybabtu.com>
44280
44281 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44282 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44283
75f396cc 442842007-05-07 Robert Millan <rmh@aybabtu.com>
44285
44286 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44287 determine partition map module.
44288 * util/i386/pc/grub-install.in: Use this feature to decide which
44289 partition module to load, instead of hardcoding pc and gpt.
44290
da65cb36 442912007-05-07 Robert Millan <rmh@aybabtu.com>
44292
44293 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44294 source directory differs from build directory.
44295
b57d6a91 442962007-05-05 Robert Millan <rmh@aybabtu.com>
44297
44298 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44299 initialisation.
44300
509d00f1 443012007-05-05 Robert Millan <rmh@aybabtu.com>
44302
44303 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44304
c48f23ef 443052007-05-05 Robert Millan <rmh@aybabtu.com>
44306
44307 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44308 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44309
20b97658 443102007-05-05 Robert Millan <rmh@aybabtu.com>
44311
44312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44313 (grub_probe_SOURCES): Likewise.
44314 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44315 GPT and initialize dos_part and bsd_part accordingly.
44316 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44317 install_bsd_part.
44318 (main): Activate gpt module for use during partition identification,
44319 and deactivate it afterwards.
44320 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44321 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44322 partition identification, and deactivate it afterwards.
44323
99123174 443242007-05-05 Robert Millan <rmh@aybabtu.com>
44325
44326 * term/i386/pc/console.c (grub_console_fini): Call
44327 grub_term_set_current() before grub_term_unregister().
44328
ebd97f6e 443292007-05-04 Robert Millan <rmh@aybabtu.com>
44330
44331 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44332 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44333 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44334 and update-grub_DATA.
44335 * conf/common.rmk: Build and install update-grub components.
44336 * conf/common.mk: Regenerate.
44337 * util/update-grub.in: New. Core of update-grub.
44338 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44339 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44340 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44341 * util/grub.d/README: New. Document grub.d directory layout.
44342
b06a264d 443432007-05-01 Robert Millan <rmh@aybabtu.com>
44344
44345 * util/grub-emu.c: Move initialization functions
44346 grub_util_biosdisk_init() and grub_init_all() before
44347 grub_util_biosdisk_get_grub_dev(), which relies on them.
44348
41f0050e 443492007-04-19 Robert Millan <rmh@aybabtu.com>
44350
44351 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44352 it is used later.
44353
04582bb3 443542007-04-18 Jerone Young <jerone@gmail.com>
44355
f19dbdb7 44356 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44357 stanza.
44358
08db4632 443592007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44360
08db4632 44361 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44362 continue on and look for device node with real device name.
44363
801b76be 443642007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44365
fe6b695a 44366 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44367 ability.
44368 * Makefile.in: Add autoconf package transformation code.
44369 * util/i386/pc/grub-install.in: Likewise.
44370 * util/powerpc/ieee1275/grub-install.in: Likewise.
44371
6795c4e1 443722007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44373
44374 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44375 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44376 (EXT2_REVISION): Likewise.
44377 (EXT2_INODE_SIZE): Likewise.
44378 (struct grub_ext2_block_group): Added a missing member
44379 "used_dirs".
44380 (grub_ext2_read_inode): Divide by the inode size in a superblock
44381 instead of 128 to obtain INODES_PER_BLOCK.
44382 Use the macro EXT2_INODE_SIZE instead of directly using
44383 SBLOCK->INODE_SIZE.
44384
d70af616 443852007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44386
44387 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44388 superblock instead of the structure size to compute an
44389 offset. This fixes the problem that GRUB could not read a
44390 filesystem when inode size is different from 128-byte.
44391
3b801603 443922007-03-05 Marco Gerards <marco@gnu.org>
44393
44394 * normal/main.c (read_config_file): When "menu" is not set, create
44395 an initial context.
44396
4785bfe4 443972007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44398
44399 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44400 (HEAP_LIMIT): New macro.
44401 (grub_claim_heap): Claim memory up to `heaplimit'.
44402
a0cbb023 444032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44404
44405 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44406 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44407 (_start): Likewise.
44408 (grub_arch_modules_addr): Return address after `_end'.
44409 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44410 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44411 (add_segments): Calculate `_end' from phdr size and location.
44412 (ALIGN_UP): Moved to ...
44413 * include/grub/misc.h: here.
44414 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44415 New macro.
44416 (GRUB_IEEE1275_MODULE_BASE): Removed.
44417
fd7d8eba 444182007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44419
44420 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44421 loop boundary.
44422
9b09e6fc 444232007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44424
44425 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44426 All users updated.
44427 (grub_elf64_load_hook_t): Likewise.
44428 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44429 debug output.
44430
3ce27299 444312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44432
44433 * kern/mm.c: Update copyright.
44434 (grub_mm_debug): Correct syntax error.
44435 (grub_mm_dump_free): New function.
44436 (grub_debug_free): Call `grub_free'.
44437 * include/grub/mm.h: Update copyright.
44438 (grub_mm_dump_free): Add declaration.
44439
077d5fee 444402007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44441
44442 * include/grub/ieee1275/ieee1275.h: Update copyright.
44443 * kern/powerpc/ieee1275/init.c: Likewise.
44444 * kern/powerpc/ieee1275/openfw.c: Likewise.
44445
44446 * loader/powerpc/ieee1275/linux.c: Likewise.
44447 * include/grub/elfload.h: Likewise.
44448 * kern/elf.c: Likewise.
44449 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44450 callers.
44451 (grub_elf64_load): Likewise.
44452 (grub_elf32_load_segment): Move to a nested function.
44453 (grub_elf64_load_segment): Likewise.
44454
dc946850 444552007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44456
44457 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44458 prototype.
44459 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44460 (grub_heap_len): Likewise.
44461 (HEAP_SIZE): New macro.
44462 (grub_claim_heap): New function.
44463 (grub_machine_init): Don't claim heap directly. Call
44464 `grub_claim_heap'.
44465 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44466 (grub_available_iterate): New function.
44467
baa2a121 444682007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44469
44470 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44471 * configure.ac: Use it for testing the HOST and TARGET compilers.
44472
4fe9862e 444732006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44474
44475 * Makefile.in (enable_grub_emu): New variable.
44476 * configure.ac (--enable-grub-emu): New option.
44477 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44478 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44479 * conf/i386-pc.rmk: Likewise.
44480 * conf/powerpc-ieee1275.rmk: Likewise.
44481 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44482
a8aa5762 444832006-12-12 Marco Gerards <marco@gnu.org>
44484
44485 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44486
44487 * kern/env.c (grub_env_unset): Don't free the member `value' when
44488 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44489 pointer.
44490
44491 * normal/main.c (current_menu): Removed.
44492 (free_menu): Unset the `menu' environment variable.
44493 (grub_normal_menu_addentry): Make use of the environment variable
44494 `menu', instead of using the global `current_menu'. Allocate
44495 memory for the sourcecode of this entry.
44496 (read_config_file): New argument `nested', changed all callers.
44497 Only in the case of a new context, initialize a new menu. Set the
44498 `menu' environment variable.
44499 (grub_normal_execute): Don't set and unset the environment
44500 variable `menu' here anymore. Only free the menu when leaving the
44501 context.
44502
44503 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44504 leak.
44505
957b3a3e 445062006-12-11 Marco Gerards <marco@gnu.org>
44507
44508 * normal/menu_entry.c (run): Fix off by one bug so the last line
44509 is executed. Move the loader check to outside the loop.
44510
ef875714 445112006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44512
44513 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44514
4e739985 445152006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44516
44517 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44518 the number of sectors. Reported by Andrey Shuvikov
44519 <mr_hyro@yahoo.com>.
f19dbdb7 44520
790707f2 445212006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44522
44523 * kern/disk.c (grub_disk_read): When there is a read error, always
44524 try to read only the necessary data.
f19dbdb7 44525
790707f2 44526 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44527 disk/raid.c.
44528 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44529 prototype.
44530 [GRUB_UTIL] (grub_raid_fini): Likewise.
44531 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44532 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44533 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44534 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44535 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44536 and grub_raid_fini().
f19dbdb7 44537
03e58196 445382006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44539
44540 * include/grub/types.h (__unused): Rename to UNUSED.
44541 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44542 (grub_elf64_size): Likewise.
f19dbdb7 44543
ae4f23bf 445442006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44545
44546 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44547 grub_error_push and grub_error_pop in the error-handling path.
44548 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44549 length.
44550
2166cc83 445512006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44552
44553 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44554 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44556 (kernel_elf_SOURCES): Likewise.
44557 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44558 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44559 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44560 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44561 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44562 (elf_mod_SOURCES): New variable.
44563 (elf_mod_CFLAGS): Likewise.
44564 (elf_mod_LDFLAGS): Likewise.
44565 * include/grub/types.h (__unused): New macro.
44566 * include/grub/elfload.h: New file.
44567 * kern/elf.c: Likewise.
44568 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44569 (ELF32_LOADMASK): New macro.
44570 (ELF64_LOADMASK): Likewise.
44571 (vmlinux): Removed.
44572 (grub_linux_load32): New function.
44573 (grub_linux_load64): Likewise.
44574 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44575 Use grub_elf_t instead of grub_file_t.
44576
a09d5aa5 445772006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44578
44579 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44580 `catch_result' to struct set_color_args.
44581
d976fc51 445822006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44583
44584 * normal/menu.c: Include grub/script.h.
44585 * normal/menu_entry.c: Likewise.
44586 * include/grub/normal.h: Do not include grub/script.h.
44587
67507549 445882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44589
44590 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44591
69203a99 445922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44593
44594 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44595 disk.
44596 (grub_disk_close): Print debug messages when closing a disk.
44597 (grub_disk_read): Print debug messages when disk read fails.
44598 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44599 filesystem type.
44600 * kern/partition.c: Include misc.h.
44601 (grub_partition_iterate): Print debug messages when detecting
44602 partition type.
44603
e2b8278c 446042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44605
44606 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44607 is negative.
44608 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44609
97b2f2ff 446102006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44611
44612 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44613 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44614
6555d655 446152006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44616
44617 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44618 instead of sizeof(lv). Patch by Michael Guntsche.
44619
4d42b77f 446202006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44621
44622 * disk/lvm.c: Rename VGS to VG_LIST.
44623 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44624 (grub_lvm_open): Likewise.
44625 Thanks to Michael Guntsche for finding this bug.
44626
5d74d927 446272006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44628
44629 * configure.ac (AC_INIT): Bumped to 1.95.
44630
a1bb27e4 446312006-10-14 Robert Millan <rmh@aybabtu.com>
44632
44633 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44634 with "/dev/.static/dev/md".
44635
e0994b8b 446362006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44637
44638 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44639 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44640 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44641 DRIVE_NAME are always freed.
44642
44643 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44644 DOS_PART, as a DOS partition is counted from one instead of zero
44645 now. Reported by Robert Millan.
44646
ddd5cee9 446472006-10-14 Robert Millan <rmh@aybabtu.com>
44648
44649 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44650 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44651 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44652 string returned by grub_guess_root_device.
44653 * util/i386/pc/grub-setup.c: Likewise.
44654 * util/i386/pc/grub-probefs.c: Likewise.
44655
44656 * util/i386/pc/grub-probefs.c: Rename to ...
44657 * util/i386/pc/grub-probe.c: ... this.
44658 * DISTLIST: Remove grub-probefs, add grub-probe.
44659 * conf/i386-efi.rmk: Likewise.
44660 * conf/i386-pc.rmk: Likewise.
44661 * util/i386/pc/grub-install.in: Likewise.
44662
44663 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44664 choose which information we want to print.
44665
2b002173 446662006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44667
44668 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44669 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44670 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44671 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44672 video/readers/tga.c and video/i386/pc/vbeutil.c.
44673
446742006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44675
44676 Added support for RAID and LVM.
f19dbdb7 44677
2b002173 44678 * disk/lvm.c: New file.
44679 * disk/raid.c: Likewise.
44680 * include/grub/lvm.h: Likewise.
f19dbdb7 44681 * include/grub/raid.h: Likewise.
2b002173 44682 * include/grub/util/lvm.h: Likewise.
44683 * include/grub/util/raid.h: Likewise.
44684 * util/lvm.c: Likewise.
44685 * util/raid.c: Likewise.
44686
44687 * include/grub/disk.h (grub_disk_dev_id): Add
44688 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44689 (grub_disk_get_size): New prototype.
44690 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44691 returns a partition.
44692 (grub_disk_get_size): New function.
f19dbdb7 44693
2b002173 44694 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44695 verbatim if grub_install_dos_part is -2.
44696
44697 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44698 and LVM devices.
44699
44700 * util/i386/pc/grub-setup.c (setup): New argument
44701 MUST_EMBED. Force embedding of GRUB when the argument is
44702 true. Close FILE before returning.
44703 (main): Add support for RAID and LVM.
f19dbdb7 44704
2b002173 44705 * conf/common.rmk: Add RAID and LVM modules.
44706 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44707 util/lvm.c.
44708 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44709
44710 * kern/misc.c (grub_strstr): New function.
44711 * include/grub/misc.h (grub_strstr): New prototype.
44712
050548d0 447132006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44714
44715 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44716
da849d2d 447172006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44718
44719 * kern/misc.c (grub_strtoull): Guess the base only if not
44720 specified.
44721
97b2f2ff 447222006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44723
44724 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44725 PowerMac support.
44726
97b2f2ff 447272006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44728
44729 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44730
44731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44732 Remove `flags' argument. All callers changed.
44733 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44734 (IEEE1275_IHANDLE_INVALID): New variable.
44735 (IEEE1275_CELL_INVALID): New variable.
44736 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44737 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44738 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44739 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44740 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44741 codes from Open Firmware. All callers updated.
44742 (grub_ieee1275_next_property): Directly return Open Firmware return
44743 code.
44744 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44745 Standardize error checking from `grub_ieee1275_get_property'.
44746 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44747 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44748
97b2f2ff 447492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44750
44751 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44752 `instance_to_package_args' to `instance_to_path_args'.
44753
44754 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44755 `grub_ieee1275_chosen'.
44756
44757 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44758 `grub_ieee1275_interpret'.
44759
97b2f2ff 447602006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44761
44762 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44763
97b2f2ff 447642006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44765
44766 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44767 (__cmpdi): Likewise.
44768
44769 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44770 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44771 `grub_ssize_t'.
44772
02bb8acc 44773 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44774
44775 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44776 to type `grub_ssize_t'.
44777 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44778
7f9a8531 447792006-09-22 Marco Gerards <marco@gnu.org>
44780
44781 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44782 newlines.
44783
b5ef1102 447842006-09-22 Marco Gerards <marco@gnu.org>
44785
44786 * commands/echo.c: New file.
44787
44788 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44789
44790 * conf/common.rmk (echo_mod_SOURCES): New variable.
44791 (echo_mod_CFLAGS): Likewise.
44792 (echo_mod_LDFLAGS): Likewise.
44793
2cff3677 447942006-09-22 Marco Gerards <marco@gnu.org>
44795
44796 * normal/main.c (get_line): Malloc memory instead of using
44797 preallocated memory. Removed the arguments `cmdline' and
44798 `max_len'. Updated all callers.
44799
6ba4688b 448002006-09-22 Marco Gerards <marco@gnu.org>
44801
44802 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44803 (normal_mod_DEPENDENCIES): Likewise.
44804
44805 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44806 (normal_mod_DEPENDENCIES): Likewise.
44807
44808 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44809
e02ac02c 448102006-09-22 Johan Rydberg <jrydberg@gnu.org>
44811
44812 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44813 programs.
44814 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44815 (normal_mod_DEPENDENCIES): Likewise.
44816 * conf/i386-pc.mk: Regenerate.
44817 * conf/i386-efi.mk: Likewise
44818 * conf/common.mk: Likewise.
44819 * conf/powerpc-ieee1275.mk: Likewise.
44820 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44821
8d252e44 448222006-09-22 Robert Millan <rmh@aybabtu.com>
44823
44824 Sync with i386 version.
44825 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44826 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44827
209bf7ac 448282006-09-21 Robert Millan <rmh@aybabtu.com>
44829
44830 Import from GRUB Legacy (lib/device.c):
44831 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44832 (init_device_map) [__linux__]: Add support for I2O devices.
44833
6b146090 448342006-09-14 Marco Gerards <marco@gnu.org>
44835
44836 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44837 `-melf_i386'.
44838
e38600a8 448392006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44840
44841 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44842 /boot/grub/*.lst.
78fa1790 44843
2952da5d 44844 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44845
2952da5d 44846 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44847 before adding it to device.map.
44848
01b82a64 448492006-08-15 Johan Rydberg <jrydberg@gnu.org>
44850
fe6b695a 44851 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44852 compiles a file; using the -MD option.
44853 * conf/common.mk: Regenerate.
44854 * conf/i386-pc.mk: Likewise.
44855 * conf/i386-efi.mk: Likewise.
44856 * conf/powerpc-ieee1275.mk: Likewise.
44857 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44858
1064790d 448592006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44860
44861 Move the prototypes of grub_setjmp and grub_longjmp to
44862 cpu/setjmp.h, so that each architecture may specify different
44863 attributes.
f19dbdb7 44864
1064790d 44865 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44866 (grub_longjmp): Likewise.
44867 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44868 (grub_longjmp): Likewise.
44869 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44870 (grub_longjmp): Likewise.
44871
44872 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44873 [!GRUB_UTIL] (grub_longjmp): Removed.
44874
29dda3ed 448752006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44876
44877 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44878 "color!" method does not return any value.
44879
ad2a06ed 448802006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44881
44882 * include/grub/bitmap.h: New file.
44883
44884 * include/grub/i386/pc/vbeutil.h: Likewise.
44885
44886 * video/bitmap.c: Likewise.
44887
44888 * video/readers/tga.c: Likewise.
44889
44890 * video/i386/pc/vbeutil.c: Likewise.
44891
44892 * commands/videotest.c: Code cleanup and updated to reflect to new
44893 video API.
44894
44895 * term/gfxterm.c: Likewise.
44896
44897 * video/video.c: Likewise.
44898
44899 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44900 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44901 (bitmap_mod_SOURCES): New entry.
44902 (bitmap_mod_CFLAGS): Likewise.
44903 (bitmap_mod_LDFLAGS): Likewise.
44904 (tga_mod_SOURCES): Likewise.
44905 (tga_mod_CFLAGS): Likewise.
44906 (tga_mod_LDFLAGS): Likewise.
44907
44908 * include/grub/video.h (grub_video_blit_operators): New enum type.
44909 (grub_video_render_target): Changed as forward declaration and moved
44910 actual definition to be video driver specific.
44911 (grub_video_adapter.blit_bitmap): Added blitting operator.
44912 (grub_video_adapter.blit_render_target): Likewise.
44913 (grub_video_blit_bitmap): Likewise.
44914 (grub_video_blit_render_target): Likewise.
44915
44916 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44917 driver specific render target definition.
44918 (grub_video_vbe_map_rgba): Added driver internal helper.
44919 (grub_video_vbe_unmap_color): Updated to use
44920 grub_video_i386_vbeblit_info.
44921 (grub_video_vbe_get_video_ptr): Likewise.
44922
44923 * include/grub/i386/pc/vbeblit.h
44924 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44925 grub_video_i386_vbeblit_info.
44926 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44927 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44928 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44929 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44930 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44931 (grub_video_i386_vbeblit_index_index): Likewise.
44932 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44933 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44934 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44935 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44936 operator.
44937 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44938 operator.
44939
44940 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44941 include/grub/i386/pc/vbeblit.h.
44942
44943 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44944 Updated to use grub_video_i386_vbeblit_info.
44945 (grub_video_i386_vbefill_R8G8B8): Likewise.
44946 (grub_video_i386_vbefill_index): Likewise.
44947 (grub_video_i386_vbefill): Added generic filler.
44948
44949 * video/i386/pc/vbefill.c: Updated to reflect changes on
44950 include/grub/i386/pc/vbefill.h.
44951
44952 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44953 grub_video_i386_vbeblit_info.
44954 (grub_video_vbe_unmap_color): Likewise.
44955 (grub_video_vbe_blit_glyph): Likewise.
44956 (grub_video_vbe_scroll): Likewise.
44957 (grub_video_vbe_draw_pixel): Removed function.
44958 (grub_video_vbe_get_pixel): Likewise.
44959 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44960 updated code to use it.
44961 (common_blitter): Added common blitter for render target and bitmap.
44962 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44963 (grub_video_vbe_blit_render_target): Likewise.
44964
bc8c036d 449652006-07-30 Johan Rydberg <jrydberg@gnu.org>
44966
44967 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44968 is in text mode if there is no console control protocol instance
44969 available.
44970
684a8eff 449712006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44972
44973 * include/grub/video.h: Code cleanup.
44974
44975 * include/grub/i386/pc/vbe.h: Likewise.
44976
44977 * video/i386/pc/vbe.c: Likewise.
44978
44979 * video/i386/pc/vbeblit.c: Likewise.
44980
44981 * video/i386/pc/vbefill.c: Likewise.
44982
44983 * video/video.c: Likewise. Also added more comments.
44984
5915059b 449852006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44986
44987 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44988 (struct grub_biosdisk_dap): Likewise.
44989
44990 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44991 linkage settings for all functions.
44992
90ce5d56 449932006-07-12 Marco Gerards <marco@gnu.org>
44994
44995 * configure.ac (--enable-mm-debug): Fix typo.
44996
44997 * genkernsyms.sh.in: Use proper quoting for `CC'.
44998
43e7f879 449992006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45000
45001 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45002 (normal_mod_ASFLAGS): Remove "-m32".
45003
4889bdec 450042006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45005
45006 * util/misc.c: Include config.h.
45007 [!HAVE_MEMALIGN]: Do not include malloc.h.
45008 (grub_memalign): Use posix_memalign, if present. Then, use
45009 memalign, if present. Otherwise, emit an error.
45010
45011 * util/grub-emu.c: Do not include malloc.h.
45012
45013 * include/grub/util/misc.h: Include unistd.h. This is required for
45014 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45015 D. Eades III <hde@foobar-qux.org>.
45016
45017 * configure.ac (AC_GNU_SOURCE): Added.
45018 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45019 type.
45020
fd39d4da 450212006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45022
45023 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45024 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45025
b786f3b5 450262006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45027
45028 * include/grub/types.h (grub_host_addr_t): Rename to
45029 grub_target_addr_t.
45030 (grub_host_off_t): Rename to grub_target_off_t.
45031 (grub_host_size_t): Rename to grub_target_size_t.
45032 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45033 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45034
45035 * include/grub/kernel.h (struct grub_module_header): Change type
45036 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45037 (grub_module_info): Likewise.
f19dbdb7 45038
051988bb 450392006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45040
45041 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45042 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45043 Velazquez <jesus.velazquez@gmail.com>.
45044
deae281b 450452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45046
45047 Count partitions from 1 instead of 0 in the string representation
45048 of partitions. Still use 0-based internally.
f19dbdb7 45049
deae281b 45050 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45051 (sun_partition_map_iterate): Use grub_partition_t instead of
45052 struct grub_partition *. Cast DESC->START_CYLINDER to
45053 grub_uint64_t after converting the endian.
45054 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45055 (sun_partition_map_get_name): Add 1 to P->INDEX.
45056
45057 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45058 PCDATA->DOS_PART.
45059 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45060
45061 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45062 zero instead of one.
45063 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45064 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45065
45066 * partmap/apple.c (apple_partition_map_iterate): Change the type
45067 of POS to unsigned.
45068 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45069 (apple_partition_map_get_name): Add 1 into P->INDEX.
45070
45071 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45072 of POS to unsigned.
45073 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45074 calculate the offset of a partition.
45075 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45076 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45077
45078 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45079 SECTOR to grub_disk_addr_t.
45080 (acorn_partition_map_iterate): Likewise.
45081 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45082 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45083 top.
45084 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45085
45086 * kern/i386/pc/init.c (make_install_device): Add 1 into
45087 GRUB_INSTALL_DOS_PART.
45088
45089 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45090 conditional.
45091
524a1e6a 450922006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45093
45094 Clean up the code to support 64-bit addressing in disks and
45095 files. This change is not enough for filesystems yet.
f19dbdb7 45096
524a1e6a 45097 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45098 type of "start" to grub_uint64_t.
45099 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45100 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45101 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45102 convert addresses.
45103
45104 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45105 to grub_disk_addr_t.
45106
45107 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45108 string.
45109
45110 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45111
45112 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45113 to char *.
45114
45115 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45116
45117 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45118
45119 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45120
45121 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45122 to grub_off_t, to detect an error from grub_file_seek.
45123 (grub_multiboot_load_elf32): Likewise.
45124
45125 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45126 maximum unsigned long value when an overflow is detected.
45127 (grub_strtoull): New function.
45128 (grub_divmod64): Likewise.
45129 (grub_lltoa): use grub_divmod64.
45130
45131 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45132 grub_disk_addr_t.
45133 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45134 the pointer to next character. Use grub_strtoull instead of
45135 grub_strtoul.
45136 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45137 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45138 respectively.
45139
fe6b695a 45140 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45141 return value is signed.
45142 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45143 test if OFFSET is less than zero, as OFFSET is unsigned now.
45144
45145 * kern/disk.c (struct grub_disk_cache): Change the type of
45146 "sector" to grub_disk_addr_t.
45147 (grub_disk_cache_get_index): Change the type of SECTOR to
45148 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45149 unsigned after shifting.
45150 (grub_disk_cache_invalidate): Change the type of SECTOR to
45151 grub_disk_addr_t.
45152 (grub_disk_cache_unlock): Likewise.
45153 (grub_disk_cache_store): Likewise.
45154 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45155 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45156 grub_disk_addr_t and grub_uint64_t, respectively.
45157 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45158 body, as the value of OFFSET is tweaked by
45159 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45160 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45161 respectively.
45162 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45163 body, as the value of OFFSET is tweaked by
45164 grub_disk_check_range. Change the types of LEN and N to
45165 grub_size_t.
45166
45167 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45168 and "saved_offset" to grub_off_t.
45169 (test_header): Cast BUF to char *.
45170 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45171 to char *.
45172 (grub_gzio_read): Change the types of OFFSET and SIZE to
45173 grub_off_t and grub_size_t, respectively.
45174
45175 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45176 Removed.
45177 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45178 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45179 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45180 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45181 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45182
45183 * include/grub/types.h (grub_off_t): Unconditionally set to
45184 grub_uint64_t.
45185 (grub_disk_addr_t): Changed to grub_uint64_t.
45186
45187 * include/grub/partition.h (struct grub_partition): Change the
45188 types of "start", "len" and "offset" to grub_disk_addr_t,
45189 grub_uint64_t and grub_disk_addr_t, respectively.
45190 (grub_partition_get_start): Return grub_disk_addr_t.
45191 (grub_partition_get_len): Return grub_uint64_t.
45192
45193 * include/grub/misc.h (grub_strtoull): New prototype.
45194 (grub_divmod64): Likewise.
45195
45196 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45197 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45198 grub_off_t, respectively.
45199 All callers and references changed.
45200
45201 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45202 grub_size_t in "read".
45203 All callers and references changed.
45204
45205 * include/grub/file.h (struct grub_file): Change the types of
45206 "offset" and "size" to grub_off_t and grub_off_t,
45207 respectively. Change the type of SECTOR to grub_disk_addr_t in
45208 "read_hook".
45209 (grub_file_read): Change the type of LEN to grub_size_t.
45210 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45211 grub_off_t.
45212 (grub_file_size): Return grub_off_t.
45213 (grub_file_tell): Likewise.
45214 All callers and references changed.
45215
45216 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45217 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45218 "write".
45219 (struct grub_disk): Change the type of "total_sectors" to
45220 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45221 "read_hook".
524a1e6a 45222 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45223 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45224 (grub_disk_write): Likewise.
45225 All callers and references changed.
45226
45227 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45228 char * for grub_strncmp to silence gcc.
45229 (grub_iso9660_mount): Likewise.
45230 (grub_iso9660_mount): Likewise.
45231 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45232 return statement.
45233 (grub_iso9660_iterate_dir): Likewise.
45234 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45235
45236 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45237 LEN to grub_disk_addr_t and grub_size_t, respectively.
45238
45239 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45240
45241 * fs/jfs.c (grub_jfs_read_file): Likewise.
45242
45243 * fs/minix.c (grub_jfs_read_file): Likewise.
45244
45245 * fs/sfs.c (grub_jfs_read_file): Likewise.
45246
45247 * fs/ufs.c (grub_jfs_read_file): Likewise.
45248
45249 * fs/xfs.c (grub_jfs_read_file): Likewise.
45250
45251 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45252 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45253 respectively.
45254
45255 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45256 BLKNR to -1 instead of returning GRUB_ERRNO.
45257 (grub_ext2_read_file): Change the types of SECTOR and
45258 LEN to grub_disk_addr_t and grub_size_t, respectively.
45259
45260 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45261 LEN to grub_disk_addr_t and grub_size_t, respectively.
45262
45263 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45264 grub_file_read.
45265
45266 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45267 string. Do not cast SECTOR explicitly.
45268
45269 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45270 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45271 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45272 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45273 over 2TB and LBA mode is not supported, raise an error.
45274 (get_safe_sectors): New function.
45275 (grub_biosdisk_read): Use get_safe_sectors.
45276 (grub_biosdisk_write): Likewise.
45277
45278 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45279 (grub_efidisk_write): Likewise.
45280
45281 * disk/loopback.c (delete_loopback): Cosmetic changes.
45282 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45283 correctly.
45284 (grub_loopback_open): Likewise.
45285 (grub_loopback_read): Likewise. Also, change the type of POS to
45286 grub_off_t, and fix the usage of grub_memset.
45287
45288 * commands/i386/pc/play.c: Include grub/machine/time.h.
45289
45290 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45291 print FILE->SIZE.
45292
45293 * commands/configfile.c: Include grub/env.h.
45294
45295 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45296 GRUB_ERRNO directly instead. Change the type of POS to
45297 grub_off_t. Follow the coding standard.
45298
45299 * commands/blocklist.c: Include grub/partition.h.
45300 (grub_cmd_blocklist): Return an error if the underlying device is
45301 not a disk. Take the starting sector of a partition into account,
45302 if a partition is used.
45303
45304 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45305 a length field.
45306 (lba_mode): Support 64-bit addresses.
45307 (chs_mode): Likewise.
45308 (copy_buffer): Adapted to the new offsets of a length field and a
45309 segment field.
45310 (blocklist_default_start): Allocate 64-bit space.
45311
45312 * boot/i386/pc/boot.S (force_lba): Removed.
45313 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45314 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45315 space.
45316 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45317 is useless.
45318 (lba_mode): Refactored to support a 64-bit address. More size
45319 optimization.
45320 (setup_sectors): Likewise.
45321
53af98ad 453222006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45323
45324 * DISTLIST: Added include/grub/i386/linux.h. Removed
45325 include/grub/i386/pc/linux.h
45326
45327 * configure.ac (AC_INIT): Bumped to 1.94.
45328
45329 * config.guess: Updated from gnulib.
45330 * config.sub: Likewise.
45331 * install-sh: Likewise.
45332 * mkinstalldirs: Likewise.
45333
b4c1940a 453342006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45335
45336 * conf/common.rmk (grub_modules_init.lst): Depended on
45337 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45338 MODSRCFILES.
45339
45340 * genmk.rb (PModule::rule): Reverted the previous change.
45341
cfca1cfd 453422006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45343
45344 * conf/common.rmk (grub_modules_init.lst): Depends on
45345 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45346 that the target does not exist before producing.
45347 (grub_modules_init.h): Remove the target before generating.
45348 (grub_emu_init.c): Likewise.
45349
45350 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45351
aa6d7826 453522006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45353
45354 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45355 for the target-specific tests. Make sure that we also have the
45356 up-to-date target variables for those tests.
45357
26c607b9 453582006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45359
45360 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45361 (PModule::rule): Likewise.
45362
0162321a 453632006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45364
45365 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45366 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45367 target-specific flags should be prefixed.
45368 (PModule::rule): Likewise.
45369
6c826348 453702006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45371
45372 * configure.ac (CMP): Check if cmp is available explicitly.
45373
b977bf01 453742006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45375
45376 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45377 (target_cpu): New variable.
45378 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45379
b977bf01 45380 * util/i386/pc/grub-install.in (host_cpu): Removed.
45381 (target_cpu): New variable.
45382 (pkglibdir): Use target_cpu instead of host_cpu.
45383
45384 * util/genmoddep.c: Removed.
f19dbdb7 45385
b977bf01 45386 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45387 instead of GRUB_HOST_SIZEOF_VOID_P.
45388 * kern/dl.c: Likewise.
45389
45390 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45391 ...
45392 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45393 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45394 (GRUB_TARGET_SIZEOF_LONG): ... this.
45395 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45396 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45397 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45398 to ...
45399 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45400 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45401 (GRUB_TARGET_SIZEOF_LONG): ... this.
45402 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45403 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45404 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45405 to ...
45406 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45407 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45408 (GRUB_TARGET_SIZEOF_LONG): ... this.
45409 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45410 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45411
45412 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45413 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45414 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45415 instead of GRUB_HOST_SIZEOF_LONG.
45416 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45417 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45418 GRUB_CPU_WORDS_BIGENDIAN.
45419 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45420 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45421 grub_host_ssize_t.
45422
45423 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45424 (genmoddep_SOURCES): Likewise.
45425 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45426 (genmoddep_SOURCES): Likewise.
45427 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45428 (genmoddep_SOURCES): Likewise.
45429 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45430 Likewise.
45431 (genmoddep_SOURCES): Likewise.
45432
45433 * genmoddep.awk: New file.
45434
45435 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45436 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45437 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45438 (PModule::rule): Likewise.
45439 (Program::rule): Likewise.
45440 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45441 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45442 respectively.
45443
45444 * configure.ac: Rewritten intensively to use host and target
45445 instead of build and host, respectively.
45446
45447 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45448 (host_cpu): Removed.
45449 (target_cpu): New variable.
45450 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45451 (BUILD_CC): Removed.
45452 (BUILD_CFLAGS): Likewise.
45453 (BUILD_CPPFLAGS): Likewise.
45454 (TARGET_CC): New variable.
45455 (TARGET_CFLAGS): Likewise.
45456 (TARGET_CPPFLAGS): Likewise.
45457 (TARGET_LDFLAGS): Likewise.
45458 (AWK): Likewise.
45459 (include): Use target_cpu instead of host_cpu.
45460 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45461
b977bf01 45462 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45463
f09771a1 454642006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45465
45466 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45467 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45468 field 'false' to 'exec_on_false'.
45469 (grub_script_create_cmdif): Renamed argument names to reflect above
45470 changes.
45471
45472 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45473
45474 * normal/script.c (grub_script_create_cmdif): Likewise.
45475
118f4fb3 454762006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45477
45478 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45479 top.
45480 (grub_hfsplus_btree_recptr): Likewise.
45481 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45482 FILEBLOCK both to pass a block number and store next block
45483 number.
45484 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45485 overflow file correctly. Specify errors appropriately, because
45486 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45487 grub_hfsplus_btree_recptr to get the pointer to a found key.
45488 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45489 is found.
45490
45491 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45492 linux.mod.
45493 (_linux_mod_SOURCES): New variable.
45494 (_linux_mod_CFLAGS): Likewise.
45495 (_linux_mod_LDFLAGS): Likewise.
45496 (linux_mod_SOURCES): Likewise.
45497 (linux_mod_CFLAGS): Likewise.
45498 (linux_mod_LDFLAGS): Likewise.
45499
45500 * DISTLIST: Added loader/i386/efi/linux.c,
45501 loader/i386/efi/linux_normal.c and
45502 include/grub/i386/efi/loader.h.
45503
45504 * loader/i386/efi/linux.c: New file.
45505 * loader/i386/efi/linux_normal.c: Likewise.
45506 * include/grub/i386/efi/loader.h: Likewise.
45507
89a7d726 455082006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45509
45510 * commands/blocklist.c: New file.
45511
45512 * DISTLIST: Added commands/blocklist.c.
45513
45514 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45515 color for the background, and a darker color for the foreground.
89a7d726 45516 (grub_console_checkkey): Return READ_KEY.
45517 (grub_console_cls): Set the background to
45518 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45519
45520 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45521
45522 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45523 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45524
45525 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45526 prototype.
45527
45528 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45529 BG. The spec is wrong again.
45530
45531 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45532 prototype.
45533 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45534
45535 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45536 commands/blocklist.c.
45537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45538
89a7d726 45539 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45540 (blocklist_mod_SOURCES): New variable.
45541 (blocklist_mod_CFLAGS): Likewise.
45542 (blocklist_mod_LDFLAGS): Likewise.
45543
75c8f258 455442006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45545
45546 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45547 duplication.
45548 (lba_mode): Use %eax more intensively to reduce the code size.
45549
da2eb181 455502006-05-20 Marco Gerards <marco@gnu.org>
45551
45552 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45553
45554 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45555 for `menuentry'.
45556 (script): Accept leading newlines.
45557 (newlines): New rule to describe 0 or more newlines.
45558 (commands): Accept `command' with trailing newline. Fixed the
45559 order in which arguments were passed to `grub_script_add_cmd'.
45560 Accept commands separated by newlines.
45561 (function): Changed to accept newlines.
45562 (menuentry) Rewritten.
45563
45564 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45565 front of the list, instead of to the end.
45566
577b4050 455672006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45568
45569 * util/i386/pc/grub-install.in (bindir): New variable.
45570 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45571 Shaver <lbgwjl@gmail.com>.
45572
0d6e1189 455732006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45574
45575 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45576 grub/machine/linux.h
45577 * loader/i386/pc/linux.c: Likewise.
45578
45579 * include/grub/i386/pc/linux.h: Moved to ...
45580 * include/grub/i386/linux.h: ... here.
45581
45582 * include/grub/i386/linux.h (struct linux_kernel_params): New
45583 struct.
f19dbdb7 45584
31b86e9f 455852006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45586
45587 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45588 checking.
45589 (grub_video_vbe_blit_glyph): Likewise.
45590 (grub_video_vbe_blit_bitmap): Likewise.
45591 (grub_video_vbe_blit_render_target): Likewise.
45592
83b984de 455932006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45594
45595 * configure.ac (--with-platform): Properly quote the square
45596 brackets.
45597
5f0413bd 455982006-05-08 Marco Gerards <marco@gnu.org>
45599
45600 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45601 this...
45602 (kernel_elf_HEADERS): ...to this. Updated all users.
45603 (grubof_symlist.c): Renamed from this...
45604 (kernel_elf_symlist.c): ...to this. Updated all users.
45605 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45606 (grubof_SOURCES): Renamed from this...
45607 (kernel_elf_SOURCES): ...to this.
45608 (grubof_HEADERS): Renamed from this...
45609 (kernel_elf_HEADERS): ...to this.
45610 (grubof_CFLAGS): Renamed from this...
45611 (kernel_elf_CFLAGS): ...to this.
45612 (grubof_ASFLAGS): Renamed from this...
45613 (kernel_elf_ASFLAGS): ...to this.
45614 (grubof_LDFLAGS): Renamed from this...
45615 (kernel_elf_LDFLAGS): ...to this.
45616
45617 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45618 this...
45619 (kernel_elf_HEADERS): ...to this. Updated all users.
45620 (grubof_symlist.c): Renamed from this...
45621 (kernel_elf_symlist.c): ...to this. Updated all users.
45622 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45623 (grubof_SOURCES): Renamed from this...
45624 (kernel_elf_SOURCES): ...to this.
45625 (grubof_HEADERS): Renamed from this...
45626 (kernel_elf_HEADERS): ...to this.
45627 (grubof_CFLAGS): Renamed from this...
45628 (kernel_elf_CFLAGS): ...to this.
45629 (grubof_ASFLAGS): Renamed from this...
45630 (kernel_elf_ASFLAGS): ...to this.
45631 (grubof_LDFLAGS): Renamed from this...
45632 (kernel_elf_LDFLAGS): ...to this.
45633
45634 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45635 `kernel.elf' instead of `grubof'.
45636
05568c2e 456372006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45638
45639 Add --with-platform to configure. Use pkglibdir instead of
45640 pkgdatadir. This is reported by Roger Leigh.
45641
45642 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45643 (host_vendor): Likewise.
45644 (host_os): Likewise.
45645 (pkgdatadir): Likewise.
45646 (platform): New variable.
45647 (pkglibdir): Likewise.
45648 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45649
05568c2e 45650 * util/i386/pc/grub-install.in (datadir): Removed.
45651 (host_vendor): Likewise.
45652 (host_os): Likewise.
45653 (pkgdatadir): Likewise.
45654 (platform): New variable.
45655 (pkglibdir): Likewise.
45656 Use PKGLIBDIR instead of PKGDATADIR.
45657
45658 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45659 instead of GRUB_DATADIR.
45660 (main): Likewise.
45661 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45662 (main): Likewise.
45663 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45664 (main): Likewise.
45665
45666 * configure.ac (--with-platform): New option.
45667 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45668
45669 * Makefile.in: Include a makefile based on PLATFORM instead of
45670 HOST_VENDOR.
45671 (pkgdatadir): Not appended by the machine type.
45672 (pkglibdir): Appended by the machine type.
45673 (host_vendor): Removed.
45674 (platform): New variable.
45675 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45676 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45677 (uninstall): Likewise.
45678
4e93851c 456792006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45680
45681 Use the environment context in the menu. Remove the commands
45682 "default" and "timeout", and use variables instead.
f19dbdb7 45683
4e93851c 45684 * normal/menu.c: Include grub/env.h.
45685 (print_entry): Cast TITLE to silence gcc.
45686 (get_timeout): New function.
45687 (set_timeout): Likewise.
45688 (get_entry_number): Likewise.
45689 (run_menu): Use a default entry, a fallback entry and a timeout
45690 in the environment variables "default", "fallback" and
45691 "timeout". Also, tweak the default entry if it is not within the
45692 current menu entries.
45693 (grub_menu_run): Use a fallback entry in the environment variable
45694 "fallback".
45695
45696 * normal/main.c (read_config_file): Do not initialize
45697 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45698 NEWMENU->TIMEOUT.
45699 (grub_normal_execute): Use a data slot to store the menu.
45700
45701 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45702 fallback_entry and timeout.
45703 (struct grub_menu_list): Removed.
45704 (grub_menu_list_t): Likewise.
45705 (struct grub_context): Likewise.
45706 (grub_context_t): Likewise.
45707 (grub_context_get): Likewise.
45708 (grub_context_get_current_menu): Likewise.
45709 (grub_context_push_menu): Likewise.
45710 (grub_context_pop_menu): Likewise.
45711 (grub_default_init): Likewise.
45712 (grub_default_fini): Likewise.
45713 (grub_timeout_init): Likewise.
45714 (grub_timeout_fini): Likewise.
45715
45716 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45717 and timeout.mod.
45718 (normal_mod_SOURCES): Removed normal/context.c.
45719
45720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45721 commands/default.c, commands/timeout.c and normal/context.c.
45722 (normal_mod_SOURCES): Removed normal/context.c.
45723
45724 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45725 commands/timeout.c and normal/context.c.
45726 (normal_mod_SOURCES): Removed normal/context.c.
45727
45728 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45729 commands/default.c, commands/timeout.c and normal/context.c.
45730 (normal_mod_SOURCES): Removed normal/context.c.
45731
45732 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45733 timeout.mod.
45734 (default_mod_SOURCES): Removed.
45735 (default_mod_CFLAGS): Likewise.
45736 (default_mod_LDFLAGS): Likewise.
45737 (timeout_mod_SOURCES): Removed.
45738 (timeout_mod_CFLAGS): Likewise.
45739 (timeout_mod_LDFLAGS): Likewise.
45740
45741 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45742 normal/context.c.
45743
45744 * commands/default.c: Removed.
45745 * commands/timeout.c: Likewise.
45746 * normal/context.c: Likewise.
45747
1eb9cc1d 457482006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45749
45750 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45751
385bd9c1 457522006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45753
45754 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45755 "next" to "prev" for readability.
45756 (struct grub_env_sorted_var): New struct.
45757 (grub_env_context): Renamed to ...
45758 (initial_context): ... this.
45759 (grub_env_var_context): Renamed to ...
45760 (current_context): ... this.
45761 (grub_env_find): Look only at CURRENT_CONTEXT.
45762 (grub_env_context_open): Rewritten to copy exported variables from
45763 previous context.
45764 (grub_env_context_close): Rewritten according to the new
45765 scheme. Also, add an assertion to prevent the initial context from
45766 removed.
45767 (grub_env_insert): Removed the code for the sorted list.
45768 (grub_env_remove): Likewise.
45769 (grub_env_export): Simply mark the variable with
45770 GRUB_ENV_VAR_GLOBAL.
45771 (grub_env_set): A cosmetic change for naming consistency.
45772 (grub_env_get): Likewise.
45773 (grub_env_unset): Likewise.
45774 (grub_env_iterate): Rewritten to sort variables within this
45775 function.
45776 (grub_register_variable_hook): Fixed for naming consistency. Call
45777 grub_env_find again, only if NAME is not found at the first time.
45778 (mangle_data_slot_name): New function.
45779 (grub_env_set_data_slot): Likewise.
45780 (grub_env_get_data_slot): Likewise.
45781 (grub_env_unset_data_slot): Likewise.
45782
45783 * include/grub/env.h (grub_env_var_type): New enum.
45784 (GRUB_ENV_VAR_LOCAL): New constant.
45785 (GRUB_ENV_VAR_GLOBAL): Likewise.
45786 (GRUB_ENV_VAR_DATA): Likewise.
45787 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45788 "type".
45789 (grub_env_set): Replace VAR with NAME for consistency.
45790 (grub_register_variable_hook): Likewise.
45791 (grub_env_export): Specify the name of the argument.
45792 (grub_env_set_data_slot): New prototype.
45793 (grub_env_get_data_slot): Likewise.
45794 (grub_env_unset_data_slot): Likewise.
45795
7f362539 457962006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45797
45798 Extend the loader so that GRUB can accept a loader which comes
45799 back to GRUB when a loaded image exits. Also, this change adds
45800 support for a chainloader on EFI.
f19dbdb7 45801
7f362539 45802 * term/efi/console.c: Include grub/misc.h.
45803 (grub_console_checkkey): Display a scan code on the top for
45804 debugging. This will be removed once the EFI port gets stable.
45805 Correct the scan code mapping.
45806
45807 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45808 allocate memory from larger regions, in order to reduce the number
45809 of allocated regions. Otherwise, the MacOSX loader panics.
45810 (filter_memory_map): Avoid less than 1MB for compatibility with
45811 other loaders.
45812 (add_memory_regions): Allocate from the tail of a region, if
45813 possible, to avoid allocating a region near to 1MB, for the MacOSX
45814 loader.
45815
45816 * kern/efi/init.c (grub_efi_set_prefix): Specify
45817 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45818
45819 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45820 argument IMAGE_HANDLE and specify it to get a loaded image.
45821 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45822 grub_efi_get_loaded_image.
fe6b695a 45823 (grub_efi_get_filename): Divide the length by the size of
7f362539 45824 grub_efi_char16_t.
45825 (grub_efi_get_device_path): New function.
45826 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45827 the length by the size of grub_efi_char16_t for a file path device
45828 path node.
45829
45830 * kern/loader.c (grub_loader_noreturn): New variable.
45831 (grub_loader_set): Accept a new argument NORETURN. Set
45832 GRUB_LOADER_NORETURN to NORETURN.
45833 All callers changed.
45834 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45835 grub_machine_fini.
45836
45837 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45838 prototype.
45839 (grub_efi_get_loaded_image): Take an argument to specify an image
45840 handle.
45841
45842 * include/grub/loader.h (grub_loader_set): Added one more argument
45843 NORETURN.
45844
45845 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45846 instead of grub_efi_open_protocol.
45847 (grub_efidisk_get_device_name): Likewise.
45848 (grub_efidisk_close): Print a newline.
45849 (grub_efidisk_get_device_handle): Fixed to use
45850 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45851 GRUB_EFI_DEVICE_PATH_TYPE.
45852
45853 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45854 * kern/efi/efi.c (device_path_guid): ... here.
45855
45856 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45857 chain.mod.
45858 (kernel_mod_HEADERS): Added efi/disk.h.
45859 (_chain_mod_SOURCES): New variable.
45860 (_chain_mod_CFLAGS): Likewise.
45861 (_chain_mod_LDFLAGS): Likewise.
45862 (chain_mod_SOURCES): Likewise.
45863 (chain_mod_CFLAGS): Likewise.
45864 (chain_mod_LDFLAGS): Likewise.
45865
45866 * DISTLIST: Added include/grub/efi/chainloader.h,
45867 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45868
45869 * include/grub/efi/chainloader.h: New file.
45870 * loader/efi/chainloader.c: Likewise.
45871 * loader/efi/chainloader_normal.c: Likewise.
45872
c0111d6e 458732006-04-30 Marco Gerards <marco@gnu.org>
45874
45875 * commands/configfile.c (grub_cmd_source): New function.
45876 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45877 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45878
df5341da 458792006-04-30 Marco Gerards <marco@gnu.org>
45880
45881 * normal/execute.c (grub_script_execute_cmd): Change the return
45882 type to `grub_err_t'. Correctly return the error.
45883 (grub_script_execute_cmdline): In case a command line is not a
45884 command or a function, try to interpret it as an assignment.
45885
f85934bd 458862006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45887
45888 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45889 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45890 skip a node whose name is obviously invalid as UTF-16,
45891 i.e. contains a NUL character. Stop the iteration when the last
45892 directory entry is found. Instead of using the return value of
45893 grub_hfsplus_btree_iterate_node, store the value in RET and use
45894 it, because the iterator can be stopped by the last directory
45895 entry.
45896
8f8a2cf8 458972006-04-30 Marco Gerards <marco@gnu.org>
45898
45899 * include/grub/env.h (grub_env_export): New prototype. Reported
45900 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45901
a27e84ce 459022006-04-30 Marco Gerards <marco@gnu.org>
45903
45904 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45905 size of the extents in a catalog file record.
45906
eaef0553 459072006-04-29 Marco Gerards <marco@gnu.org>
45908
45909 * commands/configfile.c (grub_cmd_configfile): Execute the
45910 configfile within its own context.
45911
45912 * include/grub/env.h (grub_env_context_open): New prototype.
45913 (grub_env_context_close): Likewise.
45914
45915 * kern/env.c (grub_env): Removed.
45916 (grub_env_sorted): Likewise.
45917 (grub_env_context): New variable.
45918 (grub_env_var_context): Likewise.
45919 (grub_env_find): Search both the active context and the global
45920 context.
45921 (grub_env_context_open): New function.
45922 (grub_env_context_close): Likewise.
45923 (grub_env_insert): Likewise.
45924 (grub_env_remove): Likewise.
45925 (grub_env_export): Likewise.
45926 (grub_env_set): Changed to use helper functions to avoid code
45927 duplication.
45928 (grub_env_iterate): Rewritten so both the current context and the
45929 global context are being used.
45930
45931 * normal/command.c (export_command): New function.
45932 (grub_command_init): Register the `export' function.
45933
7b455f4d 459342006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45935
45936 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45937 explicitly to suppress gcc's warnings.
45938 * fs/fat.c (grub_fat_find_dir): Likewise.
45939 (grub_fat_label): Likewise.
45940 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45941 (grub_xfs_mount): Likewise.
45942 (grub_xfs_label): Likewise.
45943 * fs/affs.c (grub_affs_mount): Likewise.
45944 (grub_affs_label): Likewise.
45945 (grub_affs_iterate_dir): Likewise.
45946 * fs/sfs.c (grub_sfs_mount): Likewise.
45947 (grub_sfs_iterate_dir): Likewise.
45948 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45949 * fs/hfs.c (grub_hfs_mount): Likewise.
45950 (grub_hfs_cmp_catkeys): Likewise.
45951 (grub_hfs_find_dir): Likewise.
45952 (grub_hfs_dir): Likewise.
45953 (grub_hfs_label): Likewise.
45954 * fs/jfs.c (grub_jfs_mount): Likewise.
45955 (grub_jfs_opendir): Likewise.
45956 (grub_jfs_getent): Likewise.
45957 (grub_jfs_lookup_symlink): Likewise.
45958 (grub_jfs_label): Likewise.
45959 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45960 (grub_hfsplus_iterate_dir): Likewise.
45961 (grub_hfsplus_btree_iterate_node): Made static.
45962
45963 * util/grub-emu.c (prefix): New variable.
45964 (grub_machine_set_prefix): New function.
45965 (main): Do not set the environment variable "prefix" here. Only
45966 set PREFIX, which is used later by grub_machine_set_prefix.
45967
45968 * include/grub/video.h: Do not include grub/symbol.h.
45969 (grub_video_register): Not exported. This symbol is not defined in
45970 the kernel.
45971 (grub_video_unregister): Likewise.
45972 (grub_video_iterate): Likewise.
45973 (grub_video_setup): Likewise.
45974 (grub_video_restore): Likewise.
45975 (grub_video_get_info): Likewise.
45976 (grub_video_get_blit_format): Likewise.
45977 (grub_video_set_palette): Likewise.
45978 (grub_video_get_palette): Likewise.
45979 (grub_video_set_viewport): Likewise.
45980 (grub_video_get_viewport): Likewise.
45981 (grub_video_map_color): Likewise.
45982 (grub_video_map_rgb): Likewise.
45983 (grub_video_map_rgba): Likewise.
45984 (grub_video_fill_rect): Likewise.
45985 (grub_video_blit_glyph): Likewise.
45986 (grub_video_blit_bitmap): Likewise.
45987 (grub_video_blit_render_target): Likewise.
45988 (grub_video_scroll): Likewise.
45989 (grub_video_swap_buffers): Likewise.
45990 (grub_video_create_render_target): Likewise.
45991 (grub_video_delete_render_target): Likewise.
45992 (grub_video_set_active_render_target): Likewise.
45993
45994 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45995 Undefined.
45996 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45997
45998 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45999 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46000 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46001 instead of $(srcdir)/genkernsyms.sh.
46002
46003 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46004 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46005 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46006 instead of $(srcdir)/genkernsyms.sh.
46007
46008 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46009 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46010 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46011 instead of $(srcdir)/genkernsyms.sh.
46012
46013 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46014 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46015 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46016 instead of $(srcdir)/genkernsyms.sh.
46017
46018 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46019 genkernsyms.sh.
46020
46021 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46022 genkernsyms.sh.
46023 (gensymlist.sh): New target.
46024 (genkernsyms.sh): Likewise.
46025
46026 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46027 genkernsyms.sh.in and gensymlist.sh.in.
46028
46029 * genkernsyms.sh: Removed.
46030 * gensymlist.sh: Likewise.
f19dbdb7 46031
7b455f4d 46032 * genkernsyms.sh.in: New file.
46033 * gensymlist.sh.in: Likewise.
46034
1885bb27 460352006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46036
46037 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46038 clobber "prefix", since we may have already set it manually.
46039
71538dff 460402006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46041
46042 * kern/misc.c (abort): New alias for grub_abort.
46043
2965c7cc 460442006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46045
46046 A new machine-specific function "grub_machine_set_prefix" is
46047 defined. This is called after loading modules, so that a prefix
46048 initialization can use modules. Also, this change adds an
46049 intensive debugging feature for the memory manager via the
46050 configure option "--enable-mm-debug".
f19dbdb7 46051
2965c7cc 46052 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46053 PART.LEN.
46054
46055 * kern/sparc64/ieee1275/init.c (abort): Removed.
46056 (grub_stop): Likewise.
46057 (grub_exit): New function.
46058 (grub_set_prefix): Renamed to ...
46059 (grub_machine_set_prefix): ... this.
46060 (grub_machine_init): Do not call grub_set_prefix.
46061
46062 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46063 (grub_machine_set_prefix): ... this.
46064 (grub_machine_init): Do not call grub_set_prefix.
46065
46066 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46067 (grub_machine_init): Do not set the prefix here.
46068
46069 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46070
46071 * kern/efi/init.c: Include grub/mm.h.
46072 (grub_efi_set_prefix): New function.
46073
46074 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46075 (grub_efi_get_filename): New function.
46076 (grub_print_device_path): Renamed to ...
46077 (grub_efi_print_device_path): ... this.
46078
46079 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46080 [MM_DEBUG] (grub_realloc): Likewise.
46081 [MM_DEBUG] (grub_free): Likewise.
46082 [MM_DEBUG] (grub_memalign): Likewise.
46083 [MM_DEBUG] (grub_mm_debug): New variable.
46084 [MM_DEBUG] (grub_debug_malloc): New function.
46085 [MM_DEBUG] (grub_debug_free): New function.
46086 [MM_DEBUG] (grub_debug_realloc): New function.
46087 [MM_DEBUG] (grub_debug_memalign): New function.
46088
46089 * kern/misc.c (grub_abort): Print a newline to distinguish
46090 the message.
46091
46092 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46093 grub_set_root_dev after loading modules. This is necessary when
46094 setting a prefix depends on modules.
46095
46096 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46097 (grub_efi_print_device_path): ... this.
46098 (grub_efi_get_filename): New prototype.
46099 (grub_efi_set_prefix): Likewise.
46100
46101 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46102 and grub/disk.h.
46103 (grub_efidisk_get_device_handle): New prototype.
46104 (grub_efidisk_get_device_name): Likewise.
46105
46106 * include/grub/mm.h: Include config.h.
46107 (MM_DEBUG): Removed.
46108 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46109 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46110 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46111 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46112 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46113 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46114 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46115 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46116 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46117
46118 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46119
46120 * disk/efi/efidisk.c: Include grub/partition.h.
46121 (iterate_child_devices): New function.
46122 (add_device): First, compare only last device path nodes, so that
46123 devices are sorted by the types.
46124 (grub_efidisk_get_device_handle): New function.
46125 (grub_efidisk_get_device_name): Likewise.
46126
46127 * configure.ac (--enable-mm-debug): New option to enable the
46128 memory manager debugging feature. This makes the binary much
46129 bigger, so is disabled by default.
46130
9cacaa17 461312006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46132
46133 Use grub_abort instead of grub_stop, and grub_exit must be
46134 define in each architecture now. Also, this change adds support
46135 for EFI disks.
f19dbdb7 46136
9cacaa17 46137 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46138 (grub_getkey): New function.
46139 (grub_term_get_current): Likewise.
46140
46141 * util/i386/pc/grub-setup.c: Include grub/term.h.
46142 (grub_getkey): New function.
46143 (grub_term_get_current): Likewise.
46144
46145 * util/misc.c (grub_stop): Renamed to ...
46146 (grub_exit): ... this.
46147
46148 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46149 (grub_exit): ... this.
46150 (grub_machine_init): Use grub_abort instead of abort.
46151 (grub_stop): Removed.
46152
46153 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46154 abort.
46155
46156 * kern/i386/pc/startup.S (grub_exit): New function.
46157 (cold_reboot): New label.
46158
46159 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46160 (grub_efi_init): Call grub_efidisk_init.
46161 (grub_efi_fini): Call grub_efidisk_fini.
46162
46163 * kern/efi/efi.c: Include grub/mm.h.
46164 (grub_efi_console_control_guid): Renamed to ...
46165 (console_control_guid): ... this.
46166 (grub_efi_loaded_image_guid): Renamed to ...
46167 (loaded_image_guid): ... this.
46168 (grub_efi_locate_handle): New function.
46169 (grub_efi_open_protocol): Likewise.
46170 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46171 GRUB_EFI_CONSOLE_CONTROL_GUID.
46172 (grub_efi_exit): Removed.
46173 (grub_stop): Likewise.
46174 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46175 (grub_exit): New function.
46176 (grub_print_device_path): Likewise.
46177
46178 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46179 (grub_enter_rescue_mode): Register "exit".
46180
46181 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46182 (grub_abort): New function.
46183
46184 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46185
46186 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46187
46188 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46189
46190 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46191 (grub_print_device_path): New prototype.
46192 (grub_efi_locate_handle): Likewise.
46193 (grub_efi_open_protocol): Likewise.
46194
46195 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46196 * disk/efi/efidisk.c: Likewise.
46197
46198 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46199
46200 * include/grub/efi/console_control.h
46201 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46202
46203 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46204 last 8 bytes as an array.
46205 (GRUB_EFI_DISK_IO_GUID): New macro.
46206 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46207 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46208 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46209 grub_uint8_t.
46210 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46211 (struct grub_efi_device_path): Rename the member "sub_type" to
46212 "subtype".
46213 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46214 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46215 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46216 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46217 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46218 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46219 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46220 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46221 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46222 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46223 (struct grub_efi_pci_device_path): New structure.
46224 (grub_efi_pci_device_path_t): New type.
46225 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46226 (struct grub_efi_pccard_device_path): New structure.
46227 (grub_efi_pccard_device_path_t): New type.
46228 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46229 (struct grub_efi_memory_mapped_device_path): New structure.
46230 (grub_efi_memory_mapped_device_path_t): New type.
46231 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46232 (struct grub_efi_vendor_device_path): New structure.
46233 (grub_efi_vendor_device_path_t): New type.
46234 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46235 (struct grub_efi_controller_device_path): New structure.
46236 (grub_efi_controller_device_path_t): New type.
46237 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46238 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46239 (struct grub_efi_acpi_device_path): New structure.
46240 (grub_efi_acpi_device_path_t): New type.
46241 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46242 (struct grub_efi_expanded_acpi_device_path): New structure.
46243 (grub_efi_expanded_acpi_device_path_t): New type.
46244 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46245 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46246 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46247 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46248 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46249 (struct grub_efi_atapi_device_path): New structure.
46250 (grub_efi_atapi_device_path_t): New type.
46251 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46252 (struct grub_efi_fibre_channel_device_path): New structure.
46253 (grub_efi_fibre_channel_device_path_t): New type.
46254 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46255 (struct grub_efi_1394_device_path): New structure.
46256 (grub_efi_1394_device_path_t): New type.
46257 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46258 (struct grub_efi_usb_device_path): New structure.
46259 (grub_efi_usb_device_path_t): New type.
46260 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46261 (struct grub_efi_usb_class_device_path): New structure.
46262 (grub_efi_usb_class_device_path_t): New type.
46263 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46264 (struct grub_efi_i2o_device_path): New structure.
46265 (grub_efi_i2o_device_path_t): New type.
46266 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46267 (struct grub_efi_mac_address_device_path): New structure.
46268 (grub_efi_mac_address_device_path_t): New type.
46269 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46270 (struct grub_efi_ipv4_device_path): New structure.
46271 (grub_efi_ipv4_device_path_t): New type.
46272 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46273 (struct grub_efi_ipv6_device_path): New structure.
46274 (grub_efi_ipv6_device_path_t): New type.
46275 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46276 (struct grub_efi_infiniband_device_path): New structure.
46277 (grub_efi_infiniband_device_path_t): New type.
46278 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46279 (struct grub_efi_uart_device_path): New structure.
46280 (grub_efi_uart_device_path_t): New type.
46281 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46282 (struct grub_efi_vendor_messaging_device_path): New structure.
46283 (grub_efi_vendor_messaging_device_path_t): New type.
46284 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46285 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46286 (struct grub_efi_hard_drive_device_path): New structure.
46287 (grub_efi_hard_drive_device_path_t): New type.
46288 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46289 (struct grub_efi_cdrom_device_path): New structure.
46290 (grub_efi_cdrom_device_path_t): New type.
46291 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46292 (struct grub_efi_vendor_media_device_path): New structure.
46293 (grub_efi_vendor_media_device_path_t): New type.
46294 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46295 (struct grub_efi_file_path_device_path): New structure.
46296 (grub_efi_file_path_device_path_t): New type.
46297 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46298 (struct grub_efi_protocol_device_path): New structure.
46299 (grub_efi_protocol_device_path_t): New type.
46300 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46301 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46302 (struct grub_efi_bios_device_path): New structure.
46303 (grub_efi_bios_device_path_t): New type.
46304 (struct grub_efi_disk_io): New structure.
46305 (grub_efi_disk_io_t): New type.
46306 (struct grub_efi_block_io_media): New structure.
46307 (grub_efi_block_io_media_t): New type.
46308 (struct grub_efi_block_io): New structure.
46309 (grub_efi_block_io_t): New type.
46310
46311 * include/grub/misc.h (grub_stop): Removed.
46312 (grub_exit): New prototype.
46313 (grub_abort): Likewise.
46314
46315 * include/grub/disk.h (enum grub_disk_dev_id): Added
46316 GRUB_DISK_DEVICE_EFIDISK_ID.
46317
46318 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46319 disk/efi/efidisk.c.
46320 (kernel_syms.lst): Remove the target if an error occurs.
46321
49986a9f 463222006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46323
46324 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46325 as it was simply too buggy.
46326
970d3b8a 463272006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46328
46329 * kern/misc.c (grub_lltoa): New function.
46330 (grub_vsprintf): Added support for the long long suffix,
46331 i.e. "ll".
46332
ff04ec24 463332006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46334
46335 * Makefile.in (LDFLAGS): Add variable.
46336 (LD): Remove variable.
46337 * configure.ac: Add -m32 to LDFLAGS.
46338 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46339 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46340 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46341 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46342 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46343 variables.
46344 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46345 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46346 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46347
37e5e1a4 463482006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46349
46350 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46351 length for unknown glyph.
46352
c352d8dd 463532006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46354
2eab1c0d 46355 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46356
2eab1c0d 46357 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46358 completely. Accept one more argument DIR. The caller has changed.
46359
46360 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46361
46362 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46363 (grub_efi_loaded_image_guid): New variable.
46364 (grub_efi_get_loaded_image): New function.
46365 (grub_arch_modules_addr): Likewise.
46366
46367 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46368 prototype.
46369
46370 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46371 (struct grub_efi_loaded_image): New structure.
46372 (grub_efi_loaded_image_t): New type.
46373
463742006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46375
c352d8dd 46376 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46377 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46378 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46379
6d01d6b4 463802006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46381
46382 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46383
976a4ea0 463842006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46385
46386 * DISTLIST: Added include/grub/efi/console.h,
46387 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46388 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46389
46390 * include/grub/efi/console.h: New file.
46391 * include/grub/efi/time.h: Likewise.
46392 * include/grub/i386/efi/kernel.h: Likewise.
46393 * kern/efi/init.c: Likewise.
46394 * kern/efi/mm.c: Likewise.
46395 * term/efi/console.c: Likewise.
f19dbdb7 46396
976a4ea0 46397 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46398 (grub_stop): Removed.
46399 (grub_get_rtc): Likewise.
46400 (grub_machine_init): Simply call grub_efi_init.
46401 (grub_machine_fini): Call grub_efi_fini.
46402
46403 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46404 (grub_efi_output_string): Removed.
46405 (grub_efi_stall): New function.
46406 (grub_stop): Likewise.
46407 (grub_get_rtc): Likewise.
46408
46409 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46410 (grub_efi_stall): New prototype.
46411 (grub_efi_allocate_pages): Likewise.
46412 (grub_efi_free_pages): Likewise.
46413 (grub_efi_get_memory_map): Likewise.
46414 (grub_efi_mm_init): Likewise.
46415 (grub_efi_mm_fini): Likewise.
46416 (grub_efi_init): Likewise.
46417 (grub_efi_fini): Likewise.
46418
46419 * include/grub/i386/efi/time.h: Do not include
46420 grub/symbol.h. Include grub/efi/time.h.
46421 (GRUB_TICKS_PER_SECOND): Removed.
46422 (grub_get_rtc): Likewise.
46423
46424 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46425 Added padding. The EFI spec is buggy.
46426 (GRUB_EFI_BLACK): New macro.
46427 (GRUB_EFI_BLUE): Likewise.
46428 (GRUB_EFI_GREEN): Likewise.
46429 (GRUB_EFI_CYAN): Likewise.
46430 (GRUB_EFI_RED): Likewise.
46431 (GRUB_EFI_MAGENTA): Likewise.
46432 (GRUB_EFI_BROWN): Likewise.
46433 (GRUB_EFI_LIGHTGRAY): Likewise.
46434 (GRUB_EFI_BRIGHT): Likewise.
46435 (GRUB_EFI_DARKGRAY): Likewise.
46436 (GRUB_EFI_LIGHTBLUE): Likewise.
46437 (GRUB_EFI_LIGHTGREEN): Likewise.
46438 (GRUB_EFI_LIGHTCYAN): Likewise.
46439 (GRUB_EFI_LIGHTRED): Likewise.
46440 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46441 (GRUB_EFI_YELLOW): Likewise.
46442 (GRUB_EFI_WHITE): Likewise.
46443 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46444 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46445 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46446 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46447 (GRUB_EFI_BACKGROUND_RED): Likewise.
46448 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46449 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46450 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46451 (GRUB_EFI_TEXT_ATTR): Likewise.
46452
46453 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46454 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46455 (kernel_mod_HEADERS): Added efi/time.h.
46456
83709125 464572006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46458
46459 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46460 include/grub/efi/api.h, include/grub/efi/console_control.h,
46461 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46462 include/grub/i386/efi/time.h, kern/efi/efi.c,
46463 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46464 and util/i386/efi/grub-mkimage.c.
46465
46466 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46467
46468 * genmk.rb (PModule#rule): Do not export symbols if
46469 #{prefix}_EXPORTS is set to "no".
46470
46471 * conf/i386-efi.mk: New file.
46472 * conf/i386-efi.rmk: Likewise.
46473 * include/grub/efi/api.h: Likewise.
46474 * include/grub/efi/console_control.h: Likewise.
46475 * include/grub/efi/efi.h: Likewise.
46476 * include/grub/efi/pe32.h: Likewise.
46477 * include/grub/i386/efi/time.h: Likewise.
46478 * kern/efi/efi.c: Likewise.
46479 * kern/i386/efi/init.c: Likewise.
46480 * kern/i386/efi/startup.S: Likewise.
46481 * util/i386/efi/grub-mkimage.c: Likewise.
46482
464832006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46484
46485 * include/grub/script.h: Include <grub/parser.h> and
46486 "grub_script.tab.h".
46487 (struct grub_lexer_param): New struct.
46488 (struct grub_parser_param): Likewise.
46489 (grub_script_create_arglist): Pass the state in an argument.
46490 (grub_script_add_arglist): Likewise.
46491 (grub_script_create_cmdline): Likewise.
46492 (grub_script_create_cmdblock): Likewise.
46493 (grub_script_create_cmdif): Likewise.
46494 (grub_script_create_cmdmenu): Likewise.
46495 (grub_script_add_cmd): Likewise.
46496 (grub_script_arg_add): Likewise.
46497 (grub_script_lexer_ref): Likewise.
46498 (grub_script_lexer_deref): Likewise.
46499 (grub_script_lexer_record_start): Likewise.
46500 (grub_script_lexer_record_stop): Likewise.
46501 (grub_script_mem_record): Likewise.
46502 (grub_script_mem_record_stop): Likewise.
46503 (grub_script_malloc): Likewise.
46504 (grub_script_yylex): Likewise.
46505 (grub_script_yyparse): Likewise.
46506 (grub_script_yyerror): Likewise.
46507 (grub_script_yylex): Likewise.
46508 (grub_script_lexer_init): Return the state.
46509
46510 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46511 (grub_script_lexer_done): Likewise.
46512 (grub_script_lexer_getline): Likewise.
46513 (grub_script_lexer_refs): Likewise.
46514 (script): Likewise.
46515 (newscript): Likewise.
46516 (record): Likewise.
46517 (recording): Likewise.
46518 (recordpos): Likewise.
46519 (recordlen): Likewise.
46520 (grub_script_lexer_init): Return the state instead of setting
46521 global variables.
46522 (grub_script_lexer_ref): Use the newly added argument for state
46523 instead of globals.
46524 (grub_script_lexer_deref): Likewise.
46525 (grub_script_lexer_record_start): Likewise.
46526 (grub_script_lexer_record_stop): Likewise.
46527 (recordchar): Likewise.
46528 (nextchar): Likewise.
46529 (grub_script_yylex2): Likewise.
46530 (grub_script_yylex): Likewise.
46531 (grub_script_yyerror): Likewise.
46532
46533 * normal/parser.y (func_mem): Removed variable.
46534 (menu_entry): Likewise.
46535 (err): Likewise.
46536 (%lex-param): New parser option.
46537 (%parse-param): Likewise.
46538 (script): Always return the AST.
46539 (argument): Pass the state around.
46540 (arguments): Likewise.
46541 (grubcmd): Likewise.
46542 (commands): Likewise.
46543 (function): Likewise.
46544 (menuentry): Likewise.
46545 (if_statement): Likewise.
46546 (if): Likewise.
46547
46548 * normal/script.c (grub_script_memused): Removed variable.
46549 (grub_script_parsed): Likewise.
46550 (grub_script_malloc): Added a state argument. Use that instead of
46551 global variables.
46552 (grub_script_mem_record): Likewise.
46553 (grub_script_mem_record_stop): Likewise.
46554 (grub_script_arg_add): Likewise.
46555 (grub_script_add_arglist): Likewise.
46556 (grub_script_create_cmdline): Likewise.
46557 (grub_script_create_cmdif): Likewise.
46558 (grub_script_create_cmdmenu): Likewise.
46559 (grub_script_add_cmd): Likewise.
46560 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46561
e2a8c904 465622006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46563
46564 * normal/command.c (grub_command_init): Remove the title command.
46565
46566 * normal/lexer.c (grub_script_yylex): Renamed from this...
46567 (grub_script_yylex2): ... to this.
46568 (grub_script_yylex): New function. Temporary
46569 introduced to filter some tokens.
46570 (grub_script_yyerror): Print a newline.
46571
46572 * normal/main.c (read_config_file): Output information about the
46573 lines that contain errors. Wait for a key after all lines have
46574 been processed. Don't return an empty menu.
46575
46576 * normal/parser.y (func_mem): Don't initialize.
46577 (menu_entry): Likewise.
46578 (err): New variable.
46579 (script): Don't return anything when an error was encountered.
46580 (ws, returns): Removed rules.
46581 (argument): Disabled concatenated variable support.
46582 (arguments): Remove explicit separators.
46583 (grubcmd): Likewise.
46584 (function): Likewise.
46585 (menuentry): Likewise.
46586 (if): Likewise.
46587 (commands): Likewise. Add error handling.
46588
46589 * normal/script.c (grub_script_create_cmdline): If
46590 `grub_script_parsed' is 0, assume the parser encountered an error.
46591
c9a86192 465922006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46593
46594 * configure.ac: Add support for EFI. Fix the typo
46595 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46596
70f3b243 465972006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46598
46599 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46600 foreign multibyte characters should be shown correctly.
46601
65f201ad 466022006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46603
46604 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46605 calculation.
46606 (read_config_file): Made it to close file before returning.
46607
b4b93674 466082006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46609
46610 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46611 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46612 video/i386/pc/vbefill.c.
46613
46614 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46615 video/i386/pc/vbefill.c.
46616
46617 * include/grub/video.h (grub_video_blit_format): New enum.
46618 (grub_video_mode_info): Added new member blit_format.
46619 (grub_video_get_blit_format): New function prototype.
46620
46621 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46622 function prototype.
46623 (grub_video_vbe_map_rgb): Likewise.
46624 (grub_video_vbe_unmap_color): Likewise.
46625
46626 * include/grub/i386/pc/vbeblit.h: New file.
46627
46628 * include/grub/i386/pc/vbefill.h: New file.
46629
46630 * video/video.c (grub_video_get_blit_format): New function.
46631 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46632 (grub_video_vbe_map_rgb): Likewise.
46633 (grub_video_vbe_unmap_color): Likewise.
46634
46635 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46636 optimized fills.
46637 (grub_video_vbe_blit_render_target): Changed to use more optimized
46638 blits.
46639 (grub_video_vbe_setup): Added detection for optimized settings.
46640 (grub_video_vbe_create_render_target): Likewise.
46641
46642 * video/i386/pc/vbeblit.c: New file.
46643
46644 * video/i386/pc/vbefill.c: New file.
46645
c2379b9c 466462006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46647
46648 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46649 here...
46650
46651 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46652 parsing to support both hex and dec ranges. If filename was missing
46653 show usage information.
46654
bd0d7896 466552006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46656
46657 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46658 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46659
46660 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46661 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46662 (video_mod_SOURCES): Added.
46663 (video_mod_CFLAGS): Likewise.
46664 (video_mod_LDFLAGS): Likewise.
46665 (gfxterm_mod_SOURCES): Likewise.
46666 (gfxterm_mod_CFLAGS): Likewise.
46667 (gfxterm_mod_LDFLAGS): Likewise.
46668 (videotest_mod_SOURCES): Likewise.
46669 (videotest_mod_CFLAGS): Likewise.
46670 (videotest_mod_LDFLAGS): Likewise.
46671 (vesafb_mod_SOURCES): Removed.
46672 (vesafb_mod_CFLAGS): Likewise.
46673 (vesafb_mod_LDFLAGS): Likewise.
46674 (vga_mod_SOURCES): Likewise.
46675 (vga_mod_CFLAGS): Likewise.
46676 (vga_mod_LDFLAGS): Likewise.
46677
46678 * commands/videotest.c: New file.
46679
46680 * font/manager.c (fill_with_default_glyph): Modified to use
46681 grub_font_glyph.
46682 (grub_font_get_glyph): Likewise.
46683 (fontmanager): Renamed from this...
46684 (font_manager): ... to this.
46685
46686 * include/grub/font.h (grub_font_glyph): Added new structure.
46687 (grub_font_get_glyph): Modified to use grub_font_glyph.
46688
46689 * include/grub/misc.h (grub_abs): Added as inline function.
46690
46691 * include/grub/video.h: New file.
46692
46693 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46694 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46695 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46696 (grub_vbe_get_controller_info): Renamed from this...
46697 (grub_vbe_bios_get_controller_info): ... to this.
46698 (grub_vbe_get_mode_info): Renamed from this...
46699 (grub_vbe_bios_get_mode_info): ... to this.
46700 (grub_vbe_set_mode): Renamed from this...
46701 (grub_vbe_bios_set_mode): ... to this.
46702 (grub_vbe_get_mode): Renamed from this...
46703 (grub_vbe_bios_get_mode): ... to this.
46704 (grub_vbe_set_memory_window): Renamed from this...
46705 (grub_vbe_bios_set_memory_window): ... to this.
46706 (grub_vbe_get_memory_window): Renamed from this...
46707 (grub_vbe_bios_get_memory_window): ... to this.
46708 (grub_vbe_set_scanline_length): Renamed from this...
46709 (grub_vbe_set_scanline_length): ... to this.
46710 (grub_vbe_get_scanline_length): Renamed from this...
46711 (grub_vbe_bios_get_scanline_length): ... to this.
46712 (grub_vbe_set_display_start): Renamed from this...
46713 (grub_vbe_bios_set_display_start): ... to this.
46714 (grub_vbe_get_display_start): Renamed from this...
46715 (grub_vbe_bios_get_display_start): ... to this.
46716 (grub_vbe_set_palette_data): Renamed from this...
46717 (grub_vbe_bios_set_palette_data): ... to this.
46718 (grub_vbe_set_pixel_rgb): Removed.
46719 (grub_vbe_set_pixel_index): Likewise.
46720
46721 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46722 from this...
46723 (grub_vbe_bios_get_controller_info): ... to this.
46724 (grub_vbe_get_mode_info): Renamed from this...
46725 (grub_vbe_bios_get_mode_info): ... to this.
46726 (grub_vbe_set_mode): Renamed from this...
46727 (grub_vbe_bios_set_mode): ... to this.
46728 (grub_vbe_get_mode): Renamed from this...
46729 (grub_vbe_bios_get_mode): ... to this.
46730 (grub_vbe_set_memory_window): Renamed from this...
46731 (grub_vbe_bios_set_memory_window): ... to this.
46732 (grub_vbe_get_memory_window): Renamed from this...
46733 (grub_vbe_bios_get_memory_window): ... to this.
46734 (grub_vbe_set_scanline_length): Renamed from this...
46735 (grub_vbe_set_scanline_length): ... to this.
46736 (grub_vbe_get_scanline_length): Renamed from this...
46737 (grub_vbe_bios_get_scanline_length): ... to this.
46738 (grub_vbe_set_display_start): Renamed from this...
46739 (grub_vbe_bios_set_display_start): ... to this.
46740 (grub_vbe_get_display_start): Renamed from this...
46741 (grub_vbe_bios_get_display_start): ... to this.
46742 (grub_vbe_set_palette_data): Renamed from this...
46743 (grub_vbe_bios_set_palette_data): ... to this.
46744 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46745 getting corrupted after calling it. Added more pushes and pops.
46746 (grub_vbe_bios_set_mode): Likewise.
46747 (grub_vbe_bios_get_mode): Likewise.
46748 (grub_vbe_bios_get_memory_window): Likewise.
46749 (grub_vbe_bios_set_scanline_length): Likewise.
46750 (grub_vbe_bios_get_scanline_length): Likewise.
46751 (grub_vbe_bios_get_display_start): Likewise.
46752 (grub_vbe_bios_set_palette_data): Likewise.
46753
46754 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46755 (cl_insert): Likewise.
46756 (cl_delete): Likewise.
46757
46758 * term/gfxterm.c: New file.
46759
46760 * term/i386/pc/vesafb.c: Removed file.
46761
46762 * video/video.c: New file.
46763
46764 * video/i386/pc/vbe.c (real2pm): Added new function.
46765 (grub_video_vbe_draw_pixel): Likewise.
46766 (grub_video_vbe_get_video_ptr): Likewise.
46767 (grub_video_vbe_get_pixel): Likewise
46768 (grub_video_vbe_init): Likewise.
46769 (grub_video_vbe_fini): Likewise.
46770 (grub_video_vbe_setup): Likewise.
46771 (grub_video_vbe_get_info): Likewise.
46772 (grub_video_vbe_set_palette): Likewise.
46773 (grub_video_vbe_get_palette): Likewise.
46774 (grub_video_vbe_set_viewport): Likewise.
46775 (grub_video_vbe_get_viewport): Likewise.
46776 (grub_video_vbe_map_color): Likewise.
46777 (grub_video_vbe_map_rgb): Likewise.
46778 (grub_video_vbe_map_rgba): Likewise.
46779 (grub_video_vbe_unmap_color): Likewise.
46780 (grub_video_vbe_fill_rect): Likewise.
46781 (grub_video_vbe_blit_glyph): Likewise.
46782 (grub_video_vbe_blit_bitmap): Likewise.
46783 (grub_video_vbe_blit_render_target): Likewise.
46784 (grub_video_vbe_scroll): Likewise.
46785 (grub_video_vbe_swap_buffers): Likewise.
46786 (grub_video_vbe_create_render_target): Likewise.
46787 (grub_video_vbe_delete_render_target): Likewise.
46788 (grub_video_vbe_set_active_render_target): Likewise.
46789 (grub_vbe_set_pixel_rgb): Remove function.
46790 (grub_vbe_set_pixel_index): Likewise.
46791 (index_color_mode): Remove static variable.
46792 (active_mode): Likewise.
46793 (framebuffer): Likewise.
46794 (bytes_per_scan_line): Likewise.
46795 (grub_video_vbe_adapter): Added new static variable.
46796 (framebuffer): Likewise.
46797 (render_target): Likewise.
46798 (initial_mode): Likewise.
46799 (mode_in_use): Likewise.
46800 (mode_list): Likewise.
46801
5f97350b 468022006-03-10 Marco Gerards <marco@gnu.org>
46803
46804 * configure.ac (AC_INIT): Bumped to 1.93.
46805
46806 * DISTLIST: Added `include/grub/hfs.h'.
46807
a3c5c6f8 468082006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46809
46810 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46811 18H, which might help the BIOS falling back to next boot media.
46812
6de53d26 468132006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46816 Poe Chen <poe.poechen@gmail.com>.
46817
77c4a393 468182006-01-17 Marco Gerards <marco@gnu.org>
46819
46820 * include/grub/normal.h: Include <grub/script.h>.
46821 (grub_command_list): Removed struct.
46822 (grub_command_list_t): Removed type.
46823 (grub_menu_entry): Remove members `num' and `command_list'. Add
46824 members `commands' and `sourcecode'.
46825 * include/grub/script.h: Add inclusion guards.
46826 (grub_script_cmd_menuentry): New struct.
46827 (grub_script_execute_menuentry): New prototype.
46828 (grub_script_lexer_record_start): Likewise.
46829 (grub_script_lexer_record_stop): Likewise.
46830 * normal/execute.c (grub_script_execute_menuentry): New function.
46831 * normal/lexer.c (record, recording, recordpos, recordlen): New
46832 variables.
46833 (grub_script_lexer_record_start): New function.
46834 (grub_script_lexer_record_stop): Likewise.
46835 (recordchar): Likewise.
46836 (nextchar): Likewise.
46837 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46838 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46839 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46840 (current_menu): New variable.
46841 (free_menu): Mainly rewritten.
46842 (grub_normal_menu_addentry): New function.
46843 (read_config_file): Rewritten.
46844 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46845 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46846 the menu entry.
46847 (run): Mainly rewritten.
46848 * normal/parser.y (menu_entry): New variable.
46849 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46850 (menuentry): New rule.
46851 (command): Add `menuentry'.
46852 (if_statement): Allow additional returns before `fi'.
46853 * normal/script.c (grub_script_create_cmdmenu): New function.
46854
144f1f98 468552006-01-03 Marco Gerards <marco@gnu.org>
46856
46857 * INSTALL: GNU Bison is required.
46858 * configure.ac: Rewritten the test to detect Bison.
46859 * Makefile.in (YACC): New variable. Reported by Xun Sun
46860 <xun.sun.cn@gmail.com>.
46861
af4b2d89 468622006-01-03 Marco Gerards <marco@gnu.org>
46863
46864 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46865 the HFS+ filesystem to filesystem blocks.
46866 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46867 GCC warning is silenced.
46868
15643b71 468692006-01-03 Marco Gerards <marco@gnu.org>
46870
46871 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46872 read from disk from big endian to host byte order.
46873
00905879 468742006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46875
46876 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46877 documentation.
46878 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46879 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46880 embedded HFS+ filesystem.
46881 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46882 (grub_hfs_sblock): Move from here...
46883 * include/grub/hfs.h: To here... New file.
46884 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46885 documentation.
46886 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46887 New macros.
46888 (grub_hfsplus_volheader): Change type of member `magic' to
46889 `grub_uint16_t'.
46890 (grub_hfsplus_data): Add new member `embedded_offset'.
46891 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46892 returned block.
46893 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46894 Calculate the offset.
46895
8899bc3e 468962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46897
46898 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46899 Removed.
46900 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46901
ae8c0277 469022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46903
46904 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46905 ENV->NAME is NULL after allocating ENV->VALUE.
46906
07084456 469072005-12-25 Marco Gerards <marco@gnu.org>
46908
46909 * kern/env.c (grub_env_set): Rewritten the error handling code.
46910
4750f5f1 469112005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46912
46913 * geninit.sh: Made more robust, and more portable.
46914
50214199 469152005-12-25 Marco Gerards <marco@gnu.org>
46916
46917 Add support for Apple HFS+ filesystems.
f19dbdb7 46918
50214199 46919 * fs/hfsplus.c: New file.
46920
46921 * DISTLIST: Added `fs/hfsplus.c'.
46922
46923 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46924 (hfsplus_mod_SOURCES): New variable.
46925 (hfsplus_mod_CFLAGS): Likewise.
46926 (hfsplus_mod_LDFLAGS): Likewise.
46927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46928 (grub_setup_SOURCES): Likewise.
46929 (grub_mkdevicemap_SOURCES): Likewise.
46930 (grub_emu_SOURCES): Likewise.
46931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46932
46933 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46934
46935 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46936
befaed6c 469372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46938
46939 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46940 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46941 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46942 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46943 normal/lexer.c, normal/parser.y, normal/script.c, and
46944 partmap/gpt.c.
46945 Removed kern/sparc64/cache.c.
46946
46947 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46948 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46949 grub_emu_init.c.
46950
46951 * configure.ac (AC_INIT): Bumped to 1.92.
46952
6a124103 469532005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46954
46955 * kern/err.c (grub_error_push): Added new function to support error
46956 stacks.
46957 (grub_error_pop): Likewise.
46958 (grub_error_stack_items): New local variable to support error stacks.
46959 (grub_error_stack_pos): Likewise.
46960 (grub_error_stack_assert): Likewise.
46961 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46962 stack depth.
46963 (grub_print_error): Added support to print errors from error stack.
46964
46965 * include/grub/err.h (grub_error_push): Added function prototype.
46966 (grub_error_pop): Likewise.
46967
be973c1b 469682005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46969
46970 * configure.ac: Accept `powerpc64' as host_cpu.
46971 (amd64): Rename to `biarch32'.
46972
46973 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46974 non-cacheline-aligned addresses.
46975
46976 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46977 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46978 if `size' is non-zero.
46979
b04216ab 469802005-12-03 Marco Gerards <mgerards@xs4all.nl>
46981
46982 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46983 and `cd' to make sure the filename is not prefixed with a
46984 directory name.
46985 (pkgdata_MODULES): Add `gpt.mod'.
46986 (gpt_mod_SOURCES): New variable.
46987 (gpt_mod_CFLAGS): Likewise.
46988 (gpt_mod_LDFLAGS): Likewise.
46989
46990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46991
46992 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46993 New macro.
46994
46995 * partmap/gpt.c: New file.
46996
46997 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46998 GPT partition map is detected.
46999
41730ed9 470002005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47001
47002 * commands/i386/pc/play.c: New file.
47003 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47004 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47005 macros.
f19dbdb7 47006
95dc3643 470072005-11-27 Marco Gerards <mgerards@xs4all.nl>
47008
47009 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47010 ((unused))' to silence gcc warning.
47011
1569ec51 470122005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47013
47014 * configure.ac: Correct `AC_PROG_YACC' test.
47015
9abde152 470162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47017
47018 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47019 check before installing files.
47020
44b83271 470212005-11-22 Mike Small <smallm@panix.com>
47022
47023 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47024 number regex so multidigit numbers are recognized correctly.
47025
470262005-11-22 Mike Small <smallm@panix.com>
47027
47028 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47029 debugging message before attempting to claim memory.
47030 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47031 multiple addresses in case of failure.
47032
9c12956b 470332005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47034
47035 * term/tparm.c (get_space): Remove empty `if' statement.
47036
47037 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47038
47039 * kern/parser.c (check_varstate): Rename `state' to 's'.
47040
aeaf81d9 470412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47042
47043 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47044 variable definitions to the beginning of each function. Sort stack
47045 variables by size.
47046 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47047 `buf' argument to `char *'.
47048
79bbb63f 470492005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47050
47051 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47052 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47053 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47054 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47055 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47056 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47057 configfile.mod, search.mod, gzio.mod and test.mod.
47058 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47059 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47060 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47061 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47062 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47063 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47064 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47065 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47066 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47067 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47068 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47069 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47070 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47071 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47072 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47073 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47074 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47075 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47076 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47077 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47078 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47079 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47080 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47081
47082 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47083 `grep --include'.
47084 (pkgdata_MODULES): Add test.mod.
47085
233b1628 470862005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47087
47088 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47089 appending to variables with "+=".
47090 (PModule): Use full pathname to generate *.lst filenames.
47091
47092 * Makefile.in: Fixed list rules moved from genmk.rb.
47093 (.DELETE_ON_ERROR): New special target.
47094 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47095
47096 * conf/i386-pc.rmk: Include conf/common.mk.
47097 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47098 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47099 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47100 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47101 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47102 configfile.mod, search.mod, gzio.mod and test.mod.
47103 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47104 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47105 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47106 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47107 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47108 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47109 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47110 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47111 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47112 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47113 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47114 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47115 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47116 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47117 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47118 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47119 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47120 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47121 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47122 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47123 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47124 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47125 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47126 here...
47127 * conf/common.rmk: ... to here. New file.
47128
47129 * conf/common.mk: New file.
47130
16f820c8 471312005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47132
47133 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47134 (grub_script.tab.c): ... here.
47135
47136 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47137 (grub_script.tab.c): ... here.
47138
47139 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47140 (grub_script.tab.c): ... here.
47141
47142 * normal/command.c (grub_command_find): Fixed a memory leak of
47143 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47144
63ba1554 471452005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47146
47147 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47148 "@" which marks the start of a comment on ARM.
47149 (VARIABLE): Likewise.
47150
7f67dc13 471512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47152
79bbb63f 47153 Add support for Linux/ADFS partition tables.
7f67dc13 47154
47155 * partmap/acorn.c: New file.
47156
47157 * include/grub/acorn_filecore.h: Likewise.
47158
47159 * DISTLIST: Added `partmap/acorn.c' and
47160 `include/grub/acorn_filecore.h'.
f19dbdb7 47161
7f67dc13 47162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47163 `partmap/acorn.c'.
47164 (pkgdata_MODULES): Add `acorn.mod'.
47165 (acorn_mod_SOURCES): New variable.
47166 (acorn_mod_CFLAGS): Likewise.
47167
47168 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47169 `partmap/acorn.c'.
47170 (pkgdata_MODULES): Add `acorn.mod'.
47171 (acorn_mod_SOURCES): New variable.
47172 (acorn_mod_CFLAGS): Likewise.
47173
47174 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47175 (pkgdata_MODULES): Add `acorn.mod'.
47176 (acorn_mod_SOURCES): New variable.
47177 (acorn_mod_CFLAGS): Likewise.
47178 (acorn_mod_LDFLAGS): Likewise.
47179
47180 * include/types.h (grub_disk_addr_t): New typedef.
47181
6d099807 471822005-11-13 Marco Gerards <mgerards@xs4all.nl>
47183
47184 * geninit.sh: New file.
47185
47186 * geninitheader.sh: Likewise.
47187
47188 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47189 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47190 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47191 * commands/configfile.c (grub_configfile_init)
47192 (grub_configfile_fini): Likewise.
47193 * commands/default.c (grub_default_init, grub_default_fini):
47194 Likewise.
47195 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47196 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47197 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47198 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47199 Likewise.
47200 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47201 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47202 Likewise.
47203 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47204 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47205 Likewise.
47206 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47207 Likewise.
fe6b695a 47208 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47209 Likewise.
47210 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47211 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47212 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47213 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47214 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47215 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47216 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47217 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47218 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47219 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47220 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47221 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47222 * partmap/amiga.c (grub_amiga_partition_map_init)
47223 (grub_amiga_partition_map_fini): Likewise.
47224 * partmap/apple.c (grub_apple_partition_map_init)
47225 (grub_apple_partition_map_fini): Likewise.
47226 * partmap/pc.c (grub_pc_partition_map_init)
47227 (grub_pc_partition_map_fini): Likewise.
47228 * partmap/sun.c (grub_sun_partition_map_init,
47229 grub_sun_partition_map_fini): Likewise.
47230 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47231 Likewise.
47232
47233 * util/grub-emu.c: Include <grub_modules_init.h>.
47234 (main): Don't initialize and de-initialize any modules directly,
47235 use `grub_init_all' and `grub_fini_all' instead.
47236
47237 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47238 `grub_vesafb_mod_init'.
47239 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47240 all users.
47241 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47242 `grub_vga_mod_init'. Updated all users.
47243 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47244
6d099807 47245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47246 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47247 rules.
47248
47249 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47250 Generate a function to initialize the module in utilities.
47251 Updated all callers.
47252 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47253 initialize the module in utilities. Updated all callers.
47254
9046bcf0 472552005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47256
47257 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47258 escape sequence and a literal ^L to clear the screen.
47259
47260 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47261 when returning from Open Firmware.
47262
d13ea639 472632005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47264
47265 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47266 (grub_ofconsole_height): Likewise.
47267 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47268 manually insert a '\n'.
47269 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47270 `grub_ofconsole_height'. Return early if these are already set.
47271
a8fcf206 472722005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47273
47274 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47275 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47276 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47277 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47278 and `normal/script.c'.
47279 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47280 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47281 (test_mod_SOURCES): New variable.
47282 (test_mod_CFLAGS): Likewise.
47283 (test_mod_LDFLAGS): Likewise.
47284 (pkgdata_MODULES): Add `test.mod'.
47285 (grub_script.tab.c): New rule.
47286 (grub_script.tab.h): Likewise.
47287
b6b32745 472882005-11-07 Marco Gerards <mgerards@xs4all.nl>
47289
47290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47291 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47292 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47293 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47294 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47295 (test_mod_SOURCES): New variable.
47296 (test_mod_CFLAGS): Likewise.
47297 (pkgdata_MODULES): Add `test.mod'.
47298 (grub_script.tab.c): New rule.
47299 (grub_script.tab.h): Likewise.
47300
daac212a 473012005-11-06 Marco Gerards <mgerards@xs4all.nl>
47302
47303 Add initial scripting support.
47304
47305 * commands/test.c: New file.
47306 * include/grub/script.h: Likewise.
47307 * normal/execute.c: Likewise.
47308 * normal/function.c: Likewise.
47309 * normal/lexer.c: Likewise.
47310 * normal/parser.y: Likewise.
47311 * normal/script.c: Likewise.
47312
47313 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47314
daac212a 47315 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47316 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47317 `normal/function.c' and `normal/script.c'.
47318 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47319 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47320 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47321 variables.
daac212a 47322 (pkgdata_MODULES): Add `test.mod'.
47323 (grub_script.tab.c): New rule.
47324 (grub_script.tab.h): Likewise.
47325
47326 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47327
47328 * include/grub/normal.h (grub_test_init): New prototype.
47329 (grub_test_fini): Likewise.
f19dbdb7 47330
daac212a 47331 * normal/command.c: Include <grub/script.h>.
47332 (grub_command_execute): Rewritten.
f19dbdb7 47333
daac212a 47334 * util/grub-emu.c (main): Call `grub_test_init' and
47335 `grub_test_fini'.
47336
77500b2b 473372005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47338
47339 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47340 to 0.
47341 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47342 there are no pending characters.
47343
e45deb9e 473442005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47345
47346 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47347 `grub_strndup' to drop device arguments. Replace unnecessary
47348 `grub_strndup' with `grub_strdup'.
47349
4ce32619 473502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47351
47352 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47353 `debug' environment variable has been set.
47354
473552005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47356
4ce32619 47357 * Makefile.in (install-local): Use $(DATA).
47358 (uninstall): Likewise.
47359 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47360 (sbin_UTILITIES): ... to here.
47361 (sbin_SCRIPTS): New variable.
47362 (grub_install_SOURCES): New variable.
47363 * util/powerpc/ieee1275/grub-install.in: New file.
47364 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47365 variable.
47366 (add_segments): Call `grub_util_get_path'.
47367
25fe6f03 473682005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47369
47370 From Timothy Baldwin:
47371 * commands/ls.c (grub_ls_list_files): Close FILE with
47372 grub_file_close.
47373 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47374
04ccf3ec 473752005-10-24 Marco Gerards <mgerards@xs4all.nl>
47376
47377 * include/grub/parser.h: New file.
47378
47379 * kern/parser.c: Likewise.
47380
47381 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47382 (grub_setup_SOURCES): Likewise.
47383 (grub_probefs_SOURCES): Likewise.
47384 (grub_emu_SOURCES): Likewise.
47385 (kernel_img_HEADERS): Add `parser.h'.
47386
47387 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47388 (grub_emu_SOURCES): Add `kern/parser.c'.
47389 (grubof_SOURCES): Likewise.
47390
47391 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47392 (grubof_SOURCES): Add `kern/parser.c'.
47393
47394 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47395
47396 * kern/misc.c (grub_split_cmdline): Removed function.
47397
47398 * kern/rescue.c: Include <grub/parser.h>.
47399 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47400 of `grub_split_cmdline'.
47401
47402 * normal/command.c: Include <grub/parser.h>.
47403 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47404 of `grub_split_cmdline'.
47405
47406 * normal/completion.c: Include <grub/parser.h>.
47407 (cmdline_state): New variable.
47408 (iterate_dir): End the filename with a quote depending on the
47409 command line state.
47410 (get_state): new function.
47411 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47412 split the arguments and determine the current argument. When the
47413 argument string is not quoted, escape all spaces.
47414
6d8f4b0e 474152005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47416
47417 * normal/sparc64/setjmp.S: New file.
47418
15cf03ed 474192005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47420
47421 * include/grub/sparc64/libgcc.h: New file.
47422 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47423 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47424 normal/sparc64/setjmp.c.
47425
03e8661a 474262005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47427
47428 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47429 * kern/sparc64/cache.S: New file.
47430 * kern/sparc64/cache.c: Removed.
47431 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47432 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47433 -mtune=ultrasparc.
47434 (COMMON_LDFLAGS): Add -melf64_sparc.
47435 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47436 (grubof_SOURCES): Use cache.S instead of cache.c.
47437 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47438 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47439 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47440 commented though.
47441 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47442 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47443 (linux_mod_CFLAGS): Commented out.
47444 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47445 out because module isn't built.
47446 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47447 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47448 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47449 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47450 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47451 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47452 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47453 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47454 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47455 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47456 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47457 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47458 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47459 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47460
34eeec8a 474612005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47462
47463 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47464 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47465 longer, because HFS should not be used on PC.
47466
708367a3 474672005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47468
47469 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47470 consistently within the loop.
47471
6fa1251a 474722005-10-15 Marco Gerards <mgerards@xs4all.nl>
47473
47474 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47475 directory can not be read.
47476
4801580b 474772005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47478
47479 * configure.ac (AC_INIT): Increase the version number to 1.91.
47480
47481 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47482 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47483 term/i386/pc/serial.c.
47484
219ad426 474852005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47486
47487 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47488 file size must be permitted.
47489
47490 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47491 between %ah and %al.
47492
688e5699 474932005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47494
47495 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47496 grub_uint64_t.
47497 Call the hook with a NUL-terminated filename.
47498 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47499 grub_cpu_to_be32.
47500
47501 * kern/term.c (cursor_state): New variable.
47502 (grub_term_set_current): Reset the cursor state on a new
47503 terminal.
47504 (grub_setcursor): Rewritten to use CURSOR_STATE.
47505 (grub_getcursor): New function.
47506
47507 * include/grub/term.h (grub_getcursor): New prototype.
47508
47509 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47510 integers on ARM. Reported by Timothy Baldwin
47511 <T.E.Baldwin99@members.leeds.ac.uk>.
47512
bb34586c 475132005-10-11 Marco Gerards <mgerards@xs4all.nl>
47514
47515 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47516 allocated.
47517 (grub_sfs_dir): Likewise.
47518
9a909877 475192005-10-09 Marco Gerards <mgerards@xs4all.nl>
47520
47521 Add support for the SFS filesystem.
47522
47523 * fs/sfs.c: New file.
47524
47525 * DISTLIST: Added `fs/sfs.c'.
47526
47527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47528 (grub_probefs_SOURCES): Likewise.
47529 (grub_emu_SOURCES): Likewise.
47530 (pkgdata_MODULES): Add `sfs.mod'.
47531 (sfs_mod_SOURCES): New variable.
47532 (sfs_mod_CFLAGS): Likewise.
47533 (sfs_mod_LDFLAGS): Likewise.
47534
47535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47536 (pkgdata_MODULES): Add `sfs.mod'.
47537 (sfs_mod_SOURCES): New variable.
47538 (sfs_mod_CFLAGS): Likewise.
47539
47540 * util/grub-emu.c (main): Call `grub_sfs_init' and
47541 `grub_sfs_fini'.
47542
47543 * include/grub/fs.h (grub_sfs_init): New prototype.
47544 (grub_sfs_fini): Likewise.
47545
57bdbde3 475462005-10-07 Marco Gerards <mgerards@xs4all.nl>
47547
47548 Add support for the AFFS filesystem.
47549
47550 * fs/affs.c: New file.
47551
47552 * DISTLIST: Added `fs/affs.c'.
47553
47554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47555 (grub_probefs_SOURCES): Likewise.
47556 (grub_emu_SOURCES): Likewise.
47557 (pkgdata_MODULES): Add `affs.mod'.
47558 (affs_mod_SOURCES): New variable.
47559 (affs_mod_CFLAGS): Likewise.
47560 (affs_mod_LDFLAGS): Likewise.
47561
47562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47563 (pkgdata_MODULES): Add `affs.mod'.
47564 (affs_mod_SOURCES): New variable.
47565 (affs_mod_CFLAGS): Likewise.
47566
47567 * util/grub-emu.c (main): Call `grub_affs_init' and
47568 `grub_affs_fini'.
47569
47570 * include/grub/fs.h (grub_affs_init): New prototype.
47571 (grub_affs_fini): Likewise.
47572
047b67e0 475732005-10-01 Marco Gerards <mgerards@xs4all.nl>
47574
47575 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47576
59b8208a 475772005-10-01 Marco Gerards <mgerards@xs4all.nl>
47578
47579 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47580 `-m32' to CFLAGS.
47581
47582 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47583 linking.
f19dbdb7 47584
59b8208a 47585 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47586 (COMMON_LDFLAGS): New variable.
47587 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47588 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47589 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47590 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47591 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47592 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47593 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47594 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47595 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47596 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47597 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47598 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47599 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47600 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47601 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47602 variables.
47603 (normal_mod_ASFLAGS): Add `-m32'.
47604
47605 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47606 (grub_host_size_t, grub_host_ssize_t): New types.
47607 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47608 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47609 `GRUB_HOST_SIZEOF_VOID_P'.
47610
47611 * include/grub/kernel.h (struct grub_module_header): Type of
47612 member offset changed to `grub_host_off_t'. Type of member size
47613 changed to `grub_host_size_t'.
47614 (struct grub_module_info): Type of member offset changed to
47615 `grub_host_off_t'. Type of member size changed to
47616 `grub_host_size_t'.
47617
b4093103 476182005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47619
47620 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47621
b4093103 47622 * kern/i386/pc/startup.S (multiboot_header): New label.
47623 (multiboot_entry): Likewise.
47624 (multiboot_trampoline): Likewise.
47625
47626 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47627 Increased to 0x4A0.
47628
47629 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47630 put parentheses after a question mark.
47631 [!GRUB_UTIL] (my_mod): New variable.
47632
47633 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47634
b2499b29 476352005-09-28 Marco Gerards <mgerards@xs4all.nl>
47636
47637 Adds support for the XFS filesystem. Btrees are not supported
47638 yet.
47639
47640 * fs/xfs.c: New file.
47641
47642 * DISTLIST: Added `fs/xfs.c'.
47643
47644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47645 (grub_probefs_SOURCES): Likewise.
47646 (grub_emu_SOURCES): Likewise.
47647 (pkgdata_MODULES): Add `xfs.mod'.
47648 (xfs_mod_SOURCES): New variable.
47649 (xfs_mod_CFLAGS): Likewise.
47650
47651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47652 (pkgdata_MODULES): Add `xfs.mod'.
47653 (xfs_mod_SOURCES): New variable.
47654 (xfs_mod_CFLAGS): Likewise.
47655
47656 * util/grub-emu.c (main): Call `grub_xfs_init' and
47657 `grub_xfs_fini'.
47658
47659 * include/grub/fs.h (grub_xfs_init): New prototype.
47660 (grub_xfs_fini): Likewise.
47661
f19dbdb7 47662
83d37a62 476632005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47664
47665 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47666 color modes, allow greater than 16 colors to be configured as
47667 a default palette.
47668
47d2d65e 476692005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47670
47671 * normal/completion.c (complete_arguments): Add the qualifier
47672 const into OPTIONS.
47673
47674 From Omniflux <omniflux+lists@omniflux.com>:
47675 * include/grub/terminfo.h: New file.
47676 * include/grub/tparm.h: Likewise.
47677 * include/grub/i386/pc/serial.h: Likewise.
47678 * term/terminfo.c: Likewise.
47679 * term/tparm.c: Likewise.
47680 * term/i386/pc/serial.c: Likewise.
47681 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47682 serial.mod.
47683 (terminfo_mod_SOURCES): New variable.
47684 (terminfo_mod_CFLAGS): Likewise.
47685 (serial_mod_SOURCES): Likewise.
47686 (serial_mod_CFLAGS): Likewise.
47687
48b671ff 476882005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47689
47690 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47691 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47692 and kern/powerpc/ieee1275/cmain.c, respectively.
47693
47694 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47695 * kern/powerpc/ieee1275/crt0.S: ... here.
47696
47697 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47698 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47699
48b671ff 47700 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47701 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47702 instead of boot/powerpc/ieee1275/crt0.S and
47703 boot/powerpc/ieee1275/cmain.c, respectively.
47704
47705 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47706 sectors. It was not used anyway.
47707
09fc77a7 477082005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47709
47710 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47711 `unused parameter' warning.
47712
003789c7 477132005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47714
47715 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47716 function.
47717 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47718 getcharwidth.
47719
67f44c86 477202005-08-28 Marco Gerards <metgerards@student.han.nl>
47721
47722 * include/grub/normal.h (enum grub_completion_type): Added
47723 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47724
47725 * normal/cmdline.c (print_completion): Handle
47726 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47727 * normal/menu_entry.c (store_completion): Likewise.
47728
47729 * normal/completion.c (complete_arguments): New function.
47730 (grub_normal_do_completion): Call `complete_arguments' when the
47731 current words start with a dash.
47732
0b5abe02 477332005-08-27 Marco Gerards <metgerards@student.han.nl>
47734
47735 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47736 `gzio.mod' instead of `io.mod').
47737
d9864ee1 477382005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47739
47740 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47741 (DISTDIRS): Added io and video.
47742 Rewrite the search routine to make an output consistently.
47743
47744 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47745 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47746 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47747 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47748 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47749 util/powerpc/ieee1275/misc.c.
f19dbdb7 47750
d9864ee1 47751 * include/grub/gzio.h: New file.
47752 * io/gzio.c: Likewise.
f19dbdb7 47753
d9864ee1 47754 * kern/file.c (grub_file_close): Call grub_device_close only if
47755 FILE->DEVICE is not NULL.
47756
47757 * include/grub/mm.h [!NULL] (NULL): New macro.
47758
47759 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47760
47761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47762 (pkgdata_MODULES): Added gzio.mod.
47763 (gzio_mod_SOURCES): New variable.
47764 (gzio_mod_CFLAGS): Likewise.
47765
47766 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47767 (pkgdata_MODULES): Added gzio.mod.
47768 (gzio_mod_SOURCES): New variable.
47769 (gzio_mod_CFLAGS): Likewise.
47770
47771 * commands/cat.c: Include grub/gzio.h.
47772 (grub_cmd_cat): Use grub_gzfile_open instead of
47773 grub_file_open.
f19dbdb7 47774
d9864ee1 47775 * commands/cmp.c: Include grub/gzio.h.
47776 (grub_cmd_cmp): Use grub_gzfile_open instead of
47777 grub_file_open.
47778
47779 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47780 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47781 grub_file_open.
47782 (grub_rescue_cmd_module): Likewise.
47783
fa46f4b5 477842005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47785
47786 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47787 kern/sparc64/ieee1275/init.c because it contains _start.
47788 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47789
e9211b5d 477902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47791
47792 * configure.ac: Add support for sparc64 host with ieee1275
47793 firmware.
47794 * configure: Generated from configure.ac.
47795 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47796 instead of int.
47797 (grub_ofdisk_read): Likewise.
47798 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47799 pointers as (void *) to remove a warning.
47800 (grub_ofdisk_close): Likewise.
47801 (grub_ofdisk_read): Likewise.
47802 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47803 returns, so make it return void to remove a warning.
47804 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47805 Corresponding prototype change.
47806 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47807 values, and cast the pointers as (void *) to remove a warning.
47808 (grub_mm_dump): Likewise.
47809 * conf/sparc64-ieee1275.mk: New file.
47810 * conf/sparc64-ieee1275.rmk: Likewise.
47811 * include/grub/sparc64/setjmp.h: Likewise.
47812 * include/grub/sparc64/types.h: Likewise.
47813 * include/grub/sparc64/ieee1275/console.h: Likewise.
47814 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47815 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47816 * include/grub/sparc64/ieee1275/time.h: Likewise.
47817 * kern/sparc64/cache.c: Likewise.
47818 * kern/sparc64/dl.c: Likewise.
47819 * kern/sparc64/ieee1275/init.c: Likewise.
47820 * kern/sparc64/ieee1275/openfw.c: Likewise.
47821
385c6a92 478222005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47823
47824 * util/console.c (grub_ncurses_putchar): If C is greater than
47825 0x7f, set C to a question mark.
47826 (grub_ncurses_getcharwidth): New function.
47827 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47828 getcharwidth.
47829
47830 * normal/menu.c (print_entry): Made aware of Unicode. First,
47831 convert TITLE to UCS-4, and predict the cursor position by
47832 grub_getcharwidth.
47833
47834 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47835 const to SRC.
47836 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47837
16ccb8b1 478382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47839
47840 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47841 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47842 grub_strcat.
47843
47844 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47845 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47846 grub_strcpy and grub_strlen. Take it into account that a space
47847 character is inserted as a delimiter.
47848
6a85ce79 478492005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47850
47851 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47852 invalid magic in the error.
6a85ce79 47853
47854 * commands/search.c: New file.
f19dbdb7 47855
6a85ce79 47856 * util/grub-emu.c (main): Call grub_search_init and
47857 grub_search_fini.
47858
47859 * kern/rescue.c (grub_rescue_print_disks): Removed.
47860 (grub_rescue_print_devices): New function.
47861 (grub_rescue_cmd_ls): Use grub_device_iterate with
47862 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47863 grub_rescue_print_disks.
47864
47865 * kern/partition.c (grub_partition_iterate): Return the result of
47866 PARTMAP->ITERATE instead of GRUB_ERRNO.
47867
47868 * kern/device.c: Include grub/partition.h.
47869 (grub_device_iterate): New function.
47870
47871 * include/grub/partition.h (grub_partition_iterate): Return int
47872 instead of grub_err_t.
47873
47874 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47875 prototype.
47876 [GRUB_UTIL] (grub_search_fini): Likewise.
47877
47878 * include/grub/device.h (grub_device_iterate): New prototype.
47879
47880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47881 commands/search.c.
47882 (pkgdata_MODULES): Added search.mod.
47883 (search_mod_SOURCES): New variable.
47884 (search_mod_CFLAGS): Likewise.
47885
47886 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47887 (pkgdata_MODULES): Added search.mod.
47888 (search_mod_SOURCES): New variable.
47889 (search_mod_CFLAGS): Likewise.
47890
47891 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47892 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47893 All callers changed.
47894
47895 * DISTLIST: Added commands/search.c.
47896
ef095434 478972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47898
47899 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47900 conversion.
47901 (grub_getcharwidth): New function.
47902
47903 * kern/misc.c (grub_utf8_to_ucs4): New function.
47904
47905 * include/grub/term.h (struct grub_term): Added a new member
47906 "getcharwidth".
47907 (grub_getcharwidth): New prototype.
47908
47909 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47910
47911 * term/i386/pc/console.c (map_char): New function. Segregated from
47912 grub_console_putchar.
47913 (grub_console_putchar): Use map_char.
47914 (grub_console_getcharwidth): New function.
47915 (grub_console_term): Specified grub_console_getcharwidth as
47916 getcharwidth.
47917
47918 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47919 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47920
47921 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47922 GRUB_ERRNO.
47923 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47924 on grub_strtoul completely.
47925 (write_char): Declare local variables in the beginning of the
47926 function.
47927 (grub_vesafb_getcharwidth): New function.
47928 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47929 getcharwidth.
47930
1f0a95e4 479312005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47932
47933 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47934 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47935 commands/i386/pc/vbetest.c.
47936
47937 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47938 call grub_vbe_get_controller_info again, because the returned
47939 information is volatile.
47940 (grub_vbe_set_video_mode): Mostly rewritten.
47941 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47942 grub_vbe_status_t correctly.
47943 (grub_vbe_get_video_mode_info): Likewise.
47944 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47945 several if statements.
47946
47947 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47948 * commands/i386/pc/vbeinfo.c: ... this.
47949
47950 * commands/i386/pc/vbe_test.c: Renamed to ...
47951 * commands/i386/pc/vbetest.c: ... this.
47952
47953 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47954 ...
47955 (grub_cmd_vbeinfo): ... this. Save video modes before
47956 iterating. Skip a video mode, if it is not available, not enough
47957 information is given or it is monochrome. Show the memory
47958 model. Leave the interpretation of MODEVAR to grub_strtoul
47959 completely.
47960 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47961 (GRUB_MOD_FINI): Likewise.
47962
47963 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47964 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47965 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47966 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47967 grub_strtoul completely.
47968 (real2pm): Removed.
47969 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47970 (GRUB_MOD_FINI): Likewise.
47971
47972 * normal/misc.c: Include grub/mm.h.
47973
47974 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47975 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47976 (vbe_list_modes_mod_SOURCES): Removed.
47977 (vbe_list_modes_mod_CFLAGS): Likewise.
47978 (vbe_test_mod_SOURCES): Likewise.
47979 (vbe_test_mod_CFLAGS): Likewise.
47980 (vbeinfo_mod_SOURCES): New variable.
47981 (vbeinfo_mod_CFLAGS): Likewise.
47982 (vbetest_mod_SOURCES): Likewise.
47983 (vbetest_mod_CFLAGS): Likewise.
47984
992ffbbe 479852005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47986
47987 * normal/misc.c: New file.
47988
47989 * DISTLIST: Added normal/misc.c.
f19dbdb7 47990
992ffbbe 47991 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47992 DISK to HOOK. Call HOOK with DISK.
47993 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47994 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47995 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47996
47997 * normal/menu_entry.c (struct screen): Added a new member
47998 "completion_shown".
47999 (completion_buffer): New global variable.
48000 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48001 (store_completion): New function.
48002 (complete): Likewise.
48003 (clear_completions): Likewise.
48004 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48005 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48006 a tab, call complete.
48007
48008 * normal/completion.c (disk_dev): Removed.
48009 (print_simple_completion): Likewise.
48010 (print_partition_completion): Likewise.
48011 (print_func): New global variable.
48012 (add_completion): Do not take the arguments WHAT or PRINT any
48013 longer. Added a new argument TYPE. Instead of printing directly,
48014 call PRINT_FUNC if not NULL.
48015 All callers changed.
48016 (complete_device): Use a local variable DEV instead of
48017 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48018 (grub_normal_do_completion): Take a new argument HOOK. Do not
48019 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48020 empty string, return NULL instead.
48021 All callers changed.
48022
48023 * normal/cmdline.c (print_completion): New function.
48024
48025 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48026 to HOOK.
48027 All callers changed.
48028
48029 * kern/disk.c (grub_print_partinfo): Removed.
48030
48031 * include/grub/partition.h (struct grub_partition_map): Add a new
48032 argument DISK into HOOK of ITERATE.
48033 (grub_partition_iterate): Add a new argument DISK to HOOK.
48034
48035 * include/grub/normal.h (enum grub_completion_type): New enum.
48036 (grub_completion_type_t): New type.
48037 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48038 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48039 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48040 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48041 (grub_normal_do_completion): Added a new argument HOOK.
48042 (grub_normal_print_device_info): New prototype.
48043
48044 * include/grub/disk.h (grub_print_partinfo): Removed.
48045
48046 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48047 (normal_mod_SOURCES): Likewise.
48048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48049 (normal_mod_SOURCES): Likewise.
48050
48051 * commands/ls.c (grub_ls_list_disks): Use
48052 grub_normal_print_device_info instead of grub_print_partinfo. Free
48053 PNAME.
48054 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48055 duplicating the code.
48056
0bd41162 480572005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48058
48059 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48060 follow GCS more precisely.
48061 * commands/i386/pc/vbe_test.c: Likewise.
48062 * include/grub/i386/pc/vbe.h: Likewise.
48063 * term/i386/pc/vesafb.c: Likewise.
48064 * video/i386/pc/vbe.c: Likewise.
0bd41162 48065
6323696a 480662005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48067
48068 * DISTLIST: Added term/i386/pc/vesafb.c
48069 DISTLIST: Added video/i386/pc/vbe.c
48070 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48071 DISTLIST: Added commands/i386/pc/vbe_test.c.
48072 * commands/i386/pc/vbe_list_modes.c: New file.
48073 * commands/i386/pc/vbe_test.c: Likewise.
48074 * term/i386/pc/vesafb.c: Likewise.
48075 * video/i386/pc/vbe.c: Likewise.
48076 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48077 (grub_vbe_probe) Added prototype.
48078 (grub_vbe_set_video_mode) Likewise.
48079 (grub_vbe_get_video_mode) Likewise.
48080 (grub_vbe_get_video_mode_info) Likewise.
48081 (grub_vbe_set_pixel_rgb) Likewise.
48082 (grub_vbe_set_pixel_index) Likewise.
48083 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48084 (pkgdata_MODULES): Added vesafb.mod.
48085 (pkgdata_MODULES): Added vbe_list_modes.mod.
48086 (pkgdata_MODULES): Added vbe_test.mod.
48087 (vbe_mod_SOURCES): Added.
48088 (vbe_mod_CFLAGS): Likewise.
48089 (vesafb_mod_SOURCES): Likewise.
48090 (vesafb_mod_CFLAGS): Likewise.
48091 (vbe_list_modes_mod_SOURCES): Likewise.
48092 (vbe_list_modes_mod_CFLAGS): Likewise.
48093 (vbe_test_mod_SOURCES): Likewise.
48094 (vbe_test_mod_CFLAGS): Likewise.
48095
0a74e62f 480962005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48097
0a74e62f 48098 * normal/command.c (grub_command_execute): If INTERACTIVE is
48099 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48100 CMDLINE. Disable the pager if INTERACTIVE is true.
48101 All callers are changed.
48102
48103 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48104 before reading a config file.
48105 * normal/main.c (read_config_file): Even if a command is not
48106 found, register it if it is within an entry.
48107
48108 * util/grub-emu.c: Include sys/types.h and unistd.h.
48109 (options): Added --hold.
48110 (struct arguments): Added a new member "hold".
48111 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48112 missing.
48113 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48114 cleared by a debugger, if it is not zero.
48115
48116 * include/grub/normal.h (grub_command_execute): Add an argument
48117 INTERACTIVE.
48118
e51f85ae 481192005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48120
48121 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48122
e9c6f39b 481232005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48124
48125 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48126 program with another one, because the old one didn't detect a bug
48127 in gcc-3.4. Always use regparm 2, because the new test is still
48128 not enough for gcc-4.0. Someone must investigate a simple test
48129 case which detects a bug in gcc-4.0.
48130
8de3495c 481312005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48132
48133 * DISTLIST: Added normal/completion.c.
48134
48135 * normal/completion.c: New file.
f19dbdb7 48136
8de3495c 48137 * term/i386/pc/console.c (grub_console_getwh): New function.
48138 (grub_console_term): Assign grub_console_getwh to getwh.
48139
48140 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48141 function is defined in normal/completion.c as
48142 grub_normal_do_completion.
48143 (grub_cmdline_get): Use grub_normal_do_completion instead of
48144 grub_tab_complete.
48145
48146 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48147 returns non-zero, otherwise return 0.
48148 (grub_partition_iterate): First, probe the partition map. Then,
48149 call ITERATE only for this partition map.
48150
48151 * kern/misc.c (grub_strncmp): Rewritten.
48152
48153 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48154 returns non-zero. Otherwise return 0.
48155
48156 * include/grub/partition.h (grub_partition_map_iterate): Return
48157 int instead of void.
48158
48159 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48160
48161 * include/grub/misc.h (grub_strncmp): Change the type of N to
48162 grub_size_t.
48163
48164 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48165 of void.
48166
48167 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48168 unsigned explicitly before comparing it with I.
8de3495c 48169
48170 * kern/main.c (grub_env_write_root): Add the attribute unused into
48171 VAR.
48172
48173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48174 normal/completion.c.
48175 (normal_mod_SOURCES): Likewise.
48176 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48177 (normal_mod_SOURCES): Likewise.
48178
48179 * normal/command.c (grub_iterate_commands): If ITERATE returns
48180 non-zero, return one immediately.
48181
e85e144b 481822005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48183
48184 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48185 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48186 descriptions.
48187 (grub_vbe_get_controller_info): New function.
48188 (grub_vbe_get_mode_info): Likewise.
48189 (grub_vbe_set_mode): Likewise.
48190 (grub_vbe_get_mode): Likewise.
48191 (grub_vbe_set_memory_window): Likewise.
48192 (grub_vbe_get_memory_window): Likewise.
48193 (grub_vbe_set_scanline_length): Likewise.
48194 (grub_vbe_get_scanline_length): Likewise.
48195 (grub_vbe_set_display_start): Likewise.
48196 (grub_vbe_get_display_start): Likewise.
48197 (grub_vbe_set_palette_data): Likewise.
48198 * include/grub/i386/pc/vbe.h: New file.
48199
c46153d2 482002005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48201
48202 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48203 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48204 * DISTLIST: Likewise.
48205 * kern/ieee1275/of.c: Moved to ...
48206 * kern/ieee1275/ieee1275.c: ... here.
48207
0cb90c45 482082005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48209
48210 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48211 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48212 Pass 0 as `end' parameter to grub_strtoul().
48213
a19fb360 482142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48215
48216 * include/grub/powerpc/ieee1275/console.h: Do not include
48217 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48218 ifdef.
48219 (grub_console_cur_color): Remove i386-specific prototype.
48220 (grub_console_real_putchar): Likewise.
48221 (grub_console_checkkey): Likewise.
48222 (grub_console_getkey): Likewise.
48223 (grub_console_getxy): Likewise.
48224 (grub_console_gotoxy): Likewise.
48225 (grub_console_cls): Likewise.
48226 (grub_console_setcursor): Likewise.
48227 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48228 Include <grub/machine/console.h>.
48229 * term/ieee1275/ofconsole.c: Likewise.
48230
4ac9bd04 482312005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48232
48233 * Makefile.in (LIBLZO): New variable.
48234
48235 * configure.ac: Check for LZO version 2.
48236
48237 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48238 lzo/lzo1x.h instead of lzo1x.h.
48239
48240 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48241 of -llzo.
48242
48243 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48244 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48245
48246 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48247 copying the data from PARTITION to P.
48248
f4917dfd 482492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48250
48251 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48252 negative, unload the module.
48253
48254 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48255 map is "pc_partition_map" but not "pc".
48256 (usage): Fix the description. The options are --boot-image and
48257 --core-image but not --boot-file or --core-file.
48258 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48259 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48260 DEFAULT_DIRECTORY.
48261
48262 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48263 --core-file. Specify INSTALL_DEVICE as an argument.
48264
48265 * util/console.c: Include config.h.
48266 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48267 [HAVE_NCURSES_H]: Include ncurses.h.
48268 [HAVE_CURSES_H]: Include curses.h.
48269 [!A_NORMAL] (A_NORMAL): Defined as zero.
48270 [!A_STANDOUT] (A_STANDOUT): Likewise.
48271
48272 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48273 -lncurses.
48274 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48275
48276 * configure.ac: Check for curses libraries and headers.
48277
48278 * Makefile.in (LIBCURSES): New variable.
48279
48280 * genmk.rb (Script::rule): Set the executable bits.
48281
48282 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48283 name of the PC partition map is "pc_partition_map" but not "pc".
48284
0e143073 482852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48286
48287 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48288 (modules): Likewise.
48289 (usage): Added descriptions for --modules and --grub-probefs.
48290 Handle --modules and --grub-probefs. Save the arguments in MODULES
48291 and GRUB_PROBEFS, respectively.
48292 Auto-detect a filesystem module against GRUBDIR. If the result is
48293 empty and modules are not specified explicitly, abort the
48294 installation. Add the result to MODULES.
48295
48296 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48297 disk/powerpc/ieee1275/ofdisk.c,
48298 include/grub/powerpc/ieee1275/init.h and
48299 term/powerpc/ieee1275/ofconsole.c.
48300 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48301 term/ieee1275/ofconsole.c.
48302
48303 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48304
48305 * COPYING: Upgraded to the latest version. Only the address of the
48306 FSF office has changed.
f19dbdb7 48307
efd6e6d5 483082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48309
48310 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48311 kern/ieee1275.c with kern/ieee1275/of.c.
48312
48313 * kern/ieee1275.c: Moved to ...
48314 * kern/ieee1275/of.c: ... here.
48315
8ceafda2 483162005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48317
48318 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48319 readability.
8ceafda2 48320
48321 * config.guess: Updated to the latest version from gnulib.
48322 * config.sub: Likewise.
48323 * install.sh: Likewise.
48324 * mkinstalldirs: Likewise.
48325
48326 * include/grub/console.h: Removed. This file is arch-specific. Do
48327 not put this in include/grub.
48328
48329 * include/grub/i386/pc/console.h: Resurrected.
48330
48331 * util/console.c: Include grub/machine/console.h instead of
48332 grub/console.h.
48333 * util/grub-emu.c: Likewise.
48334
267f6cd9 483352005-08-04 Marco Gerards <metgerards@student.han.nl>
48336
48337 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48338 hardcoded value.
f19dbdb7 48339
267f6cd9 48340 From Vincent Pelletier <subdino2004@yahoo.fr>
48341 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48342 Redefined to use grub_getwh.
48343 (grub_term): New member named getwh.
48344 (grub_getwh): New prototype.
48345 * kern/term.c (grub_getwh): New function.
48346 * term/i386/pc/console.c (grub_console_getwh): New function.
48347 (grub_console_term): New member `getwh'.
48348 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48349 (grub_vga_term): New member `getwh'.
0b5abe02 48350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48351 grub_ssize_t.
48352 (grub_ofconsole_getw): New function.
48353 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48354 (grub_ofconsole_term): New field named getwh and new initial
48355 value.
48356
3be7266d 483572005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48358
48359 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48360 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48361 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48362 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48363 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48364 of <grub/machine/ieee1275.h>.
48365 * commands/ieee1275/reboot.c: Likewise.
48366 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48367 * kern/ieee1275.c: ... to here. All users updated. Change all
48368 parameter structs to use new type `grub_ieee1275_cell_t'.
48369 * term/powerpc/ieee1275/ofconsole.c: Move ...
48370 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48371 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48372 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48373 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48374 to return int.
48375 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48376 Remove unused prototypes. All users updated.
48377 * include/grub/powerpc/ieee1275/console.h: Removed.
48378 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48379 `grub_ieee1275_cell_t'.
48380 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48381 Cast comparisons with -1 to the correct type.
48382 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48383 type to match `grub_ieee1275_entry_fn'.
48384
8b5f3938 483852005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48386
48387 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48388
48389 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48390 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48391 partmap/sun.c.
48392 (grub_probefs_SOURCES): New variable.
48393
48394 * util/i386/pc/grub-probefs.c: New file.
48395
48396 * util/i386/pc/grub-setup.c (main): Call
48397 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48398 grub_hfs_init and grub_jfs_init to initialize the system. Call
48399 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48400 grub_pc_partition_map_fini to finish the system.
48401
ea409713 484022005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48403
48404 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48405 function.
48406 (grub_multiboot_load_elf32): Likewise.
48407 (grub_multiboot_is_elf64): Likewise.
48408 (grub_multiboot_load_elf64): Likewise.
48409 (grub_multiboot_load_elf): Likewise.
48410 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48411 an ELF32 or ELF64 file.
48412 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48413
48414 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48415 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48416 NULL before calling FS->LABEL.
48417 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48418 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48419 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48420 before calling FS->LABEL.
48421
141a288b 484222005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48423
48424 * util/i386/pc/grub-install.in (datadir): New variable.
48425 (libdir): Removed.
48426 (pkgdatadir): New variable.
48427 (pkglibdir): Removed.
48428
0d5f8a54 484292005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 * DISTLIST: Added util/i386/pc/grub-install.in.
48432
48433 * util/i386/pc/grub-install.in: New file.
48434
48435 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48436 (grub_install_SOURCES): Likewise.
48437
48438 * genmk.rb: Added support for scripts.
48439 (Script): New class.
48440 (scripts): New variable.
48441
48442 * Makefile.in (install-local): Install sbin_SCRIPTS by
48443 INSTALL_SCRIPT.
48444 (uninstall): Remove sbin_SCRIPTS.
48445
48446 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48447 device, try to get a GRUB device by
48448 grub_util_biosdisk_get_grub_dev.
48449 Free DEST_DEV.
48450
48451 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48452 description for --device-map.
48453
5f968e1e 484542005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48455
48456 Change the semantics of variable hooks. They now return strings
48457 instead of error values.
f19dbdb7 48458
5f968e1e 48459 * util/i386/pc/grub-setup.c: Include grub/env.h.
48460 (setup): Use grub_device_set_root instead of grub_env_set.
48461
48462 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48463 grub_env_get instead of grub_device_set_root and
48464 grub_device_get_root, respectively.
48465
48466 * kern/main.c (grub_env_write_root): New function.
48467 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48468 grub_env_set instead of grub_device_set_root.
48469
48470 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48471 many variables.
48472 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48473 rather than calling ENV->WRITE_HOOK afterwards.
48474 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48475 passing a pointer of a pointer.
48476 (grub_register_variable_hook): Change the types of "read_hook" and
48477 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48478 respectively.
48479 Allocate the default empty string on the heap, because this string
48480 may be freed later.
48481
48482 * kern/device.c: Include grub/env.h.
48483 (grub_device_set_root): Removed.
48484 (grub_device_get_root): Likewise.
48485 (grub_device_open): Use grub_env_get instead of
48486 grub_device_get_root.
48487
48488 * include/grub/env.h (grub_env_read_hook_t): New type.
48489 (grub_env_write_hook_t): Likewise.
48490 (grub_env_var): Change the types of "read_hook" and "write_hook"
48491 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48492 (grub_register_variable_hook): Likewise.
48493
48494 * include/grub/device.h (grub_device_set_root): Removed.
48495 (grub_device_set_root): Likewise.
48496
48497 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48498 make sure that DIRNAME terminates with '/', so that
48499 grub_fat_find_dir will fail if PATH is not a directory.
48500
48501 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48502 from DIRNAME.
48503 Use the qualifier auto for print_files and print_files_long.
48504 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48505 as a regular file.
48506 Put a newline only if there is no error.
48507 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48508 used.
48509
896f0afd 485102005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48511
48512 * kern/partition.c (grub_partition_probe): Initialize PART to
48513 NULL. Otherwise, when no partition map is registered, this returns
48514 a garbage.
48515
b28b81b2 485162005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48517
48518 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48519 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48520 valid.
48521
5f3607e0 485222005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48523
48524 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48525 information on each device, if it does not have partitions. Print
48526 "Device" instead of "Disk", because this function is not specific
48527 to disk devices.
48528
48529 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48530 static to ensure that it is put on the memory rather than a
48531 register.
48532
502c87e8 485332005-07-17 Yoshinori Okuji <okuji@enbug.org>
48534
48535 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48536 (grub_cat_init): Likewise.
48537 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48538 (options): Likewise.
48539 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48540 (grub_configfile_init): Likewise.
48541 * font/manager.c (GRUB_MOD_INIT): Likewise.
48542 * commands/help.c (GRUB_MOD_INIT): Likewise.
48543 (grub_help_init): Likewise.
48544 * normal/command.c (grub_command_init): Likewise.
48545 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48546 * disk/loopback.c (grub_loop_init): Likewise.
48547 (GRUB_MOD_INIT): Likewise.
48548 * commands/ls.c (grub_ls_init): Likewise.
48549 (GRUB_MOD_INIT): Likewise.
48550 (options): Likewise.
48551 * commands/boot.c (grub_boot_init): Likewise.
48552 (GRUB_MOD_INIT): Likewise.
48553 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48554 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48555 (GRUB_MOD_INIT): Likewise.
48556 * commands/cmp.c (grub_cmp_init): Likewise.
48557 (GRUB_MOD_INIT): Likewise.
48558
48559 * normal/arg.c: Use <> instead of "" to include header files.
48560 (SHORT_ARG_HELP): New macro.
48561 (SHORT_ARG_USAGE): Likewise.
48562 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48563 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48564 descriptions.
48565 (find_short): Check if C is 'h' or 'u' explicitly.
48566 (grub_arg_show_help): Use space characters instead of tabs. Treat
48567 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48568 are shown with --help and --usage only if they are not used for
48569 the command itself.
48570 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48571 'h' and 'u'.
48572
48573 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48574 const into "longarg". Change the type of "shortarg" to int.
48575
f806d18e 485762005-07-17 Yoshinori Okuji <okuji@enbug.org>
48577
48578 * boot/i386/pc/boot.S (boot_drive_check): New label.
48579
48580 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48581 macro.
48582
48583 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48584 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48585
e293232b 485862005-07-17 Yoshinori Okuji <okuji@enbug.org>
48587
48588 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48589 When turning off Gate A20, skip the check and return immediately,
48590 because this is not fatal usually.
48591
ebedfd00 485922005-07-17 Yoshinori Okuji <okuji@enbug.org>
48593
48594 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48595 be 0x7C00 instead of 0x8000.
48596
48597 * boot/i386/pc/pxeboot.S: Rewritten.
48598
48599 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48600 EXT_C.
48601 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48602 result.
48603
654fc59f 486042005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48605
48606 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48607 robustness. This routine now supports a BIOS call and System
48608 Control Port A to modify the gate A20.
48609
48610 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48611 Increased to 0x440.
48612
09f9923f 486132005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48614
48615 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48616 device path and resulting ihandle.
48617 (grub_ofdisk_close): dprintf the ihandle being closed.
48618 (grub_ofdisk_read): dprintf function parameters.
48619 * kern/mm.c (grub_mm_init_region): Likewise.
48620 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48621 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48622 size, and boot arguments.
48623 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48624 before loading into memory.
48625 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48626 before loading into memory.
48627
7ef504d8 486282005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48629
48630 * kern/mm.c: Added much documentation.
48631 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48632 8, set to 5 instead of 8.
48633
e0f050c2 486342005-07-10 Yoshinori Okuji <okuji@enbug.org>
48635
48636 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48637
48638 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48639 (grub_mkdevicemap_SOURCES): New variable.
48640
48641 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48642 lib/device.c of GRUB Legacy.
48643
7224189a 486442005-07-10 Yoshinori Okuji <okuji@enbug.org>
48645
48646 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48647 instead of PATH is NULL.
48648
68c864eb 486492005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48650
48651 * commands/cmp.c (BUFFER_SIZE): New macro.
48652 (grub_cmd_cmp): Close the right file at the right time. Compare
48653 only data just read. Don't report files of different size as
48654 identical. Dynamically allocate buffers. Move variable
48655 declarations at the beginning of function.
48656
e6f3e614 486572005-07-09 Yoshinori Okuji <okuji@enbug.org>
48658
48659 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48660 reverse.
48661
f8f1559a 486622004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48663
48664 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48665 when backspace is pressed at beginning of line.
48666
39c9d41d 486672005-07-03 Yoshinori Okuji <okuji@enbug.org>
48668
48669 * DISTLIST: Added genfslist.sh.
48670
48671 * normal/main.c (fs_module_list): New variable.
48672 (autoload_fs_module): New function.
48673 (read_fs_list): Likewise.
48674 (grub_normal_execute): Call read_fs_list.
48675
48676 * kern/fs.c (grub_fs_autoload_hook): New variable.
48677 (grub_fs_probe): Added support for auto-loading.
48678
48679 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48680 (grub_fs_module_list_t): New type.
48681
48682 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48683 (grub_fs_autoload_hook): New prototype.
48684
48685 * genfslist.sh: New file.
f19dbdb7 48686
39c9d41d 48687 * genmk.rb: Added a rule to generate a filesystem list.
48688
121c1d83 486892005-06-30 Marco Gerards <metgerards@student.han.nl>
48690
48691 * configure.ac: Fix the test for cross-compiling.
48692
48693 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48694 define GRUB_UTIL anymore.
48695
48696 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48697 so this function works on other systems than just big endian.
48698 (load_modules): Likewise.
48699 (add_segments): Likewise.
48700
e75d76e1 487012005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48702
48703 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48704 contains `l' modifier, get a long from va_arg().
48705
50b5a0a7 487062005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48707
48708 * kern/mm.c (grub_free): If the next free block which is being
48709 merged is the first free block, set the first block to the block
48710 being freed.
48711 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48712
89371b20 487132005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48714
48715 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48716 `grub_ieee1275_chosen'.
48717
168d6e58 487182005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48719
48720 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48721 (grub_ieee1275_chosen): New variable.
48722 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48723 `chosen'.
48724 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48725 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48726 Rename first argument to `phandle' for consistency.
48727 (grub_ieee1275_get_property_length): Likewise.
48728 (grub_ieee1275_next_property): Likewise. Change type of first argument
48729 to grub_ieee1275_phandle_t.
48730 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48731 Move export next to declaration.
48732 (grub_ieee1275_chosen): New variable.
48733 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48734 Correct cosmetic typo.
48735 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48736 `grub_ieee1275_chosen'.
48737 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48738 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48739 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48740 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48741 `grub_ieee1275_chosen'.
48742
ca5baa3f 487432005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48746 /chosen/bootargs.
48747 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48748 /chosen/bootargs as "variable=value" pairs.
48749
708b345f 487502005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48751
48752 * include/grub/misc.h (grub_dprintf): New macro.
48753 (grub_real_dprintf): New prototype.
48754 (grub_strword): Likewise.
48755 (grub_iswordseparator): Likewise.
48756 * kern/misc.c (grub_real_dprintf): New function.
48757 (grub_strword): Likewise.
48758 (grub_iswordseparator): Likewise.
48759
f4c5e67c 487602005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48761
48762 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48763 (roundup): Remove macro.
48764 (grub_ieee1275_flags): Make static.
48765 (grub_ieee1275_realmode): Remove.
48766 (grub_ieee1275_test_flag): New function.
48767 (grub_ieee1275_set_flag): Likewise.
48768 (find_options): Rename to `grub_ieee1275_find_options'; update
48769 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48770 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48771 (cmain): New prototype.
48772 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48773 `grub_ieee1275_flags' directly.
48774 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48775 machine/biosdisk.h.
48776 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48777 Don't include grub/machine/init.h.
48778 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48780 Remove prototype.
48781 (grub_ieee1275_realmode): Likewise.
48782 (grub_ieee1275_flag): New enum.
48783 (grub_ieee1275_test_flag): New prototype.
48784 (grub_ieee1275_set_flag): New prototype.
48785 * include/grub/powerpc/ieee1275/init.h: Remove file.
48786 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48787 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48788 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48789 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48790 comment.
48791 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48792 `grub_ieee1275_test_flag'.
48793 (grub_ieee1275_encode_devname): Likewise.
48794
ed16607e 487952005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48796
48797 * include/grub/powerpc/ieee1275/ieee1275.h
48798 (grub_ieee1275_encode_devname): New prototype.
48799 (grub_ieee1275_get_filename): Likewise.
48800 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48801 function.
48802 (grub_set_prefix): Likewise.
48803 (grub_machine_init): Call grub_set_prefix.
48804 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48805 (grub_parse_type): New enum.
48806 (grub_ieee1275_get_devargs): New function.
48807 (grub_ieee1275_get_devname): Likewise.
48808 (grub_ieee1275_parse_args): Likewise.
48809 (grub_ieee1275_get_filename): Likewise.
48810 (grub_ieee1275_encode_devname): Likewise.
48811
be369920 488122005-03-30 Marco Gerards <metgerards@student.han.nl>
48813
48814 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48815 `grub_loader_unset'.
48816
a5ce3a4a 488172005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48818
48819 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48820 instead of grub_ieee1275_interpret.
48821 (grub_halt_init): New function.
48822 (grub_halt_fini): Likewise.
48823 (GRUB_MOD_INIT): Correct message grammar.
48824 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48825 instead of grub_ieee1275_interpret.
48826 (grub_reboot_init): New function.
48827 (grub_reboot_fini): Likewise.
48828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48829 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48830 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48831 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48832 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48833 function.
48834 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48835 Add prototype.
48836 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48837 prototype.
48838 (grub_halt): Likewise.
48839 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48840 (cmain): Remove __attribute__((unused)).
48841 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48842 (grub_heap_len): Likewise.
48843 (grub_machine_fini): New function.
48844 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48845 (grub_halt): Likewise.
48846 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48847 function.
48848 * util/powerpc/ieee1275/misc.c: New file.
48849
0058f771 488502005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48851
48852 * DISTLIST: New file.
48853 * gendistlist.sh: Likewise.
f19dbdb7 48854
0058f771 48855 * Makefile.in (COMMON_DISTFILES): Removed.
48856 (BOOT_DISTFILES): Likewise.
48857 (CONF_DISTFILES): Likewise.
48858 (DISK_DISTFILES): Likewise.
48859 (FS_DISTFILES): Likewise.
48860 (INCLUDE_DISTFILES): Likewise.
48861 (KERN_DISTFILES): Likewise.
48862 (LOADER_DISTFILES): Likewise.
48863 (TERM_DISTFILES): Likewise.
48864 (UTIL_DISTFILES): Likewise.
48865 (DISTFILES): Likewise.
48866 (uninstall): Uninstall files in $(pkgdata_DATA).
48867 (DISTLIST): New target.
48868 (distdir): Use the contents of the file DISTLIST to get a list of
48869 distributed files.
48870
46b3b8a5 488712005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48872
48873 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48874 descriptor. This is ported from GRUB Legacy.
48875
48876 * gencmdlist.sh: Added an extra semicolon to make it work with
48877 old sed versions. Reported by Robert Bihlmeyer
48878 <robbe@orcus.priv.at>.
48879
5822ff87 488802005-03-08 Yoshinori Okuji <okuji@enbug.org>
48881
48882 Automatic loading of commands is supported.
f19dbdb7 48883
5822ff87 48884 * normal/main.c (read_command_list): New function.
48885 (grub_normal_execute): Call read_command_list.
48886
48887 * normal/command.c (grub_register_command): Return zero or CMD.
48888 Allocate CMD->NAME from the heap.
48889 Initialize CMD->MODULE_NAME to zero.
48890 Find the same name as well. If the same command is found and it is
48891 a dummy command, overwrite members. If it is not a dummy command,
48892 return zero.
48893 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48894 (grub_command_find): If a dummy command is found, load a module
48895 and retry to find a command only once.
48896
48897 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48898 make sure that each command is loaded.
48899
48900 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48901 macro.
48902 (struct grub_command): Remove const from the member `name'.
48903 Add a new member `module_name'.
48904 (grub_register_command): Return grub_command_t.
48905
48906 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48907 sure that each command is loaded.
48908
48909 * genmk.rb (PModule::rule): Specify a module name without the
48910 suffix ".mod" to gencmdlist.sh.
48911
7b1f4b57 489122005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48913
48914 * gencmdlist.sh: New file.
f19dbdb7 48915
7b1f4b57 48916 * genmk.rb (PModule::rule): Generate a rule for a command list.
48917 Clean command.lst.
48918 Generate command.lst from $(COMMANDFILES).
48919
48920 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48921 (DATA): Added $(pkgdata_DATA).
48922 (install-local): Install files in $(pkgdata_DATA).
48923
062aaf39 489242005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48925
48926 * term/i386/pc/vga.c (debug_command): Removed.
48927 (GRUB_MOD_INIT): Do not register the command "debug".
48928
48929 From Hollis Blanchard:
48930 * commands/configfile.c: New file.
48931 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48932 commands/configfile.c.
48933 (pkgdata_MODULES): Added configfile.mod.
48934 (configfile_mod_SOURCES): New variable.
48935 (configfile_mod_CFLAGS): Likewise.
48936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48937 commands/configfile.c.
48938 (pkgdata_MODULES): Added configfile.mod.
48939 (configfile_mod_SOURCES): New variable.
48940 (configfile_mod_CFLAGS): Likewise.
48941 * util/grub-emu.c (main): Call grub_configfile_init and
48942 grub_configfile_fini.
48943 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48944 prototype.
48945 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48946
cee01aa6 489472005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48948
48949 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48950 address.
48951
48952 * commands/help.c (grub_cmd_help): Do not print newlines after
48953 the last command in print_command_help.
48954
93f3a1d8 489552005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48956
48957 * commands/default.h: New file.
48958 * commands/timeout.h: Likewise.
48959 * normal/context.c: Likewise.
f19dbdb7 48960
93f3a1d8 48961 * util/misc.c: Do not include sys/times.h.
48962 Include sys/time.h and grub/machine/time.h.
48963 (grub_get_rtc): Rewritten with gettimeofday.
48964
48965 * util/grub-emu.c (main): Call grub_default_init and
48966 grub_timeout_init before grub_normal_init, and call
48967 grub_timeout_fini and grub_default_fini after grub_main.
48968
48969 * util/console.c (grub_ncurses_checkkey): Return the read
48970 character or -1.
48971
48972 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48973 timeouts.
48974
48975 * normal/main.c (read_config_file): Push MENU. If this fails,
48976 print an error and wait for a user input.
48977 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48978 If a menu is empty or an error occurs, pop MENU.
48979 (grub_normal_execute): Pop and free MENU after grub_menu_run
48980 returns.
48981
48982 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48983
48984 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48985 include time.h.
48986 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48987 without GRUB_UTIL.
48988 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48989 time.h.
48990 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48991 without GRUB_UTIL.
48992
48993 * include/grub/normal.h (struct grub_menu_list): New struct.
48994 (grub_menu_list_t): New type.
48995 (struct grub_context): New struct.
48996 (grub_context_t): New type.
48997 (grub_register_command): Got rid of EXPORT_FUNC.
48998 (grub_unregister_command): Likewise.
48999 (grub_context_get): New prototype.
49000 (grub_context_get_current_menu): Likewise.
49001 (grub_context_push_menu): Likewise.
49002 (grub_context_pop_menu): Likewise.
49003 [GRUB_UTIL] (grub_default_init): Likewise.
49004 [GRUB_UTIL] (grub_default_fini): Likewise.
49005 [GRUB_UTIL] (grub_timeout_init): Likewise.
49006 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49007
49008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49009 commands/timeout.c and normal/context.c.
49010 (pkgdata_MODULES): Added default.mod and timeout.mod.
49011 (normal_mod_SOURCES): Added normal/context.c.
49012 (default_mod_SOURCES): New variable.
49013 (default_mod_CFLAGS): Likewise.
49014 (timeout_mod_SOURCES): Likewise.
49015 (timeout_mod_CFLAGS): Likewise.
49016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49017 conf/i386-pc.rmk.
49018 (pkgdata_MODULES): Added default.mod and timeout.mod.
49019 (normal_mod_SOURCES): Added normal/context.c.
49020 (default_mod_SOURCES): New variable.
49021 (default_mod_CFLAGS): Likewise.
49022 (timeout_mod_SOURCES): Likewise.
49023 (timeout_mod_CFLAGS): Likewise.
49024
49025 * Makefile.in (all-local): Added $(MKFILES).
49026
4ed2e1dd 490272005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49028
49029 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49030 (grub_emu_SOURCES): Likewise.
49031 (pkgdata_MODULES): Add `sun.mod'.
49032 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49034 `partmap/sun.c'.
49035 (pkgdata_MODULES): Add `sun.mod'.
49036 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49037 * include/grub/partition.h (grub_sun_partition_map_init): New
49038 prototype.
49039 (grub_sun_partition_map_fini): Likewise.
49040 * partmap/sun.c: New file.
49041 * util/grub-emu.c (main): Initialize and de-initialize the sun
49042 partitionmap support.
49043
4d4e372e 490442005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49045
49046 This implements an Emacs-like menu entry editor.
f19dbdb7 49047
4d4e372e 49048 * normal/menu_entry.c: New file.
f19dbdb7 49049
4d4e372e 49050 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49051 characters to ASCII.
49052 (saved_char): New variable.
49053 (grub_ncurses_checkkey): Rewritten completely.
49054 (grub_ncurses_getkey): Likewise.
49055 (grub_ncurses_init): Call raw instead of cbreak.
49056
49057 * normal/menu.c (print_entry): Do not put a space.
49058 (init_page): Renamed to ...
49059 (grub_menu_init_page): ... this. All callers changed.
49060 (edit_menu_entry): Removed.
49061 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49062
49063 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49064
49065 * kern/misc.c (grub_vprintf): Call grub_refresh.
49066
49067 * normal/menu.c (DISP_LEFT): Renamed to ...
49068 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49069 * normal/menu.c (DISP_UP): Renamed to ...
49070 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49071 * normal/menu.c (DISP_RIGHT): Renamed to ...
49072 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49073 * normal/menu.c (DISP_DOWN): Renamed to ...
49074 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49075 * normal/menu.c (DISP_HLINE): Renamed to ...
49076 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49077 * normal/menu.c (DISP_VLINE): Renamed to ...
49078 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49079 * normal/menu.c (DISP_UL): Renamed to ...
49080 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49081 * normal/menu.c (DISP_UR): Renamed to ...
49082 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49083 * normal/menu.c (DISP_LL): Renamed to ...
49084 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49085 * normal/menu.c (DISP_LR): Renamed to ...
49086 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49087 * normal/menu.c (TERM_WIDTH): Renamed to ...
49088 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49089 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49090 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49091 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49092 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49093 * normal/menu.c (TERM_MARGIN): Renamed to ...
49094 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49095 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49096 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49097 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49098 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49099 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49100 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49101 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49102 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49103 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49104 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49105 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49106 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49107 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49108 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49109 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49110 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49111 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49112 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49113 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49114 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49115 All callers changed.
49116
49117 * include/grub/normal.h: New prototype.
49118
49119 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49120 normal/menu_entry.c.
49121 (normal_mod_SOURCES): Likewise.
49122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49123 (normal_mod_SOURCES): Likewise.
49124
e6b92c8a 491252005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49126
49127 * include/grub/normal.h (grub_halt_init): New prototype.
49128 (grub_halt_fini): Likewise.
49129 (grub_reboot_init): Likewise.
49130 (grub_reboot_fini): Likewise.
49131
49132 * util/grub-emu.c: Include signal.h.
49133 (main_env): New global variable.
49134 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49135 catch C-c.
49136 (grub_machine_fini): New function.
49137 (main): Call grub_halt_init and grub_reboot_init before
49138 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49139 Call setjmp with MAIN_ENV to go back afterwards.
49140 Call grub_machine_fini right before return.
49141
49142 * include/grub/util/misc.h: Include setjmp.h.
49143 (main_env): New prototype.
49144
49145 * include/grub/kernel.h (grub_machine_fini): New prototype.
49146 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49147 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49148
49149 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49150 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49151 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49152
e6b92c8a 49153 * util/i386/pc/misc.c: New file.
f19dbdb7 49154
e6b92c8a 49155 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49156 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49157 commands/i386/pc/reboot.c.
49158
c642636f 491592005-02-14 Guillem Jover <guillem@hadrons.org>
49160
49161 * include/grub/dl.h (grub_dl_check_header): New prototype.
49162 (grub_arch_dl_check_header): Change return type to grub_err_t,
49163 remove size parameter and export function. Update all callers.
49164 * kern/dl.c (grub_dl_check_header): New function.
49165 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49166 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49167 are inside the core.
49168 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49169 independent ELF header checks.
49170 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49171 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49172 `grub_dl_check_header' instead of explicit checks. Check for the
49173 ELF type.
49174 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49175 `grub_dl_check_header' instead of explicit checks. Remove arch
49176 specific ELF header checks.
49177
e6b92c8a 49178 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49179 argument SIZE.
49180
5eabe94b 491812005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49182
49183 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49184 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49185
1b14a681 491862005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49187
49188 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49189 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49190 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49191 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49192 * partmap/amiga.c (amiga_partition_map_iterate): Return
49193 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49194 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49195
aca108aa 491962005-02-01 Guillem Jover <guillem@hadrons.org>
49197
49198 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49199 help info.
49200
c9f9c556 492012005-01-31 Marco Gerards <metgerards@student.han.nl>
49202
49203 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49204 Removed prototype.
49205 (grub_rescue_cmd_linux): New prototype.
49206 (grub_rescue_cmd_initrd): Likewise.
49207 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49208 `bi_rec'.
49209 (grub_linux_release_mem): Release the memory for the initrd.
49210 (grub_load_linux): Renamed from this...
49211 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49212 Changed `entry' not to be static. Loop over memory regions to
49213 find another one when the default fails.
49214 (grub_rescue_cmd_initrd): New function.
49215 (grub_linux_init): Remove function.
49216 (grub_linux_fini): Likewise.
49217 (GRUB_MOD_INIT): Register `initrd'.
49218 (GRUB_MOD_FINI): Unregister `initrd'.
49219 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49220 Function removed.
49221 (grub_linux_normal_fini): Likewise.
49222 (GRUB_MOD_INIT): Register `initrd'.
49223 (GRUB_MOD_FINI): Unregister `initrd'.
49224
990cf3aa 492252005-01-31 Marco Gerards <metgerards@student.han.nl>
49226
49227 * commands/help.c: New file.
49228 * normal/arg.c (show_help): Renamed to...
49229 (grub_arg_show_help): ... this.
49230 * commands/i386/pc/halt.c: New file.
49231 * commands/i386/pc/reboot.c: Likewise.
49232 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49233 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49234 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49235 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49236 variables.
49237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49238 `commands/help.c'.
49239 (pkgdata_MODULES): Add `help.mod'.
49240 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49241 * grub/i386/pc/init.h (grub_reboot): New prototype.
49242 (grub_halt): Likewise.
49243 * include/grub/normal.h (grub_arg_show_help): New prototype.
49244 (grub_help_init): Likewise.
49245 (grub_help_fini): Likewise.
49246 * util/grub-emu.c (main): Initialize and deinitialize the help
49247 command.
49248
49249 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49250
49251 * normal/command.c (grub_command_init): Fixed the description of
49252 the `set' and `unset' commands.
49253
492542005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49255
49256 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49257 function.
49258 * commands/ieee1275/halt.c: New file.
49259 * commands/ieee1275/reboot.c: Likewise.
49260 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49261 `__attribute__ ((unused))'. Some GCS related fixed.
49262 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49263 (grub_suspend_fini): Likewise.
49264 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49265 and `halt.mod'.
49266 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49267 (halt_mod_CFLAGS): New variables.
49268 * include/grub/powerpc/ieee1275/ieee1275.h
49269 (grub_ieee1275_interpret): New prototype.
49270
1ab09cc7 492712005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49272
49273 * include/grub/misc.h (memmove): New prototype.
49274 (memcpy): Likewise.
49275
8b8cbdb2 492762005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49277
49278 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49279 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49280
e3741a27 492812005-01-22 Marco Gerards <metgerards@student.han.nl>
49282
49283 * kern/misc.c (grub_strndup): Function rewritten.
49284
776bd780 492852005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49286
49287 * normal/menu.c (TERM_WIDTH): Macro redefined.
49288 (TERM_TOP_BORDER_Y): Likewise.
49289 (draw_border): Replaced while-loop by a for-loop. Make the number
49290 of lines consistent with the number of lines displayed in
49291 print_entries. Added a margin below the rectangle.
49292 (print_entry): Make the entry fit in the rectangle.
49293 (print_entries): Display the scroll arrows next to the right
49294 border.
49295
78026bce 492962005-01-21 Marco Gerards <metgerards@student.han.nl>
49297
49298 * fs/minix.c (grub_minix_find_file): Reserve more space for
49299 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49300 `grub_strncpy' to copy `path' into it.
49301
67bbaf0f 493022005-01-21 Marco Gerards <metgerards@student.han.nl>
49303
49304 Add the loopback device, a device via which files can be accessed
49305 as devices.
f19dbdb7 49306
67bbaf0f 49307 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49308 (pkgdata_MODULES): Add loopback.mod.
49309 (loopback_mod_SOURCES): New variable.
49310 (loopback_mod_CFLAGS): Likewise.
49311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49312 `disk/loopback.c'.
49313 (pkgdata_MODULES): Add loopback.mod.
49314 (loopback_mod_SOURCES): New variable.
49315 (loopback_mod_CFLAGS): Likewise.
49316 * disk/loopback.c: new file.
49317 * include/grub/normal.h (grub_loop_init): New prototype.
49318 (grub_loop_fini): New prototype.
49319 * util/grub-emu.c (main): Initialize and de-initialize loopback
49320 support.
49321 * include/grub/disk.h (grub_disk_dev_id): Add
49322 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49323
6f1c18bd 493242005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49325
49326 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49327 function.
49328 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49329 (suspend_mod_SOURCES): New variable.
49330 (suspend_mod_CFLAGS): Likewise.
49331 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49332 New prototype.
49333 * commands/ieee1275/suspend.c: New file.
49334
b38551da 493352005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49336
49337 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49338 ((unused))' to `__attribute__ ((used))'.
b38551da 49339 (GRUB_MOD_FINI): Likewise.
49340 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49341 * genmk.rb (PModule): Assign space to common symbols when linking
49342 modules.
49343
777aff39 493442005-01-20 Marco Gerards <metgerards@student.han.nl>
49345
49346 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49347 `unsigned' arguments to `grub_size_t'.
49348 (grub_malloc): Likewise.
49349 (grub_realloc): Likewise.
49350 (grub_memalign): Likewise.
49351 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49352 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49353 * util/misc.c (grub_malloc): Likewise.
49354 (grub_realloc): Likewise.
49355 * kern/mm.c (get_header_from_pointer): Change the casts to
49356 `unsigned' into a cast to `grub_size_t'.
49357
49358 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49359 point to `currnode' when `currnode' is changed.
49360
49361 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49362 Schottelius <nico-linux@schottelius.org>.
49363
d0ff18e1 493642005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49365
49366 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49367 (note_path): Remove variable.
49368 (GRUB_IEEE1275_NOTE_NAME): New macro.
49369 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49370 (grub_ieee1275_note_hdr): New structure.
49371 (grub_ieee1275_note_desc): Likewise.
49372 (grub_ieee1275_note): Likewise.
49373 (load_note): Remove `dir' argument. All callers updated. Remove
49374 `note_img' and `path'. Do not load a file from `note_path'.
49375 Initialize a struct grub_ieee1275_note and write that to `out'.
49376 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49377
4ca7004c 493782005-01-05 Marco Gerards <metgerards@student.han.nl>
49379
49380 * util/misc.c (grub_util_read_image): Revert last change. It
49381 called `grub_util_read_at', which seeks from the beginning of the
49382 file.
49383
0b412211 493842005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49385
49386 * TODO: Add note about endianness in grub-mkimage.
49387 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49388 section.
49389 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49390 (grub_mkimage_SOURCES): New target.
49391 * include/grub/kernel.h (grub_start_addr): Remove variable.
49392 (grub_end_addr): Likewise.
49393 (grub_total_module_size): Likewise.
49394 (grub_kernel_image_size): Likewise.
49395 (GRUB_MODULE_MAGIC): New constant.
49396 (grub_module_info): New structure.
49397 (grub_arch_modules_addr): New prototype.
49398 (grub_get_end_addr): Remove prototype.
49399 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49400 * include/grub/powerpc/ieee1275/kernel.h: New file.
49401 * include/grub/util/misc.h (grub_util_get_fp_size): New
49402 prototype.
49403 (grub_util_read_at): Likewise.
49404 (grub_util_write_image_at): Likewise.
49405 * kern/main.c (grub_get_end_addr): Remove function.
49406 (grub_load_modules): Call grub_arch_modules_addr instead of using
49407 grub_end_addr. Look for a grub_module_info struct in memory. Use
49408 the grub_module_info fields instead of calling grub_get_end_addr
49409 as loop conditions. Move grub_add_unused_region code here.
49410 (grub_add_unused_region): Remove function.
49411 * kern/i386/pc/init.c: Include grub/cache.h.
49412 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49413 one call to add_mem_region.
49414 (grub_arch_modules_addr): New function.
49415 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49416 (grub_total_module_size): Likewise.
49417 Include grub/machine/kernel.h.
49418 (grub_arch_modules_addr): New function.
49419 * util/grub-emu.c (grub_end_addr): Remove variable.
49420 (grub_total_module_size): Likewise.
49421 (grub_arch_modules_addr): New function.
49422 * util/misc.c: Include unistd.h.
49423 (grub_util_get_fp_size): New function.
49424 (grub_util_read_at): Likewise.
49425 (grub_util_write_image_at): Likewise.
49426 (grub_util_read_image): Call grub_util_read_at.
49427 (grub_util_write_image): Call grub_util_write_image_at.
49428 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49429 additional memory in kernel_img for a struct grub_module_info.
49430 Fill in that grub_module_info.
49431 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49432
458786f8 494332005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49434
49435 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49436 New function.
49437 * include/grub/powerpc/ieee1275/ieee1275.h
49438 (grub_ieee1275_milliseconds): New prototype.
49439 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49440 Change to 1000.
49441 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49442 grub_ieee1275_milliseconds.
49443
ac507d1b 494442005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49445
49446 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49447 variable.
49448 (find_options): New function.
49449 (cmain): Call find_options.
49450 * include/grub/powerpc/ieee1275/ieee1275.h
49451 (grub_ieee1275_realmode): New extern variable.
49452 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49453 grub_map if grub_ieee1275_realmode is false.
49454
6b8fd1c4 494552004-12-29 Marco Gerards <metgerards@student.han.nl>
49456
49457 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49458 lines are inserted and make it work like readline. Reported by
49459 Vincent Pelletier <subdino2004@yahoo.fr>.
49460
8514a1e0 494612004-12-28 Marco Gerards <metgerards@student.han.nl>
49462
49463 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49464
49465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49466 `kern/powerpc/cache.S'.
49467
924b6140 494682004-12-27 Marco Gerards <metgerards@student.han.nl>
49469
49470 * genmk.rb: Handle the `Program' class in the main loop. Written
49471 by Johan Rydberg <jrydberg@gnu.org>.
49472 (Program): New class.
49473 (programs): New variable.
49474 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49475 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49476 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49477 (help_arch): Function removed.
49478 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49479 `powerpc/libgcc.h' and `loader.h'.
49480 (pkgdata_PROGRAMS): New variable.
49481 (sbin_UTILITIES): Variable removed.
49482 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49483 (grubof_SOURCES): Variable re-defined so it only includes the
49484 core functionality.
49485 (grubof_CFLAGS): Remove `-DGRUBOF'.
49486 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49487 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49488 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49489 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49490 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49491 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49492 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49493 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49494 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49495 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49496 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49497 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49498 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49499 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49500 (pc_mod_CFLAGS): New variables.
49501 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49502 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49503 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49504 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49505 Moved from here...
49506 * include/grub/i386/pc/init.h (grub_os_area_addr)
49507 (rub_os_area_size): ... to here.
49508 * include/grub/powerpc/ieee1275/ieee1275.h
49509 (grub_ieee1275_entry_fn): Export symbol.
49510 * include/grub/powerpc/ieee1275/init.h: New file.
49511 * include/grub/powerpc/libgcc.h: Likewise.
49512 * include/grub/cache.h: Likewise.
49513 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49514 <hollis@penguinppc.org>.
49515 * kern/dl.c: Include <grub/cache.h>.
49516 (grub_dl_flush_cache): New function.
49517 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49518 for this module.
49519 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49520 (grub_console_init): Removed prototypes.
49521 (grub_machine_init): Don't initialize the modules anymore.
49522 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49523 static.
49524 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49525 Macro undef removed.
49526 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49527 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49528 relocation `R_PPC_REL32'. Return an error when the relocation is
49529 unknown.
49530 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49531 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49532 * util/misc.c (grub_arch_sync_caches): Likewise.
49533
e4b47e0c 495342004-12-19 Marco Gerards <metgerards@student.han.nl>
49535
49536 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49537 `symlist.c', add `grubof_symlist.c'.
49538 (symlist.c): Variable removed.
49539 (grubof_HEADERS): Variable added.
49540 (grubof_symlist.c): New target.
49541 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49542 `kernel_img_HEADERS'.
49543 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49544 * kern/powerpc/dl.c: New file.
49545 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49546 Function removed.
49547 (grub_arch_dl_relocate_symbols): Likewise.
49548 (grub_register_exported_symbols): Likewise.
49549
4ceb3636 495502004-12-13 Marco Gerards <metgerards@student.han.nl>
49551
49552 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49553 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49554 to fail instead. Reported by Vincent Pelletier
49555 <subdino2004@yahoo.fr>.
49556
49557 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49558 it is not allocated. Reported by Vincent Pelletier
49559 <subdino2004@yahoo.fr>.
49560
49561 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49562 output so the output looks better.
f19dbdb7 49563
3f1578fe 495642004-12-04 Marco Gerards <metgerards@student.han.nl>
49565
49566 Modulize the partition map support and add support for the amiga
49567 partition map.
f19dbdb7 49568
3f1578fe 49569 * commands/ls.c: Include <grub/partition.h> instead of
49570 <grub/machine/partition.h>.
49571 * kern/disk.c: Likewise.
49572 * kern/rescue.c: Likewise.
49573 * loader/i386/pc/chainloader.c: Likewise.
49574 * normal/cmdline.c: Likewise.
49575 * kern/powerpc/ieee1275/init.c: Likewise.
49576 (grub_machine_init): Call `grub_pc_partition_map_init',
49577 `grub_amiga_partition_map_init' and
49578 `grub_apple_partition_map_init'.
49579 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49580 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49581 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49582 `partition.h' and `pc_partition.h'.
49583 (grub_setup_SOURCES): Remove
49584 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49585 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49586 (grub_emu_SOURCES): Likewise.
49587 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49588 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49589 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49591 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49592 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49593 (grubof_SOURCES): Likewise.
49594 * disk/i386/pc/partition.c: File removed.
49595 * disk/powerpc/ieee1275/partition.c: Likewise.
49596 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49597 * include/grub/i386/pc/partition.h: Likewise.
49598 * kern/partition.c: New file.
49599 * partmap/amiga.c: Likewise.
49600 * partmap/apple.c: Likewise.
49601 * partmap/pc.c: Likewise.
49602 * include/grub/partition.h: Likewise..
49603 * include/grub/pc_partition.h: Likewise.
49604 * util/grub-emu.c: Include <grub/partition.h> instead of
49605 <grub/machine/partition.h>.
49606 (main): Call `grub_pc_partition_map_init',
49607 `grub_amiga_partition_map_init' and
49608 `grub_apple_partition_map_init' and deinitialize afterwards.
49609 * util/i386/pc/biosdisk.c: Include `#include
49610 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49611 `<grub/machine/partition.h>'.
49612 * util/i386/pc/grub-setup.c: Likewise.
49613 * util/i386/pc/biosdisk.c: Likewise.
49614 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49615 partition information in case of a PC partition.
49616 * util/i386/pc/grub-setup.c: Include `#include
49617 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49618 `<grub/machine/partition.h>'.
49619 (setup): Only access the PC specific partition information in case
49620 of a PC partition.
49621
0ef4ced9 496222004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49623
0ef4ced9 49624 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49625 (grub_longjmp): Likewise.
49626 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49627 20.
49628 * normal/powerpc/setjmp.S: New file.
49629 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49630 `normal/powerpc/setjmp.S'.
49631 (grubof_CFLAGS): Add `-DGRUBOF'.
49632 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49633 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49634
19950e29 496352004-11-16 Marco Gerards <metgerards@student.han.nl>
49636
49637 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49638 property named `name'. Correctly handle the error returned by
49639 `grub_ieee1275_finddevice' if a device can not be opened.
49640
a2fea427 496412004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49642
49643 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49644 `actual' for negativity.
49645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49646 kern/fshelp.c.
49647
41ea0ea3 496482004-11-01 Marco Gerards <metgerards@student.han.nl>
49649
49650 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49651 (PAGE_OFFSET): New macro.
49652 (CRTC_ADDR_PORT): Likewise.
49653 (CRTC_DATA_PORT): Likewise.
49654 (START_ADDR_HIGH_REGISTER): Likewise.
49655 (START_ADDR_LOW_REGISTER): Likewise.
49656 (GRAPHICS_ADDR_PORT): Likewise.
49657 (GRAPHICS_DATA_PORT): Likewise.
49658 (READ_MAP_REGISTER): Likewise.
49659 (INPUT_STATUS1_REGISTER): Likewise.
49660 (INPUT_STATUS1_VERTR_BIT): Likewise.
49661 (page): New variable.
49662 (wait_vretrace): New function.
49663 (set_read_map): Likewise.
49664 (set_start_address): Likewise.
49665 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49666 the right page.
49667 (check_vga_mem): Take the page into account.
49668 (write_char): Likewise.
49669 (write_cursor): Likewise.
49670 (scroll_up): Likewise. Copy the page to the page that is not
49671 shown and switch between both pages.
49672 (grub_vga_putchar): Fix off by one error.
49673 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49674 account.
49675
ad0bd20b 496762004-11-01 Marco Gerards <metgerards@student.han.nl>
49677
49678 Add support for iso9660 (including rockridge).
f19dbdb7 49679
ad0bd20b 49680 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49681 (iso9660_mod_SOURCES): New variable.
49682 (iso9660_mod_CFLAGS): Likewise.
49683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49684 * include/grub/fs.h (grub_iso9660_init): New prototype.
49685 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49686 * fs/iso9660.c: New file.
49687
49688 * include/grub/misc.h (grub_strncat): New prototype.
49689 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49690
ad0bd20b 49691 * fs/hfs.c (grub_hfs_mount): Translate the error
49692 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49693 * fs/jfs.c (grub_jfs_mount): Likewise.
49694 * fs/ufs.c (grub_ufs_mount): Likewise.
49695
a5477a59 496962004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49697
49698 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49699 which initialized BAT registers.
49700 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49701 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49702 Move from here...
49703 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49704 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49705 ... to here.
49706 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49707 (grub_mapclaim): Likewise.
49708 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49709 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49710 hand.
49711
9304c1f8 497122004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49713
49714 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49715 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49716 -ffreestanding and -msoft-float.
49717
86f4ae25 497182004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49719
49720 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49721 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49722 set in grub_ieee1275_flags.
49723
38912228 497242004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49725
49726 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49727 prototype.
49728 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49729 grub_console_init first.
49730 Change the memory range used for grub_ieee1275_claim and
49731 grub_mm_init_region.
49732 Print an error message if the claim fails.
49733 Include <grub/misc.h>.
49734
d1923dc8 497352004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49736
49737 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49738 Call grub_children_iterate for device nodes of type `scsi',
49739 `ide', or `ata'.
49740 (grub_ofdisk_open): Remove manual device alias resolution.
49741 Fix memory leak when device cannot be opened.
f19dbdb7 49742 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49743 (grub_children_iterate): New prototype.
49744 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49745 New function.
49746 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49747 Return -1 if args.size was -1.
49748
4512e4f3 497492004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49750
49751 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49752 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49753 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49754 Open Firmware's memory for it; claim memory from _start to _end.
49755 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49756 (_end): New extern.
49757 (_start): Zero BSS from __bss_start to _end.
49758 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49759 New extern.
49760 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49761
4d61feb0 497622004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49763
ad0bd20b 49764 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49765 -1 if args.base was -1.
4d61feb0 49766
026fa2f9 497672004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49768
49769 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49770 escape sequence instead of a literal ^L. Also call
49771 grub_ofconsole_gotoxy.
49772
9f2220ef 497732004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49774
49775 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49776 void * arguments to grub_addr_t. All callers updated. Also make
49777 the `result' argument optional.
49778 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49779 All callers updated.
49780
8a572cd7 497812004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49782
49783 * commands/ls.c (grub_ls_list_files): Use the string following the
49784 initial ')', if present, as the filesystem path.
49785 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49786
49787 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49788
18aa81f2 497892004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49790
49791 Make the source code of the menu interface more readable.
f19dbdb7 49792
18aa81f2 49793 * normal/menu.c: Include grub/mm.h.
49794 (TERM_WIDTH): New macro.
49795 (TERM_HEIGHT): Likewise.
49796 (TERM_INFO_HEIGHT): Likewise.
49797 (TERM_MARGIN): Likewise.
49798 (TERM_SCROLL_WIDTH): Likewise.
49799 (TERM_TOP_BORDER_Y): Likewise.
49800 (TERM_LEFT_BORDER_X): Likewise.
49801 (TERM_BORDER_WIDTH): Likewise.
49802 (TERM_MESSAGE_HEIGHT): Likewise.
49803 (TERM_BORDER_HEIGHT): Likewise.
49804 (TERM_NUM_ENTRIES): Likewise.
49805 (TERM_FIRST_ENTRY_Y): Likewise.
49806 (TERM_ENTRY_WIDTH): Likewise.
49807 (TERM_CURSOR_X): Likewise.
49808 (draw_border): Use macros instead of magic numbers.
49809 (print_entry): Likewise.
49810 (print_entries): Likewise.
49811 (run_menu): Likewise. Also, handle the key 'e'.
49812 (run_menu_entry): Ignore empty command lines.
49813 (print_message): Added a new argument EDIT. If EDIT is true,
49814 print a different message.
49815 (init_page): Likewise.
49816 (edit_menu_entry): New function. Not implemented yet.
49817
b47efe30 498182004-09-17 Marco Gerards <metgerards@student.han.nl>
49819
49820 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49821 can be loaded from normal mode.
f19dbdb7 49822
b47efe30 49823 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49824 `multiboot.mod'.
49825 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49826 (multiboot_mod_CFLAGS): New variables.
49827 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49828 * loader/i386/pc/multiboot_normal.c: Likewise.
49829
b47efe30 49830 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49831 attribute `unused'.
f19dbdb7 49832
b47efe30 49833 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49834 `fdiro' to read the mode information from instead of `diro'.
49835
49836 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49837 looking up a symlink.
49838
49839 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49840 macro.
49841 * normal/command.c (grub_command_execute): Don't parse the
49842 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49843 flags of the command.
49844
49845 * normal/menu.c (grub_menu_run): Fix typo.
49846
da75ac71 498472004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49848
49849 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49850
49851 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49852 `y + 1' instead of `y - 1'.
49853
49854 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49855
062b24c2 498562004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49857
49858 From Hollis Blanchard <hollis@penguinppc.org>:
49859 * kern/misc.c (memmove): New alias for grub_memmove.
49860 (memcmp): New alias for grub_memcmp.
49861 (memset): New alias for grub_memset.
f19dbdb7 49862 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49863 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49864 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49865 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49866
8ddad845 498672004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49868
49869 Added normal mode command `chainloader' as module chain.mod, which
49870 depends on normal.mod and _chain.mod.
f19dbdb7 49871
8ddad845 49872 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49873 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49874 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49875 Deleted prototype.
49876 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49877 but arguments parsing moved to ...
49878 (grub_chainloader_cmd): ... here. New function.
49879 * include/grub/i386/pc/chainloader.h: New file.
49880 * loader/i386/pc/chainloader_normal.c: Likewise.
49881
2c1f4ce3 498822004-09-11 Marco Gerards <metgerards@student.han.nl>
49883
49884 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49885 (grub_mkimage_LDFLAGS): Likewise.
49886 (grub_emu_SOURCES): Likewise.
49887 (kernel_img_HEADERS): Added fshelp.h.
49888 * fs/ext2.c: Include <grub/fshelp.h>.
49889 (FILETYPE_REG): New macro.
49890 (FILETYPE_INO_REG): Likewise.
49891 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49892 Changed all users.
49893 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49894 all users.
49895 (grub_fshelp_node): New struct.
49896 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49897 to a pointer.
49898 (grub_ext2_get_file_block): Removed function.
49899 (grub_ext2_read_block): New function.
49900 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49901 This function was written.
49902 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49903 (grub_ext2_find_file): Removed function.
49904 (grub_ext2_read_symlink): New function.
49905 (grub_ext2_iterate_dir): Likewise.
49906 (grub_ext2_open): Rewritten.
49907 (grub_ext2_dir): Rewritten.
49908 * include/grub/fshelp.h: New file.
49909 * fs/fshelp.c: Likewise.
49910
3c52136a 499112004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49912
49913 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49914 (print_message): Add a missing newline.
49915 (run_menu): Added timeout support.
49916 (run_menu_entry): New local function.
49917 (grub_menu_run): Added support for booting.
49918
49919 * kern/loader.c (grub_loader_is_loaded): New function.
49920
49921 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49922 (grub_get_rtc): Exported.
49923
49924 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49925 (grub_get_rtc): Exported.
49926
49927 * include/grub/normal.h (struct grub_command_list): Remove
49928 constant from the member `command'.
49929
49930 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49931
49932 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49933
49934 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49935
aa033560 499362004-08-28 Marco Gerards <metgerards@student.han.nl>
49937
49938 Add support for the JFS filesystem.
49939
49940 * fs/jfs.c: New file.
49941 * include/grub/fs.h (grub_jfs_init): New prototype.
49942 (grub_jfs_fini): New prototype.
49943 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49944 (grub_emu_SOURCES): Likewise.
49945 (pkgdata_MODULES): Add jfs.mod.
49946 (jfs_mod_SOURCES): New variable.
49947 (jfs_mod_CFLAGS): Likewise.
49948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49949 (grubof_SOURCES): Likewise.
49950 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49951
49952 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49953 endian to the host endian.
49954 (grub_fat_utf16_to_utf8): Move function from there...
49955 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49956 the endianness of the source string anymore.
aa033560 49957 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49958
94bc45af 499592004-08-24 Marco Gerards <metgerards@student.han.nl>
49960
49961 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49962 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49963 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49964 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49965
94bc45af 49966 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49967 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49968 for `node_found' and `it_dir'.
49969 (grub_hfs_dir): Add prototype for `dir_hook'.
49970
49971 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49972 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49973 and `indir32' to silence a gcc warning.
49974
49975 * include/grub/fs.h (grub_hfs_init): New prototype.
49976 (grub_hfs_fini): Likewise.
f19dbdb7 49977
49978
97543f08 499792004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49980
49981 Each disk device has its own id now. This is useful to make use
49982 of multiple disk devices.
f19dbdb7 49983
97543f08 49984 * include/grub/disk.h (grub_disk_dev_id): New enum.
49985 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49986 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49987
49988 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49989 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49990
49991 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49992 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49993
49994 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49995 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49996
49997 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49998 "id" which is used by the cache manager.
49999
50000 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50001 of just "GRUB".
50002
64372eb4 500032004-08-18 Marco Gerards <metgerards@student.han.nl>
50004
50005 * fs/hfs.c: New file.
50006 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50007 (grub_emu_SOURCES): Likewise.
50008 (pkgdata_MODULES): Add hfs.mod.
50009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50010 (grubof_SOURCES): Likewise.
50011 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50012
50013 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50014 * kern/misc.c (grub_strncasecmp): Add function.
50015
cc61b58f 500162004-08-14 Marco Gerards <metgerards@student.han.nl>
50017
50018 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50019 with parentheses.
50020
50021 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50022 (grub_ext2_dir): In case the directory entry type is unknown, read
50023 it from the inode.
50024
0ef123f6 500252004-08-02 Peter Bruin <pjbruin@dds.nl>
50026
50027 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50028 grub_load_linux instead of grub_rescue_cmd_linux as second
50029 argument of grub_rescue_register_command.
50030
50031 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50032
a447c5df 500332004-07-27 Marco Gerards <metgerards@student.han.nl>
50034
50035 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50036 function.
50037 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50038 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50039 `loader/powerpc/ieee1275/linux.c',
50040 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50041 * include/grub/powerpc/ieee1275/ieee1275.h
50042 (grub_ieee1275_release): New prototype.
50043 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50044 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50045 normal, boot, linux and linux_normal.
50046 * loader/powerpc/ieee1275/linux.c: New file.
50047 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50048
5a9e3546 500492004-07-12 Marco Gerards <metgerards@student.han.nl>
50050
50051 * normal/arg.c (grub_arg_parse): Correct error handling after
50052 reallocating the argumentlist (check if `argl' is not null instead
50053 of checking if `args' is not null).
50054 * kern/mm.c (grub_realloc): Return the same pointer when using the
50055 same region, instead of returning the header address.
50056
e15199cb 500572004-07-11 Marco Gerards <metgerards@student.han.nl>
50058
50059 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50060 one block instead of two when looking for the initial partition.
50061 (grub_partition_probe): Initialize the local variable `p' with 0.
50062 Use base 10 for the grub_strtoul call.
50063 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50064 need for one local variable.
50065 (grub_strtoul): Don't add the new value to `num', instead of that
50066 just assign it.
50067
020616c2 500682004-07-11 Marco Gerards <metgerards@student.han.nl>
50069
50070 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50071 (pxeboot_img_SOURCES): New variable.
50072 (pxeboot_img_ASFLAGS): Likewise.
50073 (pxeboot_img_LDFLAGS): Likewise.
50074 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50075 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50076 <lode_leroy@hotmail.com>.
50077
6c51eb64 500782004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50079
50080 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50081 there was no input.
50082
cfb12aff 500832004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50084
50085 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50086 the history buffer logic.
50087
6eabba74 500882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50089
50090 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50091 (FILETYPE_INO_SYMLINK): New macros.
50092 (grub_ext2_find_file): Check if the node is a directory using the
50093 inode stat information instead of using the filetype in the
50094 dirent. Exclude the first character of an absolute symlink.
50095 (grub_ext2_dir): Mask out the filetype part of the mode member of
50096 the inode.
50097
66e19ef8 500982004-05-24 Marco Gerards <metgerards@student.han.nl>
50099
50100 Add support for UFS version 1 and 2. Add support for the minix
50101 filesystem version 1 and 2, both the variants with 14 and 30 long
50102 filenames.
f19dbdb7 50103
66e19ef8 50104 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50105 fs/minix.c.
50106 (grub_emu_SOURCES): Likewise.
50107 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50108 (ufs_mod_SOURCES): New variable.
50109 (ufs_mod_CFLAGS): Likewise.
50110 (minix_mod_SOURCES): Likewise.
50111 (minix_mod_CFLAGS): Likewise.
50112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50113 fs/minix.c.
50114 (grubof_SOURCES): Likewise.
50115 * fs/ufs.c: New file.
50116 * fs/minix.c: New file.
50117 * include/grub/fs.h (grub_ufs_init): New prototype.
50118 (grub_ufs_fini): Likewise.
50119 (grub_minix_init): Likewise.
50120 (grub_minix_fini): Likewise.
50121 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50122 minix fs.
50123
cc2e748a 501242004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50125
50126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50127 commands/ls.c, commands/terminal.c, commands/boot.c,
50128 commands/cmp.c and commands/cat.c.
50129 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50130
50131 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50132 "env.h"
50133
4b13b216 501342004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50135
50136 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50137 and grub_, respectively. Because the conversion is trivial and
50138 mechanical, I omit the details here. Please refer to the CVS
50139 if you need more information.
50140
6a142551 501412004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50142
50143 * include/pupa: Renamed to ...
50144 * include/grub: ... this.
50145 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50146 * util/i386/pc/grub-mkimage.c: ... this.
50147 * util/i386/pc/pupa-setup.c: Renamed to ...
50148 * util/i386/pc/grub-setup.c: ... this.
50149 * util/pupa-emu.c: Renamed to ...
50150 * util/grub-emu.c: ... this.
50151
e56cdf21 501522004-03-29 Marco Gerards <metgerards@student.han.nl>
50153
50154 Add support for the newworld apple macintosh (PPC). This has been
50155 tested on the powerbook 2000 only. It only adds support for
50156 generic ieee1275 functions, console and disk support. This should
50157 be easy to port to other architectures with support for Open
50158 Firmware.
f19dbdb7 50159
e56cdf21 50160 * configure.ac: Accept the powerpc as host_cpu. In the case of
50161 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50162 specific tests are only executed while building for the i386.
50163 Inverse test for crosscompile.
50164 * genmk.rb (Utility): Allow assembler files.
50165 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50166 * conf/powerpc-ieee1275.rmk: New file.
50167 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50168 * disk/powerpc/ieee1275/partition.c: Likewise.
50169 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50170 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50171 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50172 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50173 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50174 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50175 * include/pupa/powerpc/ieee1275/loader.h
50176 * include/pupa/powerpc/setjmp.h: Likewise.
50177 * include/pupa/powerpc/types.h: Likewise.
50178 * kern/powerpc/ieee1275/init.c: Likewise.
50179 * kern/powerpc/ieee1275/openfw.c: Likewise.
50180 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50181
50182 These files were written by Johan Rydberg
50183 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50184
e56cdf21 50185 * boot/powerpc/ieee1275/cmain.c: New file.
50186 * boot/powerpc/ieee1275/crt0.S: Likewise.
50187 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50188 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50189
8c8cc205 501902004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50191
50192 * Makefile.in: Update copyright.
50193 * genmodsrc.sh: Likewise.
50194 * gensymlist.sh: Likewise.
50195 * term/i386/pc/vga.c: Indent correctly.
50196
50197 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50198 bugreporting address.
50199 * util/i386/pc/pupa-setup.c (usage): Likewise,
50200 (main): Call pupa_ext2_init and pupa_ext2_fini.
50201
f19dbdb7 50202 * fs/fat.c (log2): Renamed to ...
8c8cc205 50203 (fat_log2): ... this.
50204 All callers changed.
50205 * kern/misc.c (memcpy): Alias to pupa_memmove.
50206 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50207 lvalue cast.
50208 * util/console.c (pupa_ncurses_fini): Return 0.
50209
50210 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50211 Move fail label here.
50212 [__GNU__]: Don't warn when using stat.
50213 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50214 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50215 long int. Use strtol instead of strtoul.
f19dbdb7 50216
db1771cf 502172004-03-14 Marco Gerards <metgerards@student.han.nl>
50218
50219 * commands/boot.c: New file.
50220 * commands/cat.c: Likewise.
50221 * commands/cmp.c: Likewise.
50222 * commands/ls.c: Likewise.
50223 * commands/terminal.c: Likewise.
50224 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50225 (pupa_register_command): Changed interface to match the new
50226 argument parser.
50227 (pupa_command_execute): Changed (almost rewritten) so it uses
50228 pupa_split_command. Added support for setting variables using the
50229 syntax `foo=bar'.
50230 (rescue_command): Changed to work with the new argument parser.
50231 (terminal_command): Moved from here to commands/terminal.c.
50232 (set_command): New function.
50233 (unset_command): New function.
50234 (insmod_command): New function.
50235 (rmmod_command): New function.
50236 (lsmod_command): New function.
50237 (pupa_command_init): Don't initialize the command terminal
50238 anymore. Initialize the commands set, unset, insmod, rmmod and
50239 lsmod.
50240 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50241 (kernel_img_HEADERS): Add arg.h and env.h.
50242 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50243 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50244 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50245 normal/arg.c.
50246 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50247 terminal.mod.
50248 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50249 (boot_mod_SOURCES): New variable.
50250 (terminal_mod_SOURCES): Likewise.
50251 (ls_mod_SOURCES): Likewise.
50252 (cmp_mod_SOURCES): Likewise.
50253 (cat_mod_SOURCES): Likewise.
50254
50255 * normal/arg.c: New file.
50256 * kern/env.c: Likewise.
50257 * include/pupa/arg.h: Likewise.
50258 * include/pupa/env.h: Likewise.
50259 * font/manager.c (font_command): Changed to match argument parsing
50260 interface changes.
50261 (PUPA_MOD_INIT): Likewise.
50262 * hello/hello.c (pupa_cmd_hello): Likewise.
50263 (PUPA_MOD_INIT): Likewise.
50264 * include/pupa/disk.h: Include <pupa/device.h>.
50265 (pupa_print_partinfo): New prototype.
50266 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50267 (pupa_dl_get_prefix): Likewise.
50268 * include/pupa/misc.h: Include <pupa/err.h>.
50269 (pupa_isgraph): New prototype.
50270 (pupa_isdigit): Likewise.
50271 (pupa_split_cmdline): Likewise.
50272 * include/pupa/normal.h: Include <pupa/arg.h>.
50273 (pupa_command): Changed the prototype of the member `func' to
50274 match the argument parsing interface. Added member `options'.
50275 (pupa_register_command): Updated to match function.
50276 (pupa_arg_parse): New prototype.
50277 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50278 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50279 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50280 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50281 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50282 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50283 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50284 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50285 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50286 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50287 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50288 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50289 * kern/disk.c: Include <pupa/file.h>.
50290 (pupa_print_partinfo): New function.
50291 * kern/dl.c: Include <pupa/env.h>.
50292 (pupa_dl_dir): Variable removed.
50293 (pupa_dl_load): Use the environment variable `prefix' instead of
50294 the variable pupa_dl_dir.
50295 (pupa_dl_set_prefix): Function removed.
50296 (pupa_dl_get_prefix): Likewise.
50297 * kern/i386/pc/init.c: Include <pupa/env.h>.
50298 (pupa_machine_init): Use the environment variable `prefix' instead of
50299 using pupa_dl_set_prefix to set the prefix.
50300 * kern/main.c: Include <pupa/env.h>.
50301 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50302 using pupa_dl_get_prefix to get the prefix.
50303 * kern/misc.c: Include <pupa/env.h>.
50304 (pupa_isdigit): New function.
50305 (pupa_isgraph): Likewise.
50306 (pupa_ftoa): Likewise.
50307 (pupa_vsprintf): Added support for printing values of the type
50308 `double'. Make it possible to format variable output when using
50309 formatting like `%1.2%f'.
50310 (pupa_split_cmdline): New function.
50311 * kern/rescue.c: Include <pupa/env.h>.
50312 (next_word): Removed function.
50313 (pupa_rescue_cmd_prefix): Likewise.
50314 (pupa_rescue_cmd_set): New function.
50315 (pupa_rescue_cmd_unset): New function.
50316 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50317 split the command line instead of splitting it here. Added
50318 support for setting variables using the syntax `foo=bar'. Don't
50319 initialize the prefix command anymore. Initialized the set and
50320 unset commands.
50321 * normal/cmdline.c: Include <pupa/env.h>.
50322 (pupa_tab_complete): Added prototypes for print_simple_completion,
50323 print_partition_completion, add_completion, iterate_commands,
50324 iterate_dev, iterate_part and iterate_dir. Moved code to print
50325 partition information from here to kern/disk.c.
fe6b695a 50326 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50327 * normal/main.c: Include <pupa/env.h>.
50328 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50329 instead of using pupa_dl_get_prefix to get the prefix.
50330 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50331 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50332 warning.
50333 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50334 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50335 ((unused))' to silence a gcc warning.
50336 (pupa_vga_setcolor): Likewise.
50337 (debug_command): Changed to match argument parsing
50338 interface changes.
50339 * util/pupa-emu.c: Include <pupa/env.h>.
50340 (options): Added 0's for unused fields to silence a gcc warning.
50341 (argp): Likewise.
50342 (main): Use the environment variable `prefix' instead of using
50343 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50344 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50345 and terminal.
50346
50347 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50348 * util/misc.c: Include <malloc.h>.
50349 (pupa_malloc): Rewritten so errors are correctly reported.
50350 (pupa_realloc): Likewise.
50351 (pupa_memalign): Likewise.
50352 (pupa_mm_init_region): Declare unused variables with
50353 `__attribute__ ((unused))' to silence a gcc warning.
50354 * normal/i386/setjmp.S: Remove tab at the end of the file to
50355 silence a gcc warning.
50356 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50357 variables with `__attribute__ ((unused))' to silence a gcc
50358 warning.
50359 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50360 local variable i unsigned to silence a gcc warning.
50361
50362 * kern/term.c: Include <pupa/misc.h>.
50363 (pupa_more_lines): New variable.
50364 (pupa_more): Likewise.
50365 (pupa_putcode): When the pager is active pause at the end of every
50366 screen.
50367 (pupa_set_more): New function.
50368 * include/pupa/term.h (pupa_set_more): New prototype.
50369
50370
3b1139cb 503712004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50372
50373 Now this project is GRUB 2 rather than PUPA. The location of
50374 the CVS repository was moved to GRUB's.
f19dbdb7 50375
3b1139cb 50376 * configure.ac: Use bug-grub as the reporting address.
50377 Use GRUB instead of PUPA.
50378 Change the version number to 1.90.
50379
8367695c 503802004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50381
50382 * genkernsyms.sh: Updated copyright information.
50383 * genmk.rb: Likewise.
50384 * genmodsrc.sh: Likewise.
50385 * gensymlist.sh: Likewise.
50386 * boot/i386/pc/boot.S: Likewise.
50387 * boot/i386/pc/diskboot.S: Likewise.
50388 * disk/i386/pc/biosdisk.c: Likewise.
50389 * disk/i386/pc/partition.c: Likewise.
50390 * font/manager.c: Likewise.
50391 * fs/ext2.c: Likewise.
50392 * fs/fat.c: Likewise.
50393 * include/pupa/boot.h: Likewise.
50394 * include/pupa/device.h: Likewise.
50395 * include/pupa/disk.h: Likewise.
50396 * include/pupa/dl.h: Likewise.
50397 * include/pupa/elf.h: Likewise.
50398 * include/pupa/err.h: Likewise.
50399 * include/pupa/file.h: Likewise.
50400 * include/pupa/font.h: Likewise.
50401 * include/pupa/fs.h: Likewise.
50402 * include/pupa/kernel.h: Likewise.
50403 * include/pupa/loader.h: Likewise.
50404 * include/pupa/misc.h: Likewise.
50405 * include/pupa/mm.h: Likewise.
50406 * include/pupa/net.h: Likewise.
50407 * include/pupa/normal.h: Likewise.
50408 * include/pupa/rescue.h: Likewise.
50409 * include/pupa/setjmp.h: Likewise.
50410 * include/pupa/symbol.h: Likewise.
50411 * include/pupa/term.h: Likewise.
50412 * include/pupa/types.h: Likewise.
50413 * include/pupa/i386/setjmp.h: Likewise.
50414 * include/pupa/i386/types.h: Likewise.
50415 * include/pupa/i386/pc/biosdisk.h: Likewise.
50416 * include/pupa/i386/pc/boot.h: Likewise.
50417 * include/pupa/i386/pc/console.h: Likewise.
50418 * include/pupa/i386/pc/init.h: Likewise.
50419 * include/pupa/i386/pc/kernel.h: Likewise.
50420 * include/pupa/i386/pc/linux.h: Likewise.
50421 * include/pupa/i386/pc/loader.h: Likewise.
50422 * include/pupa/i386/pc/memory.h: Likewise.
50423 * include/pupa/i386/pc/multiboot.h: Likewise.
50424 * include/pupa/i386/pc/partition.h: Likewise.
50425 * include/pupa/i386/pc/time.h: Likewise.
50426 * include/pupa/i386/pc/vga.h: Likewise.
50427 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50428 * include/pupa/util/getroot.h: Likewise.
50429 * include/pupa/util/misc.h: Likewise.
50430 * include/pupa/util/resolve.h: Likewise.
50431 * kern/device.c: Likewise.
50432 * kern/disk.c: Likewise.
50433 * kern/dl.c: Likewise.
50434 * kern/err.c: Likewise.
50435 * kern/file.c: Likewise.
50436 * kern/fs.c: Likewise.
50437 * kern/loader.c: Likewise.
50438 * kern/main.c: Likewise.
50439 * kern/misc.c: Likewise.
50440 * kern/mm.c: Likewise.
50441 * kern/rescue.c: Likewise.
50442 * kern/term.c: Likewise.
50443 * kern/i386/dl.c: Likewise.
50444 * kern/i386/pc/init.c: Likewise.
50445 * kern/i386/pc/lzo1x.S: Likewise.
50446 * kern/i386/pc/startup.S: Likewise.
50447 * loader/i386/pc/chainloader.c: Likewise.
50448 * loader/i386/pc/linux.c: Likewise.
50449 * loader/i386/pc/multiboot.c: Likewise.
50450 * normal/cmdline.c: Likewise.
50451 * normal/command.c: Likewise.
50452 * normal/main.c: Likewise.
50453 * normal/menu.c: Likewise.
50454 * normal/i386/setjmp.S: Likewise.
50455 * term/i386/pc/console.c: Likewise.
50456 * term/i386/pc/vga.c: Likewise.
50457 * util/console.c: Likewise.
50458 * util/genmoddep.c: Likewise.
50459 * util/misc.c: Likewise.
50460 * util/pupa-emu.c: Likewise.
50461 * util/resolve.c: Likewise.
50462 * util/unifont2pff.rb: Likewise.
50463 * util/i386/pc/biosdisk.c: Likewise.
50464 * util/i386/pc/getroot.c: Likewise.
50465 * util/i386/pc/pupa-mkimage.c: Likewise.
50466 * util/i386/pc/pupa-setup.c: Likewise.
50467
e6eced71 504682004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50469
50470 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50471 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50472 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50473 reading and reset it after reading.
50474 (pupa_ext2_close): Return PUPA_ERR_NONE.
50475
50476 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50477 Correct value.
50478 (struct linux_kernel_header): Add kernel_version and
50479 initrd_addr_max.
50480 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50481 pupa_file_read succeeds.
50482 (pupa_rescue_cmd_initrd): Implement.
50483
5aded270 504842003-12-03 Marco Gerards <metgerards@student.han.nl>
50485
50486 * fs/ext2.c (pupa_ext2_label): New function.
50487 (pupa_ext2_fs): Added label.
50488 * fs/fat.c (pupa_fat_label): New function.
50489 (pupa_fat_fs): Added label.
50490 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50491
50492 * kern/misc.c (pupa_strndup): New function.
50493 * include/pupa/misc.h (pupa_strndup): New prototype.
50494
50495 * include/pupa/normal.h: Include <pupa/err.h>.
50496 (pupa_set_history): New prototype.
50497 (pupa_iterate_commands): New prototype.
50498 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50499 <pupa/disk.h>, <pupa/file.h>.
50500 (hist_size): New variable.
50501 (hist_lines): Likewise.
50502 (hist_end): Likewise.
50503 (hist_used): Likewise.
50504 (pupa_set_history): New function.
50505 (pupa_history_get): Likewise.
50506 (pupa_history_add): Likewise.
50507 (pupa_history_replace): Likewise.
50508 (pupa_tab_complete): Likewise.
50509 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50510 completion shows partitionnames while completing partitions, this
50511 feature was suggested by Jeff Bailey.
50512 * normal/command.c (pupa_iterate_commands): New function.
50513 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50514 (pupa_normal_init): Initialize history buffer.
50515 (PUPA_MOD_INIT): Likewise.
50516 (pupa_normal_fini): Free the history buffer.
50517 (PUPA_MOD_FINI): Likewise.
50518
50519 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50520 key.
50521
50522 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50523 * configure.ac [i386]: Check for regparam bug.
50524 (NESTED_FUNC_ATTR) [! i386]: Defined.
50525
1f7315a3 505262003-11-17 Marco Gerards <metgerards@student.han.nl>
50527
50528 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50529 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50530 (pupa_emu_SOURCES): New variable.
50531 (pupa_emu_LDFLAGS): Likewise.
50532 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50533 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50534 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50535 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50536 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50537 (pupa_jmp_buf): New typedef.
50538 (pupa_setjmp) [PUPA_UTIL]: New macro.
50539 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50540 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50541 (pupa_refresh): New prototype.
50542 * include/pupa/util/getroot.h: New file.
50543 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50544 it.
50545 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50546 (pupa_rescue_cmd_cat): Likewise.
50547 (pupa_rescue_cmd_ls): Likewise.
50548 (pupa_rescue_cmd_testload): Likewise.
50549 (pupa_rescue_cmd_lsmod): Likewise.
50550 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50551 * normal/menu.c (run_menu): Likewise.
50552 * kern/term.c (pupa_cls): Likewise.
50553 (pupa_refresh): New function.
50554 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50555 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50556 * util/console.c: New file.
f19dbdb7 50557
1f7315a3 50558 * util/i386/pc/getroot.c: New file.
50559 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50560 (pupa_putchar): New function.
50561 (pupa_refresh): Likewise.
50562 (xgetcwd): Function moved to ...
50563 (strip_extra_slashes): Likewise.
50564 (get_prefix): Likewise.
f19dbdb7 50565 * util/i386/pc/getroot.c: ... here.
1f7315a3 50566 (find_root_device): Function moved and renamed to...
50567 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50568 Changed all callers.
50569 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50570 and renamed to...
50571 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50572 Changed all callers.
50573 * util/misc.c (pupa_memalign): New function.
50574 (pupa_mm_init_region): Likewise.
50575 (pupa_register_exported_symbols): Likewise.
50576 (pupa_putchar): Function removed.
50577 * util/pupa-emu.c: New file.
50578
9a5c1ade 505792003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50580
50581 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50582 (_multiboot_mod_SOURCES): New variable.
50583 (_multiboot_mod_CFLAGS): Likewise.
50584 * loader/i386/pc/multiboot.c: New file.
50585 * include/pupa/i386/pc/multiboot.h: Likewise.
50586 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50587 (pupa_multiboot_real_boot): New function.
50588 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50589 (pupa_multiboot_real_boot): New prototype.
50590 (pupa_rescue_cmd_multiboot): Likewise
50591 (pupa_rescue_cmd_module): Likewise.
50592
50593 * kern/loader.c (pupa_loader_set): Continue when
50594 pupa_loader_unload_func() fails.
50595 (pupa_loader_unset): New function.
50596 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50597
50598 * kern/misc.c (pupa_stpcpy): New function.
50599 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50600
8e72a9c0 506012003-11-12 Marco Gerards <metgerards@student.han.nl>
50602
50603 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50604 for available extensions.
50605
50606 * include/pupa/i386/pc/time.h: New file.
50607 * kern/disk.c: Include <pupa/machine/time.h>.
50608 (PUPA_CACHE_TIMEOUT): New macro.
50609 (pupa_last_time): New variable.
50610 (pupa_disk_open): Flush the cache when there was a timeout.
50611 (pupa_disk_close): Reset the timer.
50612 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50613 pupa_currticks.
50614 * util/misc.c: Include <sys/times.h>
50615 (pupa_get_rtc): New function.
50616
c4adbd32 506172003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50618
50619 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50620 as blocks.
50621 (pupa_ext2_get_file_block): Use blocks member.
50622
50623 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50624 first block. Return -1 instead of pupa_errno on error.
50625
bfd30f06 506262003-10-27 Marco Gerards <metgerards@student.han.nl>
50627
50628 * README: In the pupa-mkimage example use _chain instead of chain
50629 and ext2 instead of fat.
50630 * TODO: Replace ext2fs with jfs as an example. Add an item for
50631 adding journal playback for ext2fs.
50632 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50633 (pkgdata_MODULES): Added ext2.mod.
50634 (ext2_mod_SOURCES): New variable.
50635 (ext2_mod_CFLAGS): Likewise.
50636 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50637 * include/pupa/misc.h (pupa_strncpy): New prototype.
50638 (pupa_strcat): Likewise.
50639 (pupa_strncmp): Likewise.
50640 * kern/misc.c (pupa_strcat): Enable function.
50641 (pupa_strncpy): New function.
50642 (pupa_strncmp): Likewise.
50643 * fs/ext2.c: New file.
f19dbdb7 50644
bfd30f06 50645 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50646 when the read failed before retrying.
50647 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50648 (_FILE_OFFSET_BITS): Likewise.
50649 * configure.ac: Added AC_SYS_LARGEFILE.
50650
98d15063 506512003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50652
50653 * genmk.rb (PModule#rule): Make sure to get only symbol names
50654 from the output of nm.
59cad637 50655 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50656
18d9c7cd 506572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50658
50659 I forgot to check in these changes for a long time. This adds
50660 incomplete support for VGA console, and this is still very
50661 buggy. Also, a lot of consideration is required for I18N,
50662 UNICODE, and VGA font issues. Therefore, assume that this is
50663 such that "better than nothing".
f19dbdb7 50664
18d9c7cd 50665 * font/manager.c: New file.
50666 * include/pupa/font.h: Likewise.
50667 * include/pupa/i386/pc/vga.h: Likewise.
50668 * term/i386/pc/vga.c: Likewise.
50669 * util/unifont2pff.rb: Likewise.
50670
50671 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50672 (pkgdata_MODULES): Added vga.mod and font.mod.
50673 (vga_mod_SOURCES): New variables.
50674 (vga_mod_CFLAGS): Likewise.
50675 (font_mod_SOURCES): Likewise.
50676 (font_mod_CFLAGS): Likewise.
50677
50678 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50679
50680 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50681 (struct pupa_term): Added init and fini.
18d9c7cd 50682 Changed the argument of putchar to pupa_uint32_t.
50683
50684 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50685 (pupa_console_real_putchar): New prototype.
50686 (pupa_console_putchar): Removed.
50687 (pupa_console_checkkey): Exported.
50688 (pupa_console_getkey): Likewise.
50689
50690 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50691 characters.
50692
50693 * kern/term.c (pupa_term_set_current): Rewritten.
50694 (pupa_putchar): Likewise.
50695 (pupa_putcode): New function.
50696
50697 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50698 (pupa_console_real_putchar): ... this.
50699 (pupa_vga_set_mode): New function.
50700 (pupa_vga_get_font): Likewise.
50701
50702 * normal/command.c: Include pupa/term.h.
50703 (terminal_command): New function.
50704 (pupa_command_init): Register the command "terminal".
50705
50706 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50707 (DISP_UP): Likewise.
50708 (DISP_RIGHT): Likewise.
50709 (DISP_DOWN): Likewise.
50710 (DISP_HLINE): Likewise.
50711 (DISP_VLINE): Likewise.
50712 (DISP_UL): Likewise.
50713 (DISP_UR): Likewise.
50714 (DISP_LL): Likewise.
50715 (DISP_LR): Likewise.
50716
50717 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50718
977329f5 507192003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50720
50721 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50722 FIX. Reverse the path_list.
50723
50724 * include/pupa/normal.h: Export pupa_register_command and
50725 pupa_unregister_command.
50726
50727 * hello/hello.c (pupa_cmd_hello): New module.
50728 * conf/i386-pc.rmk: Added hello.mod.
50729
1f5ab428 507302003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50731
50732 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50733
1f5ab428 50734 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50735 (compress_kernel): New variable.
50736 (generate_image): Heavily modified to support compressing a
50737 large part of the core image.
50738
50739 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50740 leak.
50741 (pupa_util_load_image): New function.
50742
50743 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50744 (pupa_compressed_size): New variable.
50745 (codestart): Enable Gate A20 here.
50746 Decompress the compressed part of the core image.
50747 Rearrange the code to put functions and variables which are
50748 required for initialization in the non-compressed part.
50749 Include lzo1x.S.
50750
50751 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50752 here.
50753
50754 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50755
f19dbdb7 50756 * include/pupa/i386/pc/kernel.h
1f5ab428 50757 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50758 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50759 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50760 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50761 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50762
50763 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50764
50765 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50766 (Utility#rule): Likewise.
50767
50768 * configure.ac: Check if LZO is available.
50769
ce5bf700 507702003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50771
50772 * include/pupa/normal.h: New file.
50773 * include/pupa/setjmp.h: Likewise.
50774 * include/pupa/i386/setjmp.h: Likewise.
50775 * normal/cmdline.c: Likewise.
50776 * normal/command.c: Likewise.
50777 * normal/main.c: Likewise.
50778 * normal/menu.c: Likewise.
50779 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50780
ce5bf700 50781 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50782 (pupa_rescue_cmd_initrd): Likewise.
50783
50784 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50785 Likewise.
50786
50787 * kern/i386/pc/startup.S (translation_table): New variable.
50788 (translate_keycode): New function.
50789 (pupa_console_getkey): Call translate_keycode.
50790
50791 * kern/rescue.c (attempt_normal_mode): New function.
50792 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50793 it failed, print a message.
50794
50795 * kern/mm.c (pupa_real_malloc): Print more information when a
50796 free magic is broken.
50797 (pupa_free): If the first free header is not free actually, set
50798 it to P.
50799
50800 * kern/main.c (pupa_load_normal_mode): Just load the module
50801 "normal".
50802 (pupa_main): Don't print the message
50803 "Entering into rescue mode..." here.
50804
50805 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50806 Declared.
50807 (pupa_rescue_cmd_initrd): Likewise.
50808 (pupa_rescue_cmd_initrd): Likewise.
50809
50810 * include/pupa/symbol.h (FUNCTION): Specify the type.
50811 (VARIABLE): Likewise.
50812
50813 * include/pupa/err.h (pupa_err_t): Added
50814 PUPA_ERR_UNKNOWN_COMMAND.
50815
50816 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50817 (pupa_dl_get_prefix): Likewise.
50818
50819 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50820 Added _chain.mod and _linux.mod instead of chain.mod and
50821 linux.mod.
50822 (chain_mod_SOURCES): Renamed to ...
50823 (_chain_mod_SOURCES): ... this.
50824 (chain_mod_CFLAGS): Renamed to ...
50825 (_chain_mod_CFLAGS): ... this.
50826 (linux_mod_SOURCES): Renamed to ...
50827 (_linux_mod_SOURCES): ... this.
50828 (linux_mod_CFLAGS): Renamed to ...
50829 (_linux_mod_CFLAGS): ... this.
50830 (normal_mod_SOURCES): New variable.
50831 (normal_mod_CFLAGS): Likewise.
50832 (normal_mod_ASFLAGS): Likewise.
50833
508342003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50835
50836 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50837 possible.
50838
fe6b695a 50839 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50840 recursively.
50841 (pupa_dl_unref): Unrefer depending modules recursively.
50842 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50843 a module is unloaded before one depending on that module is
50844 unloaded.
50845 (pupa_dl_unload): Unload depending modules explicitly,
50846 if possible.
50847
c04da074 508482003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50849
50850 * include/pupa/i386/pc/linux.h: New file.
50851 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50852
c04da074 50853 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50854 Removed.
50855 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50856 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50857 of PUPA_CHAINLOADER_BOOT_SECTOR.
50858
50859 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50860 (pupa_linux_prot_size): New variable.
50861 (pupa_linux_tmp_addr): Likewise.
50862 (pupa_linux_real_addr): Likewise.
50863 (pupa_linux_boot_zimage): New function.
50864 (pupa_linux_boot_bzimage): Likewise.
50865
50866 * kern/i386/pc/init.c (struct mem_region): New structure.
50867 (MAX_REGIONS): New macro.
50868 (mem_regions): New variable.
50869 (num_regions): Likewise.
50870 (pupa_os_area_addr): Likewise.
50871 (pupa_os_area_size): Likewise.
50872 (pupa_lower_mem): Likewise.
50873 (pupa_upper_mem): Likewise.
50874 (add_mem_region): New function.
50875 (compact_mem_regions): Likewise.
50876 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50877 the size of the conventional memory and that of so-called upper
50878 memory (before the first memory hole).
50879 Instead of adding each found region to free memory, use
50880 add_mem_region and add them after removing overlaps.
50881 Also, add only 1/4 of the upper memory to free memory. The rest
50882 is used for loading OS images. Maybe this is ad hoc, but this
50883 makes it much easier to relocate OS images when booting.
50884
50885 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50886 (pupa_enter_rescue_mode): Don't register initrd and module.
50887
50888 * kern/mm.c: Include pupa/dl.h.
50889
50890 * kern/main.c: Include pupa/file.h and pupa/device.h.
50891
50892 * kern/loader.c (pupa_loader_load_module_func): Removed.
50893 (pupa_loader_load_module): Likewise.
50894
50895 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50896 ``.o''.
50897
50898 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50899 (pupa_linux_tmp_addr): Likewise.
50900 (pupa_linux_real_addr): Likewise.
50901 (pupa_linux_boot_zimage): Likewise.
50902 (pupa_linux_boot_bzimage): Likewise.
50903
50904 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50905 (pupa_upper_mem): Likewise.
50906 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50907 module is too dangerous.
50908
50909 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50910 (pupa_os_area_size): Likewise.
50911 (pupa_loader_set): Remove the first argument. Loader doesn't
50912 manage modules or initrd any longer.
50913 (pupa_loader_load_module): Removed.
50914
50915 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50916 (linux_mod_SOURCES): New variable.
50917 (linux_mod_CFLAGS): Likewise.
50918
a13f9237 509192003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50920
50921 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50922 the length of a blocklist correctly.
50923
50924 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50925 Use ioctl only if the OS file is a block device.
50926 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50927 not very useful for normal files.
50928
50929 * kern/main.c (pupa_set_root_dev): New function.
50930 (pupa_load_normal_mode): Likewise.
50931 (pupa_main): Call those above.
50932
50933 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50934 pupa_uint16_t.
50935
50936 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50937
a5ffe966 509382003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50939
50940 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50941 (setup): Configure the installed partition information and the
50942 dl prefix.
50943
50944 * loader/i386/pc/chainloader.c (my_mod): New variable.
50945 (pupa_chainloader_unload): New function.
50946 (pupa_rescue_cmd_chainloader): Refer itself.
50947 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50948
50949 * kern/i386/pc/startup.S (install_partition): Removed.
50950 (version_string): Likewise.
50951 (config_file): Likewise.
50952 (pupa_install_dos_part): New variable.
50953 (pupa_install_bsd_part): Likewise.
50954 (pupa_prefix): Likewise.
50955 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50956
50957 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50958 and pupa/misc.h.
50959 (make_install_device): New function.
50960 (pupa_machine_init): Set the dl prefix.
50961
50962 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50963 (buf): Renamed to ...
50964 (linebuf): ... this.
50965 (pupa_rescue_cmd_prefix): New function.
50966 (pupa_rescue_cmd_insmod): Likewise.
50967 (pupa_rescue_cmd_rmmod): Likewise.
50968 (pupa_rescue_cmd_lsmod): Likewise.
50969 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50970 rmmod and lsmod.
50971
50972 * kern/mm.c (pupa_memalign): If failed even after invalidating
50973 disk caches, unload unneeded modules and retry.
50974
50975 * kern/misc.c (pupa_memmove): New function.
50976 (pupa_memcpy): Removed.
50977 (pupa_strcpy): New function.
50978 (pupa_itoa): Made static.
50979
50980 * kern/dl.c (pupa_dl_iterate): New function.
50981 (pupa_dl_ref): Likewise.
50982 (pupa_dl_unref): Likewise.
50983 (pupa_dl_unload): Return if succeeded or not.
50984 (pupa_dl_unload_unneeded): New function.
50985 (pupa_dl_unload_all): Likewise.
50986 (pupa_dl_init): Renamed to ...
50987 (pupa_dl_set_prefix): ... this.
50988 (pupa_dl_get_prefix): New function.
50989
50990 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50991 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50992 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50993 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50994 (pupa_install_dos_part): Declared.
50995 (pupa_install_bsd_part): Likewise.
50996 (pupa_prefix): Likewise.
50997 (pupa_boot_drive): Likewise.
50998
50999 * include/pupa/types.h: Fix a typo.
51000
51001 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51002 pupa_memmove.
51003 (pupa_memmove): Declared.
51004 (pupa_strcpy): Likewise.
51005
51006 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51007 pupa_mod_init takes one argument, its own module.
51008 (pupa_dl_unload_unneeded): Declared.
51009 (pupa_dl_unload_all): Likewise.
51010 (pupa_dl_ref): Likewise.
51011 (pupa_dl_unref): Likewise.
51012 (pupa_dl_iterate): Likewise.
51013 (pupa_dl_init): Renamed to ...
51014 (pupa_dl_set_prefix): ... this.
51015 (pupa_dl_get_prefix): Declared.
51016
51017 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51018 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51019 unloaded.
51020 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51021 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51022
51023 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51024 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51025
012d7999 510262003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51027
51028 * util/i386/pc/pupa-setup.c (setup): Define the internal
51029 function find_first_partition_start at the top level, because GCC
51030 3.0.x cannot compile internal functions in deeper scopes
51031 correctly.
51032 (find_root_device): Use lstat instead of stat.
51033 Don't follow symbolic links.
51034 Fix the path-constructing code.
51035
51036 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51037 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51038 by a BLKGETSIZE ioctl first, because block devices don't fill
51039 the member st_mode of the structure stat on Linux.
51040 [__linux__] (linux_find_partition): Use a temporary buffer
51041 REAL_DEV for the working space. Copy it to DEV before returning.
51042 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51043 buffer cache consistent.
51044 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51045 strncmp. The previous value was merely wrong.
51046 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51047
51048 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51049 FAT size is 12. The previous value was merely wrong.
51050
51051 * kern/main.c (pupa_main): Don't split the starting message from
51052 newlines.
51053
51054 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51055 LF, because BIOS goes crazy about character attributes in this
51056 case.
51057
1cc73a62 510582003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51059
51060 * include/i386/pc/util/biosdisk.h: New file.
51061 * util/i386/pc/biosdisk.c: Likewise.
51062 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51063
1cc73a62 51064 * Makefile.in (INCLUDE_DISTFILES): Added
51065 include/pupa/i386/pc/util/biosdisk.h.
51066 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51067 directory util/i386/pc.
51068 (install-local): Added a rule for sbin_UTILITIES.
51069 (uninstall): Likewise.
51070
51071 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51072
51073 * util/misc.c (xrealloc): New function.
51074 (pupa_malloc): Likewise.
51075 (pupa_free): Likewise.
51076 (pupa_realloc): Likewise.
51077 (pupa_stop): Likewise.
51078 (pupa_putchar): Likewise.
51079
51080 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51081
51082 * include/pupa/util/misc.h (xrealloc): Declared.
51083
51084 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51085 macro.
51086 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51087 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51088
51089 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51090 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51091
51092 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51093 way should be implemented.
51094 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51095
51096 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51097 the size of NAME for safety.
51098 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51099 0x88.
51100
51101 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51102 (pupa_setup_SOURCES): Likewise.
51103
51104 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51105
08b70fe8 511062002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51107
51108 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51109 bunch of pushl's from pusha, because this destroys the return
51110 value.
51111
62ddcc8f 511122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51113
51114 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51115 This means that any missing prototypes could be fatal. Also, you
51116 must take care when writing assembly code. See the comments at
51117 the beginning of startup.S, for more details.
f19dbdb7 51118
62ddcc8f 51119 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51120 compilation mechanism.
51121 (pupa_chainloader_real_boot): Likewise.
51122 (pupa_biosdisk_rw_int13_extensions): Likewise.
51123 (pupa_biosdisk_rw_standard): Likewise.
51124 (pupa_biosdisk_check_int13_extensions): Likewise.
51125 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51126 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51127 (pupa_get_memsize): Likewise.
51128 (pupa_get_mmap_entry): Likewise.
51129 (pupa_console_putchar): Likewise.
51130 (pupa_console_setcursor): Likewise.
51131 (pupa_getrtsecs): Use pushl instead of push.
51132
51133 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51134 memory instead of the stack for a mmap entry, because some
51135 BIOSes may ignore the maximum size and overflow.
51136
51137 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51138
51139 * genmk.rb (PModule#rule): Compile automatically generated
51140 sources with module-specific CFLAGS as well as other sources.
51141
9962ed99 511422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51143
51144 * configure.ac: Check ld.
51145 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51146 respectively, before checking endianness and sizes.
51147
51148 * Makefile.in (LD): New variable.
f19dbdb7 51149
abdfc3c5 511502002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51151
51152 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51153
6a161fa9 511542002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51155
51156 * Changelog: New file.
51157